{ "version": 3, "sources": ["apps/partner-center-client/src/app/sales-teams/sales-team.ts", "apps/partner-center-client/src/app/sales-teams/ajax-sales-teams.service.ts"], "sourcesContent": ["export interface SalesTeamInternalApiInterface {\n foreign_keys?: {\n partner_id: string;\n market_id: string;\n };\n group_id?: string;\n name?: string;\n updated?: Date;\n}\n\nexport class SalesTeamInterface {\n partnerId?: string;\n marketId?: string;\n groupId?: string;\n teamName: string;\n updated?: Date;\n}\n\nexport class SalesTeam implements SalesTeamInterface {\n partnerId: string;\n marketId: string;\n groupId: string;\n teamName: string;\n updated: Date;\n\n constructor(group: SalesTeamInterface) {\n this.partnerId = group.partnerId;\n this.marketId = group.marketId;\n this.groupId = group.groupId;\n this.teamName = group.teamName;\n this.updated = group.updated;\n }\n\n public static fromApi(data: SalesTeamInternalApiInterface): SalesTeam {\n return new SalesTeam({\n partnerId: data.foreign_keys.partner_id,\n marketId: data.foreign_keys.market_id,\n groupId: data.group_id,\n teamName: data.name,\n updated: data.updated,\n });\n }\n\n public static sortSalesTeamsAlphabetically(salesTeams: SalesTeam[]): SalesTeam[] {\n return salesTeams.sort((a, b) => {\n const aName = a.teamName.toLowerCase(),\n bName = b.teamName.toLowerCase();\n return aName < bName ? -1 : 1;\n });\n }\n}\n\nexport type SalesTeamId = string;\n", "import { Inject, Injectable } from '@angular/core';\nimport { Salesperson, SalesTeamInterface, SalesTeamSdk, SalesTeamService } from '@vendasta/sales';\nimport { Observable } from 'rxjs';\nimport { first, map, pluck } from 'rxjs/operators';\nimport { ApiService } from '../api-service/api.service';\nimport { PartnerService } from '../core/partner.service';\nimport { SalesToolHostService } from '../sales/salestool.host.service';\nimport { SalesTeam, SalesTeamId } from './sales-team';\n\n@Injectable({ providedIn: 'root' })\nexport class AjaxSalesTeamsService {\n constructor(\n private api: ApiService,\n private partnerService: PartnerService,\n private salesToolHostService: SalesToolHostService,\n @Inject(SalesTeamService) private salesSdk: SalesTeamSdk,\n ) {}\n\n list(marketId?: string): Observable {\n return this.salesSdk.list(this.partnerService.partnerId, marketId, null, 1000).pipe(\n pluck('results'),\n map((results: SalesTeamInterface[]) => {\n if (results) {\n return results.map(\n (t) =>\n ({\n partnerId: t.partnerId,\n marketId: t.marketId,\n groupId: t.groupId,\n teamName: t.teamName,\n updated: t.updated,\n } as SalesTeam),\n );\n }\n return [];\n }),\n );\n }\n\n getMembers(groupId: string): Observable {\n return this.salesSdk.getMembers(groupId).pipe(map((v: Salesperson[]) => v.map((sp) => sp.salespersonId)));\n }\n\n addMembers(groupId: string, salespersonIds: string[]): Observable {\n const params = {\n groupId: groupId,\n salespersonIds: salespersonIds,\n };\n const path = '/internalApi/v1/sales-teams/add-members/';\n const url = this.salesToolHostService.host() + path;\n return this.api.post(url, params);\n }\n\n create(marketId: string, teamName: string): Observable {\n const params = {\n partnerId: this.partnerService.partnerId,\n marketId: marketId,\n name: teamName,\n };\n const path = '/internalApi/v1/sales-teams/create/';\n const url = this.salesToolHostService.host() + path;\n return this.api.post(url, params).pipe(\n first(),\n map((salesTeamId) => salesTeamId as string),\n );\n }\n\n get(salesTeamId: string): Observable {\n const params = {\n groupId: salesTeamId,\n };\n const path = '/internalApi/v1/sales-teams/get/';\n const url = this.salesToolHostService.host() + path;\n return this.api.post(url, params).pipe(\n first(),\n map((response) => SalesTeam.fromApi(response.result)),\n );\n }\n\n removeMember(teamId: string, memberId: string): Observable {\n const params = {\n teamId: teamId,\n salespersonIds: [memberId],\n };\n const path = '/internalApi/v1/sales-teams/remove-members/';\n const url = this.salesToolHostService.host() + path;\n return this.api.post(url, params);\n }\n\n delete(salesTeamId: string): Observable {\n const params = {\n groupId: salesTeamId,\n };\n const path = '/internalApi/v1/sales-teams/delete/';\n const url = this.salesToolHostService.host() + path;\n return this.api.post(url, params);\n }\n}\n"], "mappings": "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", "names": ["SalesTeam", "constructor", "group", "partnerId", "marketId", "groupId", "teamName", "updated", "fromApi", "data", "foreign_keys", "partner_id", "market_id", "group_id", "name", "sortSalesTeamsAlphabetically", "salesTeams", "sort", "a", "b", "aName", "toLowerCase", "bName", "AjaxSalesTeamsService", "constructor", "api", "partnerService", "salesToolHostService", "salesSdk", "list", "marketId", "partnerId", "pipe", "pluck", "map", "results", "t", "groupId", "teamName", "updated", "getMembers", "v", "sp", "salespersonId", "addMembers", "salespersonIds", "params", "url", "host", "post", "create", "name", "first", "salesTeamId", "get", "response", "SalesTeam", "fromApi", "result", "removeMember", "teamId", "memberId", "delete", "\u0275\u0275inject", "ApiService", "PartnerService", "SalesToolHostService", "SalesTeamService", "factory", "\u0275fac", "providedIn", "_AjaxSalesTeamsService"] }