{"code":"var User = /** @class */ (function () {\r\n    function User(data, token) {\r\n        if (data === void 0) { data = {}; }\r\n        this.slug = '';\r\n        this.isStaff = false;\r\n        this.tagline = data.tagline || '';\r\n        this.username = data.username || \"\";\r\n        this.name = data.name || \"\";\r\n        this.email = data.email || \"\";\r\n        this.isStaff = data.is_staff || false;\r\n        this.id = data.id || \"\";\r\n        this.orgRoles = data.orgRoles || {};\r\n        if ('slug' in data) {\r\n            this.slug = data.slug;\r\n        }\r\n        if (data.avatar) {\r\n            this.avatarUrl = data.avatar.thumbnail;\r\n        }\r\n        if (data.created_at) {\r\n            this.creationDate = new Date(data.created_at);\r\n        }\r\n        else {\r\n            this.creationDate = new Date();\r\n        }\r\n        this.token = data.token || token || null;\r\n    }\r\n    User.prototype.toJson = function () {\r\n        var rawData = {\r\n            \"username\": this.username,\r\n            \"name\": this.name,\r\n            \"email\": this.email,\r\n            \"created_at\": this.creationDate,\r\n            \"is_staff\": this.isStaff,\r\n            \"id\": this.id,\r\n            \"token\": this.token,\r\n            \"avatar\": {},\r\n            \"orgRoles\": this.orgRoles\r\n        };\r\n        if (this.avatarUrl) {\r\n            rawData.avatar[\"thumbnail\"] = this.avatarUrl;\r\n        }\r\n        return rawData;\r\n    };\r\n    User.Unserialize = function (obj) {\r\n        var user = new User(obj);\r\n        var server = undefined;\r\n        if (obj['server']) {\r\n            server = obj['server'];\r\n        }\r\n        return { user: user, server: server };\r\n    };\r\n    User.prototype.getFullName = function () {\r\n        var name = \"\";\r\n        if (this.name) {\r\n            name = this.name;\r\n        }\r\n        else {\r\n            name = this.username;\r\n        }\r\n        return name;\r\n    };\r\n    User.prototype.getUsername = function () {\r\n        return \"@\" + this.username;\r\n    };\r\n    User.prototype.getAvatar = function () {\r\n        if (this.avatarUrl) {\r\n            return this.avatarUrl;\r\n        }\r\n        else {\r\n            return \"\";\r\n        }\r\n    };\r\n    User.prototype.setOrgRoles = function (roles) {\r\n        this.orgRoles = roles;\r\n    };\r\n    User.prototype.canReadProperties = function (orgSlug) {\r\n        if (orgSlug in this.orgRoles) {\r\n            return this.isStaff || this.orgRoles[orgSlug].permissions['can_read_device_properties'] || false;\r\n        }\r\n        return this.isStaff;\r\n    };\r\n    User.prototype.canModifyDevice = function (orgSlug) {\r\n        if (orgSlug in this.orgRoles) {\r\n            return this.isStaff || this.orgRoles[orgSlug].permissions['can_modify_device'] || false;\r\n        }\r\n        return this.isStaff;\r\n    };\r\n    User.prototype.canModifyStreamVariables = function (orgSlug) {\r\n        if (orgSlug in this.orgRoles) {\r\n            return this.isStaff || this.orgRoles[orgSlug].permissions['can_modify_stream_variables'] || false;\r\n        }\r\n        return this.isStaff;\r\n    };\r\n    User.prototype.canResetDevice = function (orgSlug) {\r\n        if (orgSlug in this.orgRoles) {\r\n            return this.isStaff || this.orgRoles[orgSlug].permissions['can_reset_device'] || false;\r\n        }\r\n        return this.isStaff;\r\n    };\r\n    return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=user.js.map","map":{"version":3,"file":"user.js","sourceRoot":"","sources":["../src/models/user.ts"],"names":[],"mappings":"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"},"dts":{"name":"/Users/jheadley/Documents/GitHub/ts-iotile-cloud/models/user.d.ts","text":"import { Membership } from './membership';\r\nimport { ServerInformation } from './server-information';\r\nexport declare class User {\r\n    slug: string;\r\n    tagline: string;\r\n    username: string;\r\n    name: string;\r\n    isStaff: boolean;\r\n    email: string;\r\n    avatarUrl?: string;\r\n    creationDate: Date;\r\n    token: string;\r\n    id: string;\r\n    private orgRoles;\r\n    constructor(data?: any, token?: string);\r\n    toJson(): any;\r\n    static Unserialize(obj: {\r\n        [key: string]: any;\r\n    }): {\r\n        user: User;\r\n        server: ServerInformation | undefined;\r\n    };\r\n    getFullName(): string;\r\n    getUsername(): string;\r\n    getAvatar(): string;\r\n    setOrgRoles(roles: {\r\n        [key: string]: Membership;\r\n    }): void;\r\n    canReadProperties(orgSlug: string): boolean;\r\n    canModifyDevice(orgSlug: string): boolean;\r\n    canModifyStreamVariables(orgSlug: string): boolean;\r\n    canResetDevice(orgSlug: string): boolean;\r\n}\r\n"}}
