{ "version": 3, "sources": ["apps/partner-center-client/src/app/concierge/core/concierge-host.service.ts", "apps/partner-center-client/src/app/concierge/users/DigitalAgent.ts", "apps/partner-center-client/src/app/concierge/users/concierge-users.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { Environment, EnvironmentService } from '@galaxy/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConciergeHostService {\n private hosts: Map = new Map([\n [Environment.LOCAL, 'http://localhost:8090'],\n [Environment.TEST, 'https://arm-test.appspot.com'],\n [Environment.DEMO, 'https://arm-demo.appspot.com'],\n [Environment.PROD, 'https://task-manager.biz'],\n ]);\n\n private env: Environment;\n\n constructor(private environment: EnvironmentService) {}\n\n get conciergeHost(): string {\n if (!this.env) {\n this.env = this.environment.getEnvironment();\n }\n\n return this.hosts.get(this.env);\n }\n}\n", "import { DigitalAgent as ApiDigitalAgent } from '@vendasta/task-manager';\n\nexport interface DigitalAgentInterface {\n subjectId: string;\n userId: string;\n partnerId: string;\n email: string;\n firstName?: string;\n lastName?: string;\n accessiblePartnerIds: string[];\n partnerPermissions?: { [key: string]: PartnerPermissions };\n}\n\nexport interface ApiAgent {\n digital_agent_id: string;\n _user_id: string;\n partner_id: string;\n email: string;\n first_name?: string;\n last_name?: string;\n partner_permissions: {\n [key: string]: {\n // do nothing.\n };\n };\n _accessible_partner_ids: string[];\n}\n\nexport class DigitalAgent implements DigitalAgentInterface {\n subjectId: string;\n userId: string;\n partnerId: string;\n email: string;\n firstName?: string;\n lastName?: string;\n accessiblePartnerIds: string[];\n partnerPermissions: { [key: string]: PartnerPermissions };\n constructor(agent: DigitalAgentInterface) {\n this.subjectId = agent.subjectId;\n this.userId = agent.userId;\n this.partnerId = agent.partnerId;\n this.email = agent.email;\n this.firstName = agent.firstName;\n this.lastName = agent.lastName;\n this.accessiblePartnerIds = agent.accessiblePartnerIds;\n if (agent.partnerPermissions != null && Object.keys(agent.partnerPermissions).length > 0) {\n this.partnerPermissions = agent.partnerPermissions;\n } else {\n this.partnerPermissions = { [agent.partnerId]: {} };\n }\n }\n\n static fromApi(agent: ApiDigitalAgent): DigitalAgent {\n const partnerPermissions: { [partnerId: string]: PartnerPermissions } = {};\n for (const partnerId in agent.partnerPermissions) {\n const apiPermissions = agent.partnerPermissions[partnerId];\n if (apiPermissions) {\n partnerPermissions[partnerId] = {\n can_access: apiPermissions.canAccess,\n can_delete_tasks: apiPermissions.isManager,\n };\n }\n }\n return new DigitalAgent({\n subjectId: agent.subjectId,\n userId: agent.userId,\n partnerId: agent.partnerId,\n email: agent.email,\n firstName: agent.firstName,\n lastName: agent.lastName,\n partnerPermissions: partnerPermissions,\n accessiblePartnerIds: agent.accessiblePartnerIds,\n });\n }\n}\n\nexport interface PartnerPermissions {\n can_access?: boolean;\n can_delete_tasks?: boolean;\n}\n", "import { Injectable } from '@angular/core';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { catchError, finalize, map, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport { GetImpersonationTokenRequest, GetTokenRequest, UserIAMApiService, UserIdentifier } from '@vendasta/iam';\nimport {\n CreateDigitalAgentRequest,\n DigitalAgentSdkService,\n Permissions,\n UpdateDigitalAgentRequest,\n} from '@vendasta/task-manager';\nimport { ApiError } from '../../api-service/api.service';\nimport { ConciergeHostService } from '../core/concierge-host.service';\nimport { DigitalAgent, DigitalAgentInterface } from './DigitalAgent';\n\nexport const PERMISSIONS_UPDATED = 'permissionsUpdated';\nexport const UNASSIGNED = new DigitalAgent({\n subjectId: 'Unassigned',\n userId: 'Unassigned',\n email: 'Unassigned',\n partnerId: '',\n accessiblePartnerIds: [],\n});\n\nexport class ConciergeUserNotification {\n type: string;\n message: string;\n code: number;\n isError: boolean;\n\n constructor(notification: ApiError | { message: string; code: number }, type: string, isError = false) {\n this.type = type;\n this.message = notification.message;\n this.code = notification.code;\n this.isError = isError;\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConciergeUserService {\n private users$$: BehaviorSubject = new BehaviorSubject([]);\n private loading$$: BehaviorSubject = new BehaviorSubject(true);\n private assignees$: Observable;\n private selectedUser$$: BehaviorSubject = new BehaviorSubject(null);\n private agentMap$$: BehaviorSubject> = new BehaviorSubject>(\n new Map(),\n );\n\n constructor(\n private host: ConciergeHostService,\n private snackbarService: SnackbarService,\n private translateService: TranslateService,\n private userIAMApiService: UserIAMApiService,\n private digitalAgentApiService: DigitalAgentSdkService,\n ) {\n this.assignees$ = this.users.pipe(\n map((agents: DigitalAgent[]) => {\n const newAgents = Object.assign([], agents);\n newAgents.unshift(UNASSIGNED);\n return newAgents;\n }),\n shareReplay(1),\n );\n this.getAgentMap();\n }\n\n public loadUsers(partnerId: string, onlySameNamespace = true): void {\n this.digitalAgentApiService\n .listAssigneesForPartner(partnerId, onlySameNamespace)\n .pipe(\n map((agents) => agents.map((apiAgent) => DigitalAgent.fromApi(apiAgent))),\n finalize(() => this.loading$$.next(false)),\n )\n .subscribe(\n (response) => {\n const users = response.filter((user) => user.email !== UNASSIGNED.email);\n this.users$$.next(users);\n return this.users$$.asObservable();\n },\n () => {\n this.snackbarService.errorSnack(this.translateService.instant('CONCIERGE.USERS.LOAD_ERROR'));\n },\n );\n }\n\n get users(): Observable {\n return this.users$$.asObservable();\n }\n\n get assignees(): Observable {\n return this.assignees$;\n }\n\n get selectedUser$(): Observable {\n return this.selectedUser$$.asObservable();\n }\n\n set selectedUser(user: DigitalAgent) {\n this.selectedUser$$.next(user);\n }\n\n get agentMap(): Observable> {\n return this.agentMap$$.asObservable();\n }\n\n getAgentMap(): void {\n this.assignees\n .pipe(\n catchError(() => {\n this.snackbarService.errorSnack(this.translateService.instant('CONCIERGE.USERS.ASSIGNEES.LOAD_ERROR'));\n return of([]);\n }),\n startWith([]),\n map((agents: DigitalAgent[]): Map => {\n const agentMap = new Map();\n if (agents) {\n agents.forEach((agent) => agentMap.set(agent.subjectId, agent));\n }\n return agentMap;\n }),\n shareReplay({ bufferSize: 1, refCount: true }),\n )\n .subscribe(this.agentMap$$);\n }\n\n get loading(): Observable {\n return this.loading$$.asObservable();\n }\n\n public createUser(\n partnerId: string,\n email: string,\n firstName: string,\n lastName: string,\n sendWelcome: boolean,\n isManager: boolean,\n ): void {\n const req = new CreateDigitalAgentRequest({\n partnerId: partnerId,\n agentEmail: email,\n firstName: firstName,\n lastName: lastName,\n sendWelcome: sendWelcome,\n partnerPermissions: {\n [partnerId]: { isManager: isManager, canAccess: true },\n },\n });\n this.loading$$.next(true);\n this.digitalAgentApiService\n .createDigitalAgent(req)\n .pipe(finalize(() => this.loading$$.next(false)))\n .subscribe(\n (response) => {\n const allUsers = this.users$$.getValue();\n const newAgent = DigitalAgent.fromApi(response);\n allUsers.push(newAgent);\n allUsers.sort();\n this.users$$.next(allUsers);\n this.snackbarService.successSnack(this.translateService.instant('CONCIERGE.USERS.CREATE.SUCCESS_MESSAGE'));\n },\n () => {\n this.snackbarService.errorSnack(this.translateService.instant('CONCIERGE.USERS.CREATE.ERROR_MESSAGE'));\n },\n );\n }\n\n public createUserWithoutAlert(\n partnerId: string,\n email: string,\n firstName: string,\n lastName: string,\n sendWelcome: boolean,\n isManager: boolean,\n ): Observable {\n const req = new CreateDigitalAgentRequest({\n partnerId: partnerId,\n agentEmail: email,\n firstName: firstName,\n lastName: lastName,\n sendWelcome: sendWelcome,\n partnerPermissions: {\n [partnerId]: { isManager: isManager, canAccess: true },\n },\n });\n return this.digitalAgentApiService.createDigitalAgent(req).pipe(\n map((response) => {\n return response?.subjectId !== '';\n }),\n );\n }\n\n public revokeUserWithoutAlert(partnerId: string, agent: DigitalAgent): Observable {\n const permissions = this.buildPermissions(partnerId, false, false);\n const req = new UpdateDigitalAgentRequest({\n partnerId: agent.partnerId,\n agentEmail: agent.email,\n subjectId: agent.subjectId,\n firstName: agent.firstName,\n lastName: agent.lastName,\n partnerPermissions: permissions,\n });\n return this.digitalAgentApiService.updateDigitalAgent(req).pipe(\n map(() => true),\n catchError(() => of(false)),\n );\n }\n\n public revokeUser(partnerId: string, agent: DigitalAgent): void {\n const permissions = this.buildPermissions(partnerId, false, false);\n const req = new UpdateDigitalAgentRequest({\n partnerId: agent.partnerId,\n agentEmail: agent.email,\n subjectId: agent.subjectId,\n firstName: agent.firstName,\n lastName: agent.lastName,\n partnerPermissions: permissions,\n });\n this.digitalAgentApiService\n .updateDigitalAgent(req)\n .pipe(\n tap(() => {\n this.loading$$.next(false);\n }),\n )\n .subscribe(\n () => {\n this.users$$.next(this.users$$.getValue().filter((currentAgent) => agent.email !== currentAgent.email));\n this.snackbarService.successSnack(this.translateService.instant('CONCIERGE.USERS.DELETE.SUCCESS_MESSAGE'));\n },\n () => {\n this.snackbarService.errorSnack(this.translateService.instant('CONCIERGE.USERS.DELETE.ERROR_MESSAGE'));\n },\n );\n }\n\n public getLoginUrl(partnerId: string): string {\n return this.host.conciergeHost + `/${partnerId}/login/`;\n }\n\n public getUser(partnerId: string, subjectId: string): Observable {\n return this.digitalAgentApiService\n .getDigitalAgentsBySubjectIds(partnerId, [subjectId])\n .pipe(map((agents) => (agents?.length > 0 ? DigitalAgent.fromApi(agents[0]) : UNASSIGNED)));\n }\n\n public getMultiUsers(partnerId: string, subjectIds: string[]): Observable {\n return this.digitalAgentApiService\n .getDigitalAgentsBySubjectIds(partnerId, subjectIds)\n .pipe(map((agents) => agents.map((agent) => DigitalAgent.fromApi(agent))));\n }\n\n public editUser(\n partnerId: string,\n user: DigitalAgentInterface,\n sendResetEmail: boolean,\n isManager: boolean,\n ): Observable {\n const partnerPermissions = this.buildPermissions(partnerId, true, isManager);\n const req = new UpdateDigitalAgentRequest({\n partnerId: partnerId,\n agentEmail: user.email,\n subjectId: user.subjectId,\n firstName: user.firstName,\n lastName: user.lastName,\n sendResetEmail: sendResetEmail,\n partnerPermissions: partnerPermissions,\n });\n return this.digitalAgentApiService.updateDigitalAgent(req);\n }\n\n public resendWelcomeEmail(partnerId: string, subjectId: string): void {\n this.digitalAgentApiService\n .sendWelcomeEmailBySubjectId(partnerId, subjectId)\n .pipe(take(1))\n .subscribe(\n () =>\n this.snackbarService.successSnack(\n this.translateService.instant('CONCIERGE.USERS.WELCOME_EMAIL.SUCCESS_MESSAGE'),\n ),\n () =>\n this.snackbarService.errorSnack(this.translateService.instant('CONCIERGE.USERS.WELCOME_EMAIL.ERROR_MESSAGE')),\n );\n }\n\n public resendWelcomeEmailWithoutAlert(\n partnerId: string,\n subjectId: string,\n usePlatformDefaultDomain: boolean,\n ): Observable {\n return this.digitalAgentApiService\n .sendWelcomeEmailBySubjectId(partnerId, subjectId, usePlatformDefaultDomain)\n .pipe(take(1));\n }\n\n public getDisplayName(subjectId: string): string {\n const user = this.agentMap$$.getValue().get(subjectId);\n if (!user) {\n return '';\n }\n let displayName = `${user.firstName || ''} ${user.lastName || ''}`.trim();\n if (displayName === '') {\n displayName = user.email;\n }\n return displayName;\n }\n\n public impersonate(subjectId: string): void {\n this.userIAMApiService\n .getToken(new GetTokenRequest())\n .pipe(\n switchMap((tokenResp) => {\n const impersonator: UserIdentifier = new UserIdentifier({\n token: tokenResp.token,\n });\n const impersonatee: UserIdentifier = new UserIdentifier({\n subjectId,\n });\n return this.userIAMApiService.getImpersonationToken(\n new GetImpersonationTokenRequest({\n impersonator,\n impersonatee,\n }),\n );\n }),\n take(1),\n )\n .subscribe((getImpersonationTokenResp) => {\n const url = `${this.host.conciergeHost}?session_id=${getImpersonationTokenResp.token}`;\n window.open(url, '_blank', 'noopener');\n });\n }\n\n private buildPermissions(partnerId: string, canAccess: boolean, isManager?: boolean): { [key: string]: Permissions } {\n // Build permissions object to the specified partner\n // The permissions will be merged with the existing permissions\n const permissions: { [key: string]: Permissions } = {};\n permissions[partnerId] = new Permissions({ canAccess, isManager });\n return permissions;\n }\n}\n"], "mappings": "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", "names": ["ConciergeHostService", "constructor", "environment", "hosts", "Map", "Environment", "LOCAL", "TEST", "DEMO", "PROD", "conciergeHost", "env", "getEnvironment", "get", "\u0275\u0275inject", "EnvironmentService", "factory", "\u0275fac", "providedIn", "_ConciergeHostService", "DigitalAgent", "constructor", "agent", "subjectId", "userId", "partnerId", "email", "firstName", "lastName", "accessiblePartnerIds", "partnerPermissions", "Object", "keys", "length", "fromApi", "apiPermissions", "can_access", "canAccess", "can_delete_tasks", "isManager", "UNASSIGNED", "DigitalAgent", "subjectId", "userId", "email", "partnerId", "accessiblePartnerIds", "ConciergeUserService", "constructor", "host", "snackbarService", "translateService", "userIAMApiService", "digitalAgentApiService", "users$$", "BehaviorSubject", "loading$$", "selectedUser$$", "agentMap$$", "Map", "assignees$", "users", "pipe", "map", "agents", "newAgents", "Object", "assign", "unshift", "UNASSIGNED", "shareReplay", "getAgentMap", "loadUsers", "partnerId", "onlySameNamespace", "listAssigneesForPartner", "apiAgent", "DigitalAgent", "fromApi", "finalize", "next", "subscribe", "response", "filter", "user", "email", "asObservable", "errorSnack", "instant", "assignees", "selectedUser$", "selectedUser", "agentMap", "catchError", "of", "startWith", "forEach", "agent", "set", "subjectId", "bufferSize", "refCount", "loading", "createUser", "firstName", "lastName", "sendWelcome", "isManager", "req", "CreateDigitalAgentRequest", "agentEmail", "partnerPermissions", "canAccess", "createDigitalAgent", "allUsers", "getValue", "newAgent", "push", "sort", "successSnack", "createUserWithoutAlert", "revokeUserWithoutAlert", "permissions", "buildPermissions", "UpdateDigitalAgentRequest", "updateDigitalAgent", "revokeUser", "tap", "currentAgent", "getLoginUrl", "conciergeHost", "getUser", "getDigitalAgentsBySubjectIds", "length", "getMultiUsers", "subjectIds", "editUser", "sendResetEmail", "resendWelcomeEmail", "sendWelcomeEmailBySubjectId", "take", "resendWelcomeEmailWithoutAlert", "usePlatformDefaultDomain", "getDisplayName", "get", "displayName", "trim", "impersonate", "getToken", "GetTokenRequest", "switchMap", "tokenResp", "impersonator", "UserIdentifier", "token", "impersonatee", "getImpersonationToken", "GetImpersonationTokenRequest", "getImpersonationTokenResp", "url", "window", "open", "Permissions", "\u0275\u0275inject", "ConciergeHostService", "SnackbarService", "TranslateService", "UserIAMApiService", "DigitalAgentSdkService", "factory", "\u0275fac", "providedIn", "_ConciergeUserService"] }