@sprucelabs/spruce-appointment-utils 7.9.21 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,5 +5,5 @@ export { default as EditOverrideDetailsCardViewController } from './viewControll
5
5
  export { default as EditTimeBlockTitleCardViewController } from './viewControllers/EditTimeBlockTitleCard.vc';
6
6
  export { default as RolesCardViewController } from './viewControllers/RoleCapabilitiesCard.vc';
7
7
  export { RolesCardViewControllerOptions } from './viewControllers/RoleCapabilitiesCard.vc';
8
- export { default as RemoteRoleCapabilityStore } from './stores/RemoteRoleCapabilityStore';
8
+ export { default as RemoteRoleCapabilityStore } from './capabilities/stores/RemoteRoleCapabilityStore';
9
9
  export * from './types-module';
@@ -4,5 +4,5 @@ export { default as DurationListViewController } from './viewControllers/Duratio
4
4
  export { default as EditOverrideDetailsCardViewController } from './viewControllers/EditOverrideDetailsCard.vc.js';
5
5
  export { default as EditTimeBlockTitleCardViewController } from './viewControllers/EditTimeBlockTitleCard.vc.js';
6
6
  export { default as RolesCardViewController } from './viewControllers/RoleCapabilitiesCard.vc.js';
7
- export { default as RemoteRoleCapabilityStore } from './stores/RemoteRoleCapabilityStore.js';
7
+ export { default as RemoteRoleCapabilityStore } from './capabilities/stores/RemoteRoleCapabilityStore.js';
8
8
  export * from './types-module.js';
@@ -21,8 +21,8 @@ export default class DurationCardViewController extends AbstractViewController<C
21
21
  getDurationListVc(): DurationListViewController;
22
22
  getTimeBlocks(): {
23
23
  title?: string | null | undefined;
24
- isBusy: boolean;
25
24
  subtitle?: string | null | undefined;
25
+ isBusy: boolean;
26
26
  rightIcons?: SpruceSchemasCalendarUtils.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
27
27
  leftIcons?: SpruceSchemasCalendarUtils.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
28
28
  durationMinutes?: number | undefined;
@@ -20,8 +20,8 @@ export default class DurationListViewController extends AbstractViewController<L
20
20
  getListVc(): ListViewController;
21
21
  getTimeBlocks(): {
22
22
  title?: string | null | undefined;
23
- isBusy: boolean;
24
23
  subtitle?: string | null | undefined;
24
+ isBusy: boolean;
25
25
  rightIcons?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
26
26
  leftIcons?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
27
27
  durationMinutes?: number | undefined;
@@ -5,5 +5,5 @@ export { default as EditOverrideDetailsCardViewController } from './viewControll
5
5
  export { default as EditTimeBlockTitleCardViewController } from './viewControllers/EditTimeBlockTitleCard.vc';
6
6
  export { default as RolesCardViewController } from './viewControllers/RoleCapabilitiesCard.vc';
7
7
  export { RolesCardViewControllerOptions } from './viewControllers/RoleCapabilitiesCard.vc';
8
- export { default as RemoteRoleCapabilityStore } from './stores/RemoteRoleCapabilityStore';
8
+ export { default as RemoteRoleCapabilityStore } from './capabilities/stores/RemoteRoleCapabilityStore';
9
9
  export * from './types-module';
@@ -30,6 +30,6 @@ var EditTimeBlockTitleCard_vc_1 = require("./viewControllers/EditTimeBlockTitleC
30
30
  Object.defineProperty(exports, "EditTimeBlockTitleCardViewController", { enumerable: true, get: function () { return __importDefault(EditTimeBlockTitleCard_vc_1).default; } });
31
31
  var RoleCapabilitiesCard_vc_1 = require("./viewControllers/RoleCapabilitiesCard.vc");
32
32
  Object.defineProperty(exports, "RolesCardViewController", { enumerable: true, get: function () { return __importDefault(RoleCapabilitiesCard_vc_1).default; } });
33
- var RemoteRoleCapabilityStore_1 = require("./stores/RemoteRoleCapabilityStore");
33
+ var RemoteRoleCapabilityStore_1 = require("./capabilities/stores/RemoteRoleCapabilityStore");
34
34
  Object.defineProperty(exports, "RemoteRoleCapabilityStore", { enumerable: true, get: function () { return __importDefault(RemoteRoleCapabilityStore_1).default; } });
35
35
  __exportStar(require("./types-module"), exports);
@@ -21,8 +21,8 @@ export default class DurationCardViewController extends AbstractViewController<C
21
21
  getDurationListVc(): DurationListViewController;
22
22
  getTimeBlocks(): {
23
23
  title?: string | null | undefined;
24
- isBusy: boolean;
25
24
  subtitle?: string | null | undefined;
25
+ isBusy: boolean;
26
26
  rightIcons?: SpruceSchemasCalendarUtils.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
27
27
  leftIcons?: SpruceSchemasCalendarUtils.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
28
28
  durationMinutes?: number | undefined;
@@ -20,8 +20,8 @@ export default class DurationListViewController extends AbstractViewController<L
20
20
  getListVc(): ListViewController;
21
21
  getTimeBlocks(): {
22
22
  title?: string | null | undefined;
23
- isBusy: boolean;
24
23
  subtitle?: string | null | undefined;
24
+ isBusy: boolean;
25
25
  rightIcons?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
26
26
  leftIcons?: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventLineIcon[] | null | undefined;
27
27
  durationMinutes?: number | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sprucelabs/spruce-appointment-utils",
3
3
  "description": "Utils for working with appointments and Sprucebot.",
4
- "version": "7.9.21",
4
+ "version": "8.0.0",
5
5
  "skill": {
6
6
  "namespace": "appointments"
7
7
  },
@@ -1,16 +0,0 @@
1
- import { MercuryClient } from '@sprucelabs/mercury-client';
2
- declare type RemoteRoleCapabilityOptions = {
3
- client: MercuryClient;
4
- organizationId: string;
5
- };
6
- export default class RemoteRoleCapabilityStore {
7
- protected client: MercuryClient;
8
- protected organizationId: string;
9
- protected queuedCapabilities: Record<string, any>;
10
- constructor(options: RemoteRoleCapabilityOptions);
11
- queue(value: any): Promise<any>;
12
- persist(): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false>>[]>;
13
- protected createCapability(roleId: any, serviceId: any, values: any): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema, false>>>;
14
- protected updateCapability(id: any, values: any): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false>>>;
15
- }
16
- export {};
@@ -1,79 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- import { assertOptions } from '@sprucelabs/schema';
22
- export default class RemoteRoleCapabilityStore {
23
- constructor(options) {
24
- this.queuedCapabilities = [];
25
- assertOptions(options, ['client', 'organizationId']);
26
- this.client = options.client;
27
- this.organizationId = options.organizationId;
28
- }
29
- queue(value) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- assertOptions(value, ['serviceId', 'roleId']);
32
- const id = `${this.organizationId}-${value.serviceId}-${value.roleId}`;
33
- this.queuedCapabilities[id] = Object.assign(Object.assign({}, this.queuedCapabilities[id]), value);
34
- return value;
35
- });
36
- }
37
- persist() {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- let response = [];
40
- for (let key in this.queuedCapabilities) {
41
- const _a = this.queuedCapabilities[key], { id, roleId, serviceId } = _a, values = __rest(_a, ["id", "roleId", "serviceId"]);
42
- if (id) {
43
- const capability = yield this.updateCapability(id, values);
44
- response.push(capability);
45
- }
46
- else {
47
- const capability = yield this.createCapability(roleId, serviceId, values);
48
- response.push(capability);
49
- }
50
- delete this.queuedCapabilities[key];
51
- }
52
- return response;
53
- });
54
- }
55
- createCapability(roleId, serviceId, values) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const [{ capability }] = yield this.client.emitAndFlattenResponses('appointments.create-role-capability::v2021_06_23', {
58
- target: {
59
- organizationId: this.organizationId,
60
- roleId,
61
- },
62
- payload: Object.assign({ serviceId, isEnabled: false, doesOffer: false }, values),
63
- });
64
- return capability;
65
- });
66
- }
67
- updateCapability(id, values) {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- const [{ capability }] = yield this.client.emitAndFlattenResponses('appointments.update-role-capability::v2021_06_23', {
70
- target: {
71
- organizationId: this.organizationId,
72
- capabilityId: id,
73
- },
74
- payload: Object.assign({}, values),
75
- });
76
- return capability;
77
- });
78
- }
79
- }
@@ -1,16 +0,0 @@
1
- import { MercuryClient } from '@sprucelabs/mercury-client';
2
- declare type RemoteRoleCapabilityOptions = {
3
- client: MercuryClient;
4
- organizationId: string;
5
- };
6
- export default class RemoteRoleCapabilityStore {
7
- protected client: MercuryClient;
8
- protected organizationId: string;
9
- protected queuedCapabilities: Record<string, any>;
10
- constructor(options: RemoteRoleCapabilityOptions);
11
- queue(value: any): Promise<any>;
12
- persist(): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false>>[]>;
13
- protected createCapability(roleId: any, serviceId: any, values: any): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.CreateRoleCapabilitySchema, false>>>;
14
- protected updateCapability(id: any, values: any): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Appointments.v2021_06_23.UpdateRoleCapabilitySchema, false>>>;
15
- }
16
- export {};
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- const schema_1 = require("@sprucelabs/schema");
15
- class RemoteRoleCapabilityStore {
16
- constructor(options) {
17
- this.queuedCapabilities = [];
18
- (0, schema_1.assertOptions)(options, ['client', 'organizationId']);
19
- this.client = options.client;
20
- this.organizationId = options.organizationId;
21
- }
22
- async queue(value) {
23
- (0, schema_1.assertOptions)(value, ['serviceId', 'roleId']);
24
- const id = `${this.organizationId}-${value.serviceId}-${value.roleId}`;
25
- this.queuedCapabilities[id] = Object.assign(Object.assign({}, this.queuedCapabilities[id]), value);
26
- return value;
27
- }
28
- async persist() {
29
- let response = [];
30
- for (let key in this.queuedCapabilities) {
31
- const _a = this.queuedCapabilities[key], { id, roleId, serviceId } = _a, values = __rest(_a, ["id", "roleId", "serviceId"]);
32
- if (id) {
33
- const capability = await this.updateCapability(id, values);
34
- response.push(capability);
35
- }
36
- else {
37
- const capability = await this.createCapability(roleId, serviceId, values);
38
- response.push(capability);
39
- }
40
- delete this.queuedCapabilities[key];
41
- }
42
- return response;
43
- }
44
- async createCapability(roleId, serviceId, values) {
45
- const [{ capability }] = await this.client.emitAndFlattenResponses('appointments.create-role-capability::v2021_06_23', {
46
- target: {
47
- organizationId: this.organizationId,
48
- roleId,
49
- },
50
- payload: Object.assign({ serviceId, isEnabled: false, doesOffer: false }, values),
51
- });
52
- return capability;
53
- }
54
- async updateCapability(id, values) {
55
- const [{ capability }] = await this.client.emitAndFlattenResponses('appointments.update-role-capability::v2021_06_23', {
56
- target: {
57
- organizationId: this.organizationId,
58
- capabilityId: id,
59
- },
60
- payload: Object.assign({}, values),
61
- });
62
- return capability;
63
- }
64
- }
65
- exports.default = RemoteRoleCapabilityStore;