UNPKG

apim-developer-portal1

Version:

API management developer portal

55 lines (49 loc) 1.52 kB
import { UserContract } from "../contracts/user"; import { Utils } from "../utils"; export class User { public id: string; public firstName: string; public lastName: string; public email: string; public state: UserState; public registrationDate: Date; public note: string; public groups?: UserGroup[]; public identities: UserIdentity[]; public isBasicAccount: boolean; constructor(contract: UserContract) { this.id = Utils.getResourceName("users", contract.id, "shortId"); this.firstName = contract.properties.firstName; this.lastName = contract.properties.lastName; this.email = contract.properties.email; this.state = <any>contract.properties.state; this.registrationDate = contract.properties.registrationDate; this.note = contract.properties.note; this.groups = contract.properties.groups; this.identities = contract.properties.identities; this.isBasicAccount = this.identities[0]?.provider === "Basic"; } } export class UserGroup { public id: string; public name: string; public description: string; public builtIn: boolean; public type: UserGroupType; public externalId: string; } export interface UserIdentity { id: string; provider: string; } export enum UserState { active = "active", blocked = "blocked", pending = "pending", deleted = "deleted" } export enum UserGroupType { custom = 0, system = 1, external = 2 }