{ "version": 3, "sources": ["src/app/utilities/items.ts", "src/app/core/file-utilities.ts", "src/app/admin/admin-backend.service.ts"], "sourcesContent": ["import { ItemSummary } from '../admin/items/items.models';\r\nimport { ItemWithMetadata } from '../models/item';\r\nimport { ItemDetailsForTree } from '../root-store/object-tree-store/object-tree.models';\r\n\r\nexport const iconMapping: { [key: string]: string } = {\r\n Building: 'home',\r\n Room: 'meeting_room',\r\n Accessory: 'home_repair_service',\r\n OutdoorFacility: 'beach_access',\r\n Folder: 'folder',\r\n Service: 'engineering',\r\n GiftCard: 'card_giftcard',\r\n Other: 'miscellaneous_services'\r\n}\r\n\r\nexport function getIconName(itemOrItemType: ItemWithMetadata | ItemSummary | ItemDetailsForTree | string): string {\r\n let itemType: string\r\n\r\n if (typeof itemOrItemType === 'string')\r\n itemType = itemOrItemType\r\n else if ('itemType' in itemOrItemType)\r\n itemType = itemOrItemType.itemType\r\n else\r\n itemType = itemOrItemType.type\r\n\r\n return iconMapping[itemType]\r\n}\r\n", "export interface FileWithContents {\r\n name: string\r\n encoded: string | ArrayBuffer\r\n}\r\n\r\nexport async function readFiles(files: File[]) {\r\n let filesRes = files.map(file => {\r\n let reader = new FileReader()\r\n\r\n return new Promise((resolve, reject) => {\r\n // Resolve the promise after reading file\r\n reader.onload = () => {\r\n if (reader.result)\r\n resolve({ name: file.name, encoded: reader.result })\r\n else {\r\n console.error(`FileReader returned no result`)\r\n return reject(`FileReader returned no result`)\r\n }\r\n }\r\n\r\n reader.onerror = e => {\r\n console.error(`FileReader failed on file \"${file.name}\".`, e)\r\n return reject(`FileReader failed on file \"${file.name}\".`)\r\n }\r\n\r\n reader.readAsDataURL(file)\r\n })\r\n })\r\n\r\n return await Promise.all(filesRes)\r\n}\r\n", "import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SchedulerEvent } from '@progress/kendo-angular-scheduler';\r\nimport { from, Observable, of } from 'rxjs';\r\nimport { map, shareReplay, switchMap, tap } from 'rxjs/operators';\r\nimport { OrderBase, PaymentStatus, ReservationSetStatus } from '../cart/cart.model';\r\nimport { defaultCustomerGroupId } from '../core/catalog.constants';\r\nimport { readFiles } from '../core/file-utilities';\r\nimport { ItemService } from '../core/item.service';\r\nimport { GiftCardAccountingModel, GiftCardModel } from '../gift-card/gift-card.models';\r\nimport { AvailabilityPlanWithPricePlans } from '../models/availability-plans';\r\nimport { FieldLookupValue } from '../models/field-lookup-value';\r\nimport { ItemType } from '../models/item';\r\nimport { ItemTreeHierarchy, TreeAndItems } from '../root-store/object-tree-store/object-tree.models';\r\nimport { IdentityResult } from '../user/user.interfaces';\r\nimport { getIconName } from '../utilities/items';\r\nimport { AvailabilityPlan, AvailabilityPlanAppointment } from './availability-plans/models';\r\nimport { AdminHomeModel } from './home/home.model';\r\nimport { ItemEditModel, ItemSummary } from './items/items.models';\r\nimport { BlockAppointmentSummary, CalendarShareModel, CalendarShareType, CalendarSyncDuration, CustomerGroup, ItemPermission, ItemPermissionType, Janitor, MailTemplate, OrderSummary, PagedResult, PricePlan, ReservationPrint } from './models/admin.model';\r\nimport { InvoiceExport, UtilizationExport } from './reservations-export/reservations-export.models';\r\nimport { Role, RoleMemberInfo, RoleSummary } from './role-management/roles.models';\r\nimport { SxcConfig } from './sxc/sxc.model';\r\nimport { CatalogSummary } from './tenants/tenants.models';\r\nimport { TextsAndLabels } from './texts-and-labels/models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AdminBackendService {\r\n private readonly baseUrl = '/api'\r\n private itemsTreeForReservationManagement$: Observable | undefined\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n // #region Items\r\n getItems(itemType: ItemType | null = null): Observable {\r\n const params: { [param: string]: string } = itemType ? { itemType } : {}\r\n\r\n return this.http.get(`${this.baseUrl}/Admin/Items`, { params })\r\n .pipe(map(items => items.map(i => ({ ...i, materialIcon: getIconName(i.itemType) }))))\r\n }\r\n\r\n getItem(id: number): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/Items(${id})`)\r\n }\r\n\r\n addItem(item: ItemEditModel, copyOfItemId: number | null = null): Observable {\r\n const params: { [param: string]: number } = copyOfItemId ? { copyOfItemId } : {}\r\n return this.http.post(`${this.baseUrl}/Admin/Items`, item, { params })\r\n }\r\n\r\n updateItem(item: ItemEditModel): Observable {\r\n return this.http.put(`${this.baseUrl}/Admin/Items(${item.id})`, item)\r\n }\r\n\r\n deleteItem(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}/Admin/Items(${id})`)\r\n }\r\n\r\n getSxcConfig(): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/SxcConfig`)\r\n }\r\n // #endregion\r\n\r\n clearSxcCache(appId: number): Observable {\r\n return this.http.get(`/api/sxc/sys/insights/purge?appid=${appId}`, { responseType: 'text' })\r\n }\r\n\r\n // #region CustomerGroup\r\n\r\n getCustomerGroups(includeFromSharedCatalogs = false): Observable {\r\n const params: { [param: string]: string | string[] } = {}\r\n if (includeFromSharedCatalogs)\r\n params['includeFromSharedCatalogs'] = 'true'\r\n\r\n return this.http.get(`${this.baseUrl}/CustomerGroups`, { params })\r\n .pipe(\r\n map(groups => groups.map(g => ({\r\n ...g,\r\n isDefaultGroup: g.id === defaultCustomerGroupId,\r\n }))))\r\n }\r\n\r\n addCustomerGroup(name: string): Observable {\r\n return this.http.post(`${this.baseUrl}/CustomerGroups?name=${name}`, {})\r\n }\r\n\r\n deleteCustomerGroup(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}/CustomerGroups(${id})`, {})\r\n }\r\n\r\n updateCustomerGroup(id: number, name: string): Observable {\r\n return this.http.put(`${this.baseUrl}/CustomerGroups(${id})?name=${name}`, {})\r\n }\r\n\r\n //#endregion\r\n\r\n // #region PricePlan\r\n\r\n getPricePlans(): Observable {\r\n return this.http.get(`${this.baseUrl}/PricePlans`)\r\n }\r\n\r\n addPricePlan(pricePlan: PricePlan): Observable {\r\n return this.http.post(`${this.baseUrl}/PricePlans`, undefined, { params: this.getPricePlanParams(pricePlan) })\r\n }\r\n\r\n deletePricePlan(pricePlanId: number): Observable {\r\n return this.http.delete(`${this.baseUrl}/PricePlans(${pricePlanId})`, {})\r\n }\r\n\r\n updatePricePlan(pricePlan: PricePlan): Observable {\r\n return this.http.put(`${this.baseUrl}/PricePlans(${pricePlan.id})`, undefined, { params: this.getPricePlanParams(pricePlan) })\r\n }\r\n\r\n private getPricePlanParams(pricePlan: PricePlan) {\r\n const params: { [param: string]: string | number } = {\r\n name: pricePlan.name\r\n }\r\n\r\n if (pricePlan.from)\r\n params['from'] = pricePlan.from\r\n if (pricePlan.to)\r\n params['to'] = pricePlan.to\r\n\r\n return params\r\n }\r\n\r\n // #endregion\r\n\r\n // #region GiftCards\r\n\r\n getGiftCards(): Observable {\r\n return this.http.get(`${this.baseUrl}/GiftCards`)\r\n }\r\n\r\n addGiftCard(initialAmount: number, expiresOn: Date, senderName: string | null, recipientName: string | null, message: string | null, adminComment: string | null) {\r\n return this.http.post(`${this.baseUrl}/GiftCards`, { initialAmount, expiresOn, senderName, recipientName, message, adminComment })\r\n }\r\n\r\n updateGiftCard(id: number, status: string, expiresOn: Date, senderName: string | null, recipientName: string | null, message: string | null, adminComment: string | null) {\r\n return this.http.put(`${this.baseUrl}/GiftCards(${id})`, { status, expiresOn, senderName, recipientName, message, adminComment })\r\n }\r\n\r\n getGiftCardAccounting(giftCardId: number) {\r\n return this.http.get(`${this.baseUrl}/GiftCards(${giftCardId})/Accounting`)\r\n }\r\n\r\n addGiftCardAccounting(giftCardId: number, amount: number, text: string) {\r\n return this.http.post(`${this.baseUrl}/GiftCards(${giftCardId})/Accounting`, { amount, text })\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Orders\r\n\r\n getOrderCount(): Observable {\r\n return this.http.get(`${this.baseUrl}/Orders/Count`)\r\n }\r\n\r\n getOrders(rangeStart: Date | null, rangeEnd: Date | null, status: ReservationSetStatus | null, itemIds: number[] | null,\r\n searchQuery: string | null, skip: number | undefined, top: number | undefined, orderBy: string | undefined, orderByDir: 'asc' | 'desc' | undefined):\r\n Observable> {\r\n const params: { [param: string]: string | string[] } = {}\r\n\r\n if (rangeStart)\r\n params['rangeStart'] = rangeStart.toJSON()\r\n if (rangeEnd)\r\n params['rangeEnd'] = rangeEnd.toJSON()\r\n if (status)\r\n params['status'] = status\r\n if (itemIds?.length)\r\n params['itemIds'] = itemIds.toString()\r\n if (searchQuery)\r\n params['searchQuery'] = searchQuery\r\n if (skip)\r\n params['skip'] = skip.toString()\r\n if (top)\r\n params['top'] = top.toString()\r\n if (orderBy)\r\n params['orderBy'] = orderBy\r\n if (orderByDir)\r\n params['orderByDir'] = orderByDir\r\n\r\n return this.http.get>(`${this.baseUrl}/Orders`, { params })\r\n }\r\n\r\n getReservationsForPrint(\r\n rangeStart: Date | null, rangeEnd: Date | null, status: ReservationSetStatus | null,\r\n itemIds: number[]): Observable {\r\n const params: { [param: string]: string | string[] } = {}\r\n\r\n if (rangeStart)\r\n params['rangeStart'] = rangeStart.toJSON()\r\n if (rangeEnd)\r\n params['rangeEnd'] = rangeEnd.toJSON()\r\n if (status)\r\n params['status'] = status\r\n if (itemIds.length)\r\n params['itemIds'] = itemIds.toString()\r\n\r\n return this.http.get(`${this.baseUrl}/Orders/Print`, { params })\r\n }\r\n\r\n getInvoices(rangeStart: Date, rangeEnd: Date, filterType: 'SysCreated' | 'ReservationDate'): Observable {\r\n const params: { [param: string]: string | string[] } = {\r\n rangeStart: rangeStart.toJSON(),\r\n rangeEnd: rangeEnd.toJSON(),\r\n filterType\r\n }\r\n\r\n return this.http.get(`${this.baseUrl}/Orders/Invoices`, { params })\r\n .pipe(map(items => items.map(i => ({\r\n ...i,\r\n sysCreated: new Date(i.sysCreated),\r\n firstReservation: i.firstReservation ? new Date((i as any).firstReservation) : undefined,\r\n lastReservation: i.lastReservation ? new Date((i as any).lastReservation) : undefined\r\n }))))\r\n }\r\n\r\n getUtilization(rangeStart: Date, rangeEnd: Date, filterType: 'SysCreated' | 'ReservationDate', itemIds: number[]):\r\n Observable {\r\n const params: { [param: string]: string | string[] } = {\r\n rangeStart: rangeStart.toJSON(),\r\n rangeEnd: rangeEnd.toJSON(),\r\n filterType\r\n }\r\n\r\n if (itemIds?.length)\r\n params['itemIds'] = itemIds.toString()\r\n\r\n return this.http.get(`${this.baseUrl}/Orders/Utilization`, { params })\r\n .pipe(map(items => items.map(i => ({\r\n ...i,\r\n sysCreated: new Date(i.sysCreated),\r\n startTime: i.startTime ? new Date(i.startTime) : null,\r\n endTime: i.endTime ? new Date(i.endTime) : null\r\n }))))\r\n }\r\n\r\n //#endregion\r\n\r\n // #region BlockAppointments\r\n\r\n getBlockCount(): Observable {\r\n return this.http.get(`${this.baseUrl}/Blocks/Count`)\r\n }\r\n\r\n getBlockAppointments(rangeStart: Date | null, rangeEnd: Date | null, itemIds: number[]): Observable {\r\n const params: { [param: string]: string | string[] } = {}\r\n\r\n if (rangeStart)\r\n params['rangeStart'] = rangeStart.toJSON()\r\n if (rangeEnd)\r\n params['rangeEnd'] = rangeEnd.toJSON()\r\n if (itemIds.length)\r\n params['itemIds'] = itemIds.toString()\r\n\r\n return this.http.get(`${this.baseUrl}/Blocks`, { params })\r\n }\r\n\r\n //#endregion\r\n\r\n getAdminHome(): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/Home`)\r\n }\r\n\r\n // #region Setting\r\n\r\n getSettings(catalogId: number): Observable<{ [key: string]: string }> {\r\n return this.http.get<{ [key: string]: string }>(`${this.baseUrl}/Admin/Settings`,\r\n { params: { CatalogId: catalogId.toString() } }\r\n )\r\n }\r\n\r\n getSetting(keys: string[]): Observable<{ [key: string]: string }> {\r\n return this.http.get<{ [key: string]: string }>(`${this.baseUrl}/Admin/Settings?keys=${keys}`)\r\n }\r\n\r\n updateSetting(key: string, value: string): Observable {\r\n return this.http.put(`${this.baseUrl}/Admin/Settings(${key})`, { value })\r\n }\r\n\r\n //#endregion\r\n\r\n // #region ItemTree\r\n getItemsTreeForReservationManagement(): Observable {\r\n if (!this.itemsTreeForReservationManagement$)\r\n this.itemsTreeForReservationManagement$ = this.http.get(`${this.baseUrl}/ItemTree/ReservationManagement`)\r\n .pipe(\r\n tap(treeAndItems => ItemService.prepareItemTreeData(treeAndItems)),\r\n shareReplay(1)\r\n )\r\n\r\n return this.itemsTreeForReservationManagement$\r\n }\r\n\r\n\r\n addTreeItem(itemId: number, order: number, parentId?: number): Observable {\r\n const params: { [param: string]: string | number | boolean } = {\r\n itemId,\r\n order\r\n }\r\n\r\n if (parentId)\r\n params['parentId'] = parentId\r\n\r\n return this.http.post(`${this.baseUrl}/ItemTree`, undefined, { params })\r\n }\r\n\r\n updateTreeItem(id: number, order: number, parentId: number | undefined, expand: boolean | undefined): Observable {\r\n const params: { [param: string]: string | number | boolean } = {\r\n order,\r\n parentId: parentId ? parentId : '',\r\n expand: expand ?? false\r\n }\r\n\r\n return this.http.put(`${this.baseUrl}/ItemTree(${id})`, undefined, { params })\r\n }\r\n\r\n updateTreeOrder(newOrder: { [key: number]: number }) {\r\n return this.http.patch(`${this.baseUrl}/ItemTree/Order`, undefined, { params: { newOrder: JSON.stringify(newOrder) } })\r\n }\r\n\r\n deleteTreeItem(treeItemId: number): Observable {\r\n return this.http.delete(`${this.baseUrl}/ItemTree(${treeItemId})`)\r\n }\r\n\r\n // #endregion\r\n\r\n // #region users\r\n\r\n addAdminUser(user: Janitor): Observable {\r\n return this.http.post(`${this.baseUrl}/Admin/Users`, user)\r\n }\r\n\r\n getAdminUser(id: string): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/Users/Details`, { params: { userName: id } })\r\n }\r\n\r\n getAdminUsers(): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/Users`)\r\n }\r\n\r\n searchCustomer(query: string): Observable {\r\n return this.http.get(`${this.baseUrl}/Admin/Users/Customer`, { params: { query } })\r\n }\r\n\r\n updateAdminUser(id: string, user: Janitor): Observable {\r\n const params: { [param: string]: string | string[] } = {}\r\n params['userName'] = id\r\n\r\n return this.http.put(`${this.baseUrl}/Admin/Users`, user, { params })\r\n }\r\n\r\n deleteAdminUser(id: string): Observable {\r\n const params: { [param: string]: string | string[] } = {}\r\n params['userName'] = id\r\n return this.http.delete(`${this.baseUrl}/Admin/Users`, { params })\r\n }\r\n\r\n resetAdminPassword(id: string): Observable {\r\n return this.http.post(`${this.baseUrl}/User/ForgotPassword`, { email: id })\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Roles / Role-Members\r\n\r\n getRoles(): Observable {\r\n return this.http.get(`${this.baseUrl}/Roles`)\r\n }\r\n\r\n getRole(id: string): Observable {\r\n return this.http.get(`${this.baseUrl}/Roles(${id})`)\r\n }\r\n\r\n addRole(role: Role): Observable {\r\n return this.http.post(`${this.baseUrl}/Roles`, role)\r\n }\r\n\r\n updateRole(id: string, role: Role): Observable {\r\n return this.http.put(`${this.baseUrl}/Roles(${id})`, role)\r\n }\r\n\r\n deleteRole(id: string): Observable {\r\n return this.http.delete(`${this.baseUrl}/Roles(${id})`)\r\n }\r\n\r\n getRoleMembers(id: string) {\r\n return this.http.get(`${this.baseUrl}/Roles(${id})/Members`)\r\n }\r\n\r\n deleteRoleMember(roleId: string, userName: string): Observable {\r\n return this.http.delete(`${this.baseUrl}/Roles(${roleId})/Members`, { params: { userName } })\r\n }\r\n\r\n addRoleMember(roleId: string, userName: string): Observable {\r\n return this.http.put(`${this.baseUrl}/Roles(${roleId})/Members`, {}, { params: { userName } })\r\n }\r\n\r\n // #endregion\r\n\r\n // #region ItemPermissions\r\n\r\n getItemPermissionTypes(): Observable {\r\n return this.http.get(`${this.baseUrl}/ItemPermissions/Types`)\r\n }\r\n\r\n getItemPermissionsRole(id: string): Observable {\r\n return this.http.get(`${this.baseUrl}/ItemPermissions/Role(${id})`)\r\n }\r\n\r\n addItemPermissionRole(itemPermission: ItemPermission): Observable {\r\n const params: { [param: string]: string | number } = {\r\n 'permission': itemPermission.permission\r\n }\r\n\r\n if (itemPermission.itemId)\r\n params['itemId'] = itemPermission.itemId\r\n\r\n return this.http.post(`${this.baseUrl}/ItemPermissions/Role(${itemPermission.id})`, {}, { params })\r\n }\r\n\r\n getItemPermissionsUser(id: string): Observable {\r\n return this.http.get(`${this.baseUrl}/ItemPermissions/User`, { params: { userName: id } })\r\n }\r\n\r\n addItemPermissionUser(itemPermission: ItemPermission): Observable {\r\n const params: { [param: string]: string | number } = {\r\n 'userName': itemPermission.id,\r\n 'permission': itemPermission.permission\r\n }\r\n\r\n if (itemPermission.itemId)\r\n params['itemId'] = itemPermission.itemId\r\n\r\n return this.http.post(`${this.baseUrl}/ItemPermissions/User`, {}, { params })\r\n }\r\n\r\n deleteItemPermission(id: string): Observable {\r\n return this.http.delete(`${this.baseUrl}/ItemPermissions(${id})`)\r\n }\r\n\r\n // #endregion\r\n\r\n // #region Email Templates\r\n\r\n getEmailTemplates(): Observable {\r\n return this.http.get(`${this.baseUrl}/MailTemplates`)\r\n }\r\n\r\n testMailTemplate(to: string, key: string): Observable {\r\n return this.http.post(`${this.baseUrl}/MailTemplates/Test`, {}, { params: { to, key } })\r\n }\r\n\r\n addMailTemplate(key: string) {\r\n return this.http.post(`${this.baseUrl}/MailTemplates`, undefined, { params: { key } })\r\n }\r\n\r\n deleteMailTemplate(key: string) {\r\n return this.http.delete(`${this.baseUrl}/MailTemplates(${key})`)\r\n }\r\n\r\n // #endregion\r\n\r\n //#region SplashImage\r\n\r\n addSplashImage(image: File): Observable {\r\n const file = new FormData()\r\n file.append('file', image, image.name)\r\n return this.http.post(`${this.baseUrl}/Admin/UploadSplashImage`, file)\r\n }\r\n\r\n deleteSplashImage(): Observable {\r\n return this.http.delete(`${this.baseUrl}/Admin/SplashImage`)\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Availability Plans\r\n\r\n getAvailabilityPlans(): Observable {\r\n return this.http.get(`${this.baseUrl}/AvailabilityPlans`)\r\n }\r\n\r\n getAvailabilityPlan(id: number): Observable {\r\n return this.http.get(`${this.baseUrl}/AvailabilityPlans(${id})`)\r\n }\r\n\r\n addAvailabilityPlan(plan: AvailabilityPlan): Observable {\r\n return this.http.post(`${this.baseUrl}/AvailabilityPlans`, plan)\r\n }\r\n\r\n deleteAvailabilityPlan(id: string): Observable {\r\n return this.http.delete(`${this.baseUrl}/AvailabilityPlans(${id})`)\r\n }\r\n\r\n updateAvailabilityPlan(plan: AvailabilityPlan): Observable {\r\n return this.http.put(`${this.baseUrl}/AvailabilityPlans(${plan.id})`, plan)\r\n }\r\n\r\n copyAvailabilityPlan(id: string): Observable {\r\n return this.http.post(`${this.baseUrl}/AvailabilityPlans(${id})/Copy`, {})\r\n }\r\n\r\n getAvailabilityPlanAppointments(id: number, start: Date, end: Date): Observable {\r\n const params: { [param: string]: string } = {\r\n rangeStart: start.toJSON(),\r\n rangeEnd: end.toJSON()\r\n }\r\n\r\n return this.http.get(`${this.baseUrl}/AvailabilityPlans(${id})/Appointments`, { params })\r\n }\r\n\r\n deleteAvailabilityPlanAppointment(id: number | string): Observable {\r\n return this.http.delete(`${this.baseUrl}/AvailabilityPlans/Appointments(${id})`)\r\n }\r\n\r\n getAvailabilityPlanAppointment(id: string): Observable {\r\n return this.http.get(`${this.baseUrl}/AvailabilityPlans/Appointments(${id})`)\r\n }\r\n\r\n updateAvailabilityPlanAppointment(plan: (AvailabilityPlanAppointment | SchedulerEvent)): Observable {\r\n return this.http.put(`${this.baseUrl}/AvailabilityPlans/Appointments(${plan.id})`, plan)\r\n }\r\n\r\n addAvailabilityPlanAppointment(plan: AvailabilityPlanAppointment): Observable {\r\n return this.http.post(`${this.baseUrl}/AvailabilityPlans/Appointments`, plan)\r\n }\r\n\r\n //#endregion\r\n\r\n getCatalogs(): Observable {\r\n return this.http.get(`${this.baseUrl}/Catalog`)\r\n }\r\n\r\n //#region Admin Cart\r\n\r\n updateOrder(order: OrderBase, mailAttachments: File[], sendStatusMailToCustomer = false): Observable {\r\n const params = {} as { [param: string]: string }\r\n\r\n if (sendStatusMailToCustomer)\r\n params['sendStatusMailToCustomer'] = 'true';\r\n\r\n const attachments = sendStatusMailToCustomer ? from(readFiles(mailAttachments)) : of([])\r\n\r\n return attachments\r\n .pipe(\r\n switchMap(attachments => {\r\n const body: any = { ...order }\r\n if (attachments.length)\r\n body.mailAttachments = attachments\r\n\r\n return this.http.put(`${this.baseUrl}/Cart/Order`, body, { params })\r\n }))\r\n }\r\n\r\n changeOrderStatus(newStatus: ReservationSetStatus, mailAttachments: File[], sendMailToCustomer: boolean = true): Observable {\r\n const params = { newStatus } as { [param: string]: string }\r\n\r\n if (!sendMailToCustomer)\r\n params['sendMailToCustomer'] = 'false'\r\n\r\n // send attachments to the backend only when needed\r\n const attachments = sendMailToCustomer && newStatus !== ReservationSetStatus.Closed ? from(readFiles(mailAttachments)) : of([])\r\n\r\n return attachments\r\n .pipe(\r\n switchMap(attachments => {\r\n const body: any = {}\r\n if (attachments.length)\r\n body.mailAttachments = attachments\r\n\r\n return this.http.patch(`${this.baseUrl}/Cart/OrderStatus`, body, { params })\r\n }))\r\n }\r\n\r\n copyOrder(): Observable<{ orderId: string }> {\r\n return this.http.post<{ orderId: string }>(`${this.baseUrl}/Cart/CopyOrder`, null)\r\n }\r\n\r\n updatePayment(paymentMethod: string, paymentStatus: PaymentStatus, paidAmount: number): Observable {\r\n return this.http.patch(`${this.baseUrl}/Cart/UpdatePayment`, null, {\r\n params: {\r\n paymentMethod,\r\n paymentStatus: paymentStatus.toString(),\r\n paidAmount: paidAmount.toString()\r\n }\r\n })\r\n }\r\n\r\n addOrderNote(reservationSetId: number, message: string, completed: boolean, allowEditByEveryone: boolean) {\r\n return this.http.post(`${this.baseUrl}/Notes/ReservationSet(${reservationSetId})`, { message, completed, allowEditByEveryone })\r\n }\r\n\r\n updateOrderNote(id: number, message: string, completed: boolean, allowEditByEveryone: boolean) {\r\n return this.http.put(`${this.baseUrl}/Notes(${id})`, { message, completed, allowEditByEveryone })\r\n }\r\n\r\n deleteOrderNote(id: number) {\r\n return this.http.delete(`${this.baseUrl}/Notes(${id})`)\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Terms and Conditions\r\n\r\n deleteTermsAndConditions(entityId: number) {\r\n return this.http.delete(`${this.baseUrl}/TermsAndConditions(${entityId})`)\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Calendar Shares\r\n\r\n getCalendarShares(type: CalendarShareType): Observable {\r\n return this.http.get(`${this.baseUrl}/CalendarShares/${type}`)\r\n }\r\n\r\n addCalendarShare(type: CalendarShareType, title: string, internalTitle: string, notes: string, showAllBookingDetails: boolean,\r\n pastEvents: CalendarSyncDuration, futureEvents: CalendarSyncDuration, allItems: boolean,\r\n items: FieldLookupValue[], showPurpose?: boolean, showBookingLink?: boolean) {\r\n return this.http.post(`${this.baseUrl}/CalendarShares`, {\r\n type, title, internalTitle, notes, key: '', showAllBookingDetails, pastEvents, futureEvents, allItems, items, showPurpose, showBookingLink\r\n })\r\n }\r\n\r\n updateCalendarShare(id: number, type: CalendarShareType, title: string, internalTitle: string, notes: string, showAllBookingDetails: boolean,\r\n pastEvents: CalendarSyncDuration, futureEvents: CalendarSyncDuration, allItems: boolean,\r\n items: FieldLookupValue[], showPurpose?: boolean, showBookingLink?: boolean) {\r\n return this.http.put(`${this.baseUrl}/CalendarShares(${id})`, {\r\n type, title, internalTitle, notes, key: '', showAllBookingDetails, pastEvents, futureEvents, allItems, items, showPurpose, showBookingLink\r\n })\r\n }\r\n\r\n deleteCalendarShare(id: number) {\r\n return this.http.delete(`${this.baseUrl}/CalendarShares(${id})`)\r\n }\r\n\r\n //#endregion\r\n\r\n // #region Texts and Labels\r\n\r\n getTextsAndLabels() {\r\n return this.http.get(`${this.baseUrl}/TextsAndLabels`)\r\n }\r\n}\r\n"], "mappings": "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", "names": ["iconMapping", "Building", "Room", "Accessory", "OutdoorFacility", "Folder", "Service", "GiftCard", "Other", "getIconName", "itemOrItemType", "itemType", "type", "readFiles", "files", "__async", "filesRes", "map", "file", "reader", "FileReader", "Promise", "resolve", "reject", "onload", "result", "name", "encoded", "console", "error", "onerror", "e", "readAsDataURL", "all", "AdminBackendService", "constructor", "http", "baseUrl", "getItems", "itemType", "params", "get", "pipe", "map", "items", "i", "__spreadProps", "__spreadValues", "materialIcon", "getIconName", "getItem", "id", "addItem", "item", "copyOfItemId", "post", "updateItem", "put", "deleteItem", "delete", "getSxcConfig", "clearSxcCache", "appId", "responseType", "getCustomerGroups", "includeFromSharedCatalogs", "groups", "g", "isDefaultGroup", "defaultCustomerGroupId", "addCustomerGroup", "name", "deleteCustomerGroup", "updateCustomerGroup", "getPricePlans", "addPricePlan", "pricePlan", "undefined", "getPricePlanParams", "deletePricePlan", "pricePlanId", "updatePricePlan", "from", "to", "getGiftCards", "addGiftCard", "initialAmount", "expiresOn", "senderName", "recipientName", "message", "adminComment", "updateGiftCard", "status", "getGiftCardAccounting", "giftCardId", "addGiftCardAccounting", "amount", "text", "getOrderCount", "getOrders", "rangeStart", "rangeEnd", "itemIds", "searchQuery", "skip", "top", "orderBy", "orderByDir", "toJSON", "length", "toString", "getReservationsForPrint", "getInvoices", "filterType", "sysCreated", "Date", "firstReservation", "lastReservation", "getUtilization", "startTime", "endTime", "getBlockCount", "getBlockAppointments", "getAdminHome", "getSettings", "catalogId", "CatalogId", "getSetting", "keys", "updateSetting", "key", "value", "getItemsTreeForReservationManagement", "itemsTreeForReservationManagement$", "tap", "treeAndItems", "ItemService", "prepareItemTreeData", "shareReplay", "addTreeItem", "itemId", "order", "parentId", "updateTreeItem", "expand", "updateTreeOrder", "newOrder", "patch", "JSON", "stringify", "deleteTreeItem", "treeItemId", "addAdminUser", "user", "getAdminUser", "userName", "getAdminUsers", "searchCustomer", "query", "updateAdminUser", "deleteAdminUser", "resetAdminPassword", "email", "getRoles", "getRole", "addRole", "role", "updateRole", "deleteRole", "getRoleMembers", "deleteRoleMember", "roleId", "addRoleMember", "getItemPermissionTypes", "getItemPermissionsRole", "addItemPermissionRole", "itemPermission", "permission", "getItemPermissionsUser", "addItemPermissionUser", "deleteItemPermission", "getEmailTemplates", "testMailTemplate", "addMailTemplate", "deleteMailTemplate", "addSplashImage", "image", "file", "FormData", "append", "deleteSplashImage", "getAvailabilityPlans", "getAvailabilityPlan", "addAvailabilityPlan", "plan", "deleteAvailabilityPlan", "updateAvailabilityPlan", "copyAvailabilityPlan", "getAvailabilityPlanAppointments", "start", "end", "deleteAvailabilityPlanAppointment", "getAvailabilityPlanAppointment", "updateAvailabilityPlanAppointment", "addAvailabilityPlanAppointment", "getCatalogs", "updateOrder", "mailAttachments", "sendStatusMailToCustomer", "readFiles", "of", "switchMap", "attachments", "body", "changeOrderStatus", "newStatus", "sendMailToCustomer", "ReservationSetStatus", "Closed", "copyOrder", "updatePayment", "paymentMethod", "paymentStatus", "paidAmount", "addOrderNote", "reservationSetId", "completed", "allowEditByEveryone", "updateOrderNote", "deleteOrderNote", "deleteTermsAndConditions", "entityId", "getCalendarShares", "type", "addCalendarShare", "title", "internalTitle", "notes", "showAllBookingDetails", "pastEvents", "futureEvents", "allItems", "showPurpose", "showBookingLink", "updateCalendarShare", "deleteCalendarShare", "getTextsAndLabels", "\u0275\u0275inject", "HttpClient", "factory", "\u0275fac", "providedIn", "_AdminBackendService"] }