@lilaquadrat/studio 12.0.0 → 12.2.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.
- package/lib/models.d.ts +8 -1
- package/lib/models.js +8 -1
- package/lib/models.js.map +1 -1
- package/lib/services.d.ts +8 -1
- package/lib/services.js +8 -1
- package/lib/services.js.map +1 -1
- package/lib/src/Immutable.class.js +10 -4
- package/lib/src/Immutable.class.js.map +1 -1
- package/lib/src/aggegations/structures.aggregation.d.ts +6 -8
- package/lib/src/aggegations/structures.aggregation.js +3 -2
- package/lib/src/aggegations/structures.aggregation.js.map +1 -1
- package/lib/src/classes/paymentProviders/PaymentProviderFactory.class.d.ts +4 -0
- package/lib/src/classes/paymentProviders/PaymentProviderFactory.class.js +8 -0
- package/lib/src/classes/paymentProviders/PaymentProviderFactory.class.js.map +1 -0
- package/lib/src/classes/paymentProviders/StripePaymentProvider.class.d.ts +9 -0
- package/lib/src/classes/paymentProviders/StripePaymentProvider.class.js +49 -0
- package/lib/src/classes/paymentProviders/StripePaymentProvider.class.js.map +1 -0
- package/lib/src/classes/shiftPlanningModel.class.d.ts +6 -0
- package/lib/src/classes/shiftPlanningModel.class.js +26 -0
- package/lib/src/classes/shiftPlanningModel.class.js.map +1 -0
- package/lib/src/helpers/buildProductName.d.ts +7 -0
- package/lib/src/helpers/buildProductName.js +20 -0
- package/lib/src/helpers/buildProductName.js.map +1 -0
- package/lib/src/helpers/shiftPlanningReports.d.ts +7 -0
- package/lib/src/helpers/shiftPlanningReports.js +135 -0
- package/lib/src/helpers/shiftPlanningReports.js.map +1 -0
- package/lib/src/helpers/shiftPlanningSchemas.d.ts +143 -0
- package/lib/src/helpers/shiftPlanningSchemas.js +87 -0
- package/lib/src/helpers/shiftPlanningSchemas.js.map +1 -0
- package/lib/src/helpers/shiftPlanningTime.d.ts +24 -0
- package/lib/src/helpers/shiftPlanningTime.js +191 -0
- package/lib/src/helpers/shiftPlanningTime.js.map +1 -0
- package/lib/src/helpers/shiftPlanningValidation.d.ts +26 -0
- package/lib/src/helpers/shiftPlanningValidation.js +53 -0
- package/lib/src/helpers/shiftPlanningValidation.js.map +1 -0
- package/lib/src/helpers/structureMatch.d.ts +15 -0
- package/lib/src/helpers/structureMatch.js +70 -0
- package/lib/src/helpers/structureMatch.js.map +1 -0
- package/lib/src/interfaces/PaymentProviderBase.d.ts +14 -0
- package/lib/src/interfaces/PaymentProviderBase.js +2 -0
- package/lib/src/interfaces/PaymentProviderBase.js.map +1 -0
- package/lib/src/models/customers.model.js +10 -0
- package/lib/src/models/customers.model.js.map +1 -1
- package/lib/src/models/employeeAbsence.model.d.ts +4 -0
- package/lib/src/models/employeeAbsence.model.js +11 -0
- package/lib/src/models/employeeAbsence.model.js.map +1 -0
- package/lib/src/models/historySeen.model.d.ts +4 -0
- package/lib/src/models/historySeen.model.js +30 -0
- package/lib/src/models/historySeen.model.js.map +1 -0
- package/lib/src/models/listsParticipants.model.js +11 -0
- package/lib/src/models/listsParticipants.model.js.map +1 -1
- package/lib/src/models/permissions.model.js +28 -0
- package/lib/src/models/permissions.model.js.map +1 -1
- package/lib/src/models/shift.model.d.ts +4 -0
- package/lib/src/models/shift.model.js +17 -0
- package/lib/src/models/shift.model.js.map +1 -0
- package/lib/src/models/shiftPlan.model.d.ts +4 -0
- package/lib/src/models/shiftPlan.model.js +14 -0
- package/lib/src/models/shiftPlan.model.js.map +1 -0
- package/lib/src/models/shiftPlanDays.model.d.ts +4 -0
- package/lib/src/models/shiftPlanDays.model.js +15 -0
- package/lib/src/models/shiftPlanDays.model.js.map +1 -0
- package/lib/src/models/shiftPlanningSettings.model.d.ts +4 -0
- package/lib/src/models/shiftPlanningSettings.model.js +10 -0
- package/lib/src/models/shiftPlanningSettings.model.js.map +1 -0
- package/lib/src/models/workAreas.model.d.ts +4 -0
- package/lib/src/models/workAreas.model.js +12 -0
- package/lib/src/models/workAreas.model.js.map +1 -0
- package/lib/src/services/customers.service.d.ts +11 -0
- package/lib/src/services/customers.service.js +27 -0
- package/lib/src/services/customers.service.js.map +1 -1
- package/lib/src/services/employeeAbsences.service.d.ts +18 -0
- package/lib/src/services/employeeAbsences.service.js +57 -0
- package/lib/src/services/employeeAbsences.service.js.map +1 -0
- package/lib/src/services/history.service.d.ts +22 -0
- package/lib/src/services/history.service.js +145 -115
- package/lib/src/services/history.service.js.map +1 -1
- package/lib/src/services/historySeen.service.d.ts +32 -0
- package/lib/src/services/historySeen.service.js +66 -0
- package/lib/src/services/historySeen.service.js.map +1 -0
- package/lib/src/services/listParticipants.service.d.ts +143 -12
- package/lib/src/services/listParticipants.service.js +145 -6
- package/lib/src/services/listParticipants.service.js.map +1 -1
- package/lib/src/services/lists.service.d.ts +9 -0
- package/lib/src/services/lists.service.js +28 -0
- package/lib/src/services/lists.service.js.map +1 -1
- package/lib/src/services/paymentProviders.service.d.ts +5 -0
- package/lib/src/services/paymentProviders.service.js +10 -0
- package/lib/src/services/paymentProviders.service.js.map +1 -1
- package/lib/src/services/shiftPlanDays.service.d.ts +22 -0
- package/lib/src/services/shiftPlanDays.service.js +80 -0
- package/lib/src/services/shiftPlanDays.service.js.map +1 -0
- package/lib/src/services/shiftPlanningSettings.service.d.ts +11 -0
- package/lib/src/services/shiftPlanningSettings.service.js +27 -0
- package/lib/src/services/shiftPlanningSettings.service.js.map +1 -0
- package/lib/src/services/shiftPlans.service.d.ts +24 -0
- package/lib/src/services/shiftPlans.service.js +139 -0
- package/lib/src/services/shiftPlans.service.js.map +1 -0
- package/lib/src/services/shifts.service.d.ts +29 -0
- package/lib/src/services/shifts.service.js +260 -0
- package/lib/src/services/shifts.service.js.map +1 -0
- package/lib/src/services/structures.service.d.ts +2 -0
- package/lib/src/services/structures.service.js +7 -0
- package/lib/src/services/structures.service.js.map +1 -1
- package/lib/src/services/workAreas.service.d.ts +18 -0
- package/lib/src/services/workAreas.service.js +67 -0
- package/lib/src/services/workAreas.service.js.map +1 -0
- package/lib/tests/buildProductName.spec.d.ts +1 -0
- package/lib/tests/buildProductName.spec.js +27 -0
- package/lib/tests/buildProductName.spec.js.map +1 -0
- package/lib/tests/customersServiceStructures.spec.d.ts +1 -0
- package/lib/tests/customersServiceStructures.spec.js +146 -0
- package/lib/tests/customersServiceStructures.spec.js.map +1 -0
- package/lib/tests/historySeenService.spec.d.ts +1 -0
- package/lib/tests/historySeenService.spec.js +159 -0
- package/lib/tests/historySeenService.spec.js.map +1 -0
- package/lib/tests/listParticipantsHistory.spec.js +49 -3
- package/lib/tests/listParticipantsHistory.spec.js.map +1 -1
- package/lib/tests/listParticipantsPlanning.spec.d.ts +1 -0
- package/lib/tests/listParticipantsPlanning.spec.js +83 -0
- package/lib/tests/listParticipantsPlanning.spec.js.map +1 -0
- package/lib/tests/listParticipantsServiceStructures.spec.d.ts +1 -0
- package/lib/tests/listParticipantsServiceStructures.spec.js +176 -0
- package/lib/tests/listParticipantsServiceStructures.spec.js.map +1 -0
- package/lib/tests/listsServiceCreateExternalProducts.spec.d.ts +1 -0
- package/lib/tests/listsServiceCreateExternalProducts.spec.js +73 -0
- package/lib/tests/listsServiceCreateExternalProducts.spec.js.map +1 -0
- package/lib/tests/paymentProviders.spec.d.ts +1 -0
- package/lib/tests/paymentProviders.spec.js +119 -0
- package/lib/tests/paymentProviders.spec.js.map +1 -0
- package/lib/tests/paymentProvidersServiceGetProduct.spec.d.ts +1 -0
- package/lib/tests/paymentProvidersServiceGetProduct.spec.js +33 -0
- package/lib/tests/paymentProvidersServiceGetProduct.spec.js.map +1 -0
- package/lib/tests/shiftPlanning.spec.d.ts +1 -0
- package/lib/tests/shiftPlanning.spec.js +835 -0
- package/lib/tests/shiftPlanning.spec.js.map +1 -0
- package/lib/tests/structureMatch.spec.d.ts +1 -0
- package/lib/tests/structureMatch.spec.js +64 -0
- package/lib/tests/structureMatch.spec.js.map +1 -0
- package/package.json +2 -2
|
@@ -3,11 +3,20 @@ import Immutable from '../Immutable.class.js';
|
|
|
3
3
|
import ListsModel from '../models/lists.model.js';
|
|
4
4
|
import updateMappedId from '../helpers/updateMappedId.js';
|
|
5
5
|
import safeObjectId from '../helpers/safeObjectId.js';
|
|
6
|
+
import paymentProvidersService from './paymentProviders.service.js';
|
|
7
|
+
import PaymentProviderFactory from '../classes/paymentProviders/PaymentProviderFactory.class.js';
|
|
6
8
|
export class ListsService extends Immutable {
|
|
7
9
|
constructor() {
|
|
8
10
|
super(...arguments);
|
|
9
11
|
this.model = ListsModel;
|
|
10
12
|
}
|
|
13
|
+
/** Planning uses the employee pool even when registration is closed, without participant aggregations. */
|
|
14
|
+
singleForPlanning(list, options) {
|
|
15
|
+
return this.model.db.findOne({ _id: list, company: options.company, project: options.project });
|
|
16
|
+
}
|
|
17
|
+
listsForPlanning(lists, options) {
|
|
18
|
+
return this.model.db.find({ _id: { $in: lists }, company: options.company, project: options.project }).toArray();
|
|
19
|
+
}
|
|
11
20
|
single(internalId, state, options) {
|
|
12
21
|
const match = { _id: internalId, company: options.company, project: options.project };
|
|
13
22
|
if (state) {
|
|
@@ -418,6 +427,25 @@ export class ListsService extends Immutable {
|
|
|
418
427
|
});
|
|
419
428
|
}
|
|
420
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* creates the product at the requested payment provider for every category flagged with createExternalProduct.
|
|
432
|
+
* the flag is always removed, so it never reaches validation or the database.
|
|
433
|
+
* categories that already have an externalId are left untouched.
|
|
434
|
+
*/
|
|
435
|
+
async createExternalProducts(data, options) {
|
|
436
|
+
if (!data.categories)
|
|
437
|
+
return;
|
|
438
|
+
await Promise.all(data.categories.map(async (category) => {
|
|
439
|
+
const providerType = category.createExternalProduct;
|
|
440
|
+
delete category.createExternalProduct;
|
|
441
|
+
if (!providerType || category.externalId)
|
|
442
|
+
return;
|
|
443
|
+
const provider = await paymentProvidersService.byType(providerType, options.company, options.project);
|
|
444
|
+
if (!provider)
|
|
445
|
+
throw new Error('NO_PAYMENT_PROVIDER');
|
|
446
|
+
category.externalId = await PaymentProviderFactory(provider).createProduct(category, data);
|
|
447
|
+
}));
|
|
448
|
+
}
|
|
421
449
|
getValidationType(action, type) {
|
|
422
450
|
if (!['create', 'change'].includes(action))
|
|
423
451
|
throw new Error('UNSUPPORTED_ACTION');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.service.js","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lists.service.js","sourceRoot":"","sources":["../../../src/services/lists.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@ export declare class PaymentProvidersService extends Immutable<PaymentProvider>
|
|
|
7
7
|
byInternalId(internalId: ObjectId, company: string, project: string): Promise<import("mongodb").WithId<PaymentProvider> | null>;
|
|
8
8
|
byType(type: 'shopify', company: string, project: string): Promise<PaymentProviderShopify | null>;
|
|
9
9
|
byType(type: 'stripe', company: string, project: string): Promise<PaymentProviderStripe | null>;
|
|
10
|
+
byType(type: PaymentProvider['type'], company: string, project: string): Promise<PaymentProvider | null>;
|
|
11
|
+
/**
|
|
12
|
+
* loads the product behind an externalId from the active provider of that type
|
|
13
|
+
*/
|
|
14
|
+
getProduct(type: PaymentProvider['type'], externalId: string, company: string, project: string): Promise<import("@lilaquadrat/interfaces").PaymentProviderProduct>;
|
|
10
15
|
export(options: Options): Promise<import("mongodb").WithId<PaymentProvider>[]>;
|
|
11
16
|
}
|
|
12
17
|
declare const _default: PaymentProvidersService;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Immutable from '../Immutable.class.js';
|
|
2
2
|
import PaymentProviderModel from '../models/payment-provider.model.js';
|
|
3
|
+
import PaymentProviderFactory from '../classes/paymentProviders/PaymentProviderFactory.class.js';
|
|
3
4
|
export class PaymentProvidersService extends Immutable {
|
|
4
5
|
constructor() {
|
|
5
6
|
super(...arguments);
|
|
@@ -18,6 +19,15 @@ export class PaymentProvidersService extends Immutable {
|
|
|
18
19
|
byType(type, company, project) {
|
|
19
20
|
return this.model.db.findOne({ type, company, project, active: true });
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* loads the product behind an externalId from the active provider of that type
|
|
24
|
+
*/
|
|
25
|
+
async getProduct(type, externalId, company, project) {
|
|
26
|
+
const provider = await this.byType(type, company, project);
|
|
27
|
+
if (!provider)
|
|
28
|
+
throw new Error('NO_PAYMENT_PROVIDER');
|
|
29
|
+
return PaymentProviderFactory(provider).getProduct(externalId);
|
|
30
|
+
}
|
|
21
31
|
export(options) {
|
|
22
32
|
return this.model.db.find({ company: options.company, project: options.project }).toArray();
|
|
23
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentProviders.service.js","sourceRoot":"","sources":["../../../src/services/paymentProviders.service.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"paymentProviders.service.js","sourceRoot":"","sources":["../../../src/services/paymentProviders.service.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AAEvE,OAAO,sBAAsB,MAAM,6DAA6D,CAAC;AAEjG,MAAM,OAAO,uBAAwB,SAAQ,SAA0B;IAAvE;;QAEE,UAAK,GAAG,oBAAoB,CAAC;IA6C/B,CAAC;IA3CC,iBAAiB,CAAC,MAA2B,EAAE,IAA6B;QAE1E,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClF,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEjF,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,CAAC;IAED,YAAY,CAAC,UAAoB,EAAE,OAAe,EAAE,OAAe;QAEjE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtE,CAAC;IAKD,MAAM,CAAC,IAA6B,EAAE,OAAe,EAAE,OAAe;QAEpE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAA6B,EAAE,UAAkB,EAAE,OAAe,EAAE,OAAe;QAElG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEtD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEjE,CAAC;IAED,MAAM,CAAC,OAAgB;QAErB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAE9F,CAAC;CAEF;AAED,eAAe,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ObjectId, WithId } from 'mongodb';
|
|
2
|
+
import type { ShiftPlanDay, ShiftPlanDayInput, ShiftPlanningPage, ShiftPlanningProjectOptions } from '@lilaquadrat/interfaces';
|
|
3
|
+
import Immutable from '../Immutable.class.js';
|
|
4
|
+
/** A day is the scheduling container under a plan; its work-area links become the columns shifts are placed in. */
|
|
5
|
+
export declare class ShiftPlanDaysService extends Immutable<ShiftPlanDay> {
|
|
6
|
+
model: import("../classes/shiftPlanningModel.class.js").default<ShiftPlanDay>;
|
|
7
|
+
private configuration;
|
|
8
|
+
createDay(plan: ObjectId, input: ShiftPlanDayInput, options: ShiftPlanningProjectOptions): Promise<ShiftPlanDay>;
|
|
9
|
+
singleDay(plan: ObjectId, day: ObjectId, options: ShiftPlanningProjectOptions): Promise<WithId<ShiftPlanDay> | null>;
|
|
10
|
+
dayForScheduling(plan: ObjectId, day: ObjectId, options: ShiftPlanningProjectOptions): Promise<WithId<ShiftPlanDay>>;
|
|
11
|
+
dayForScheduling(plan: ObjectId, day: ObjectId, options: ShiftPlanningProjectOptions, required: false): Promise<WithId<ShiftPlanDay> | null>;
|
|
12
|
+
changeDay(plan: ObjectId, day: ObjectId, input: ShiftPlanDayInput, options: ShiftPlanningProjectOptions): Promise<ShiftPlanDay>;
|
|
13
|
+
removeDay(plan: ObjectId, day: ObjectId, options: ShiftPlanningProjectOptions): Promise<void>;
|
|
14
|
+
listDays(plan: ObjectId, filters: {
|
|
15
|
+
site?: number;
|
|
16
|
+
}, options: ShiftPlanningProjectOptions): Promise<ShiftPlanningPage<ShiftPlanDay>>;
|
|
17
|
+
daysForPlans(plans: ObjectId[], options: ShiftPlanningProjectOptions): Promise<WithId<ShiftPlanDay>[]>;
|
|
18
|
+
plansInRange(from: string | undefined, to: string | undefined, options: ShiftPlanningProjectOptions): Promise<ObjectId[]>;
|
|
19
|
+
hasWorkAreaReference(area: ObjectId, options: ShiftPlanningProjectOptions): Promise<boolean>;
|
|
20
|
+
}
|
|
21
|
+
declare const _default: ShiftPlanDaysService;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ObjectId } from 'mongodb';
|
|
2
|
+
import Immutable from '../Immutable.class.js';
|
|
3
|
+
import ImmutableError from '../classes/errors/Immutable.error.js';
|
|
4
|
+
import DayModel from '../models/shiftPlanDays.model.js';
|
|
5
|
+
import ShiftPlansService from './shiftPlans.service.js';
|
|
6
|
+
import ShiftsService from './shifts.service.js';
|
|
7
|
+
import WorkAreasService from './workAreas.service.js';
|
|
8
|
+
import { assertUniquePlanningIds, planningPage, planningPagination } from '../helpers/shiftPlanningValidation.js';
|
|
9
|
+
import { planningValidation } from '../helpers/shiftPlanningTime.js';
|
|
10
|
+
/** A day is the scheduling container under a plan; its work-area links become the columns shifts are placed in. */
|
|
11
|
+
export class ShiftPlanDaysService extends Immutable {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.model = DayModel;
|
|
15
|
+
}
|
|
16
|
+
async configuration(input, options) {
|
|
17
|
+
const links = input.areas ?? [];
|
|
18
|
+
assertUniquePlanningIds(links.map((link) => link.area.toHexString()), '/areas');
|
|
19
|
+
const areas = await WorkAreasService.areasForPlanning(links.map((link) => link.area), options);
|
|
20
|
+
if (areas.length !== new Set(links.map((link) => link.area.toHexString())).size)
|
|
21
|
+
planningValidation('/areas', 'work areas must exist in this project');
|
|
22
|
+
return { date: input.date, ...(input.name ? { name: input.name } : {}), ...(links.length ? { areas: links } : {}) };
|
|
23
|
+
}
|
|
24
|
+
async createDay(plan, input, options) {
|
|
25
|
+
await ShiftPlansService.planForScheduling(plan, options);
|
|
26
|
+
const existing = await this.model.db.findOne({ company: options.company, project: options.project, plan, date: input.date });
|
|
27
|
+
if (existing)
|
|
28
|
+
planningValidation('/date', 'must be unique within the plan');
|
|
29
|
+
const created = await this.create({ _id: new ObjectId(), company: options.company, project: options.project, plan, ...await this.configuration(input, options) }, options.user, options.app);
|
|
30
|
+
return (await this.singleDay(plan, created._id, options));
|
|
31
|
+
}
|
|
32
|
+
async singleDay(plan, day, options) {
|
|
33
|
+
return this.model.db.findOne({ _id: day, company: options.company, project: options.project, plan });
|
|
34
|
+
}
|
|
35
|
+
async dayForScheduling(plan, day, options, required = true) {
|
|
36
|
+
const document = await this.singleDay(plan, day, options);
|
|
37
|
+
if (!document && required)
|
|
38
|
+
throw new ImmutableError('SHIFT_PLAN_DAY_NOT_FOUND');
|
|
39
|
+
return document;
|
|
40
|
+
}
|
|
41
|
+
async changeDay(plan, day, input, options) {
|
|
42
|
+
const previous = await this.dayForScheduling(plan, day, options);
|
|
43
|
+
const duplicate = await this.model.db.findOne({ _id: { $ne: day }, company: options.company, project: options.project, plan, date: input.date });
|
|
44
|
+
if (duplicate)
|
|
45
|
+
planningValidation('/date', 'must be unique within the plan');
|
|
46
|
+
await ShiftPlansService.planForScheduling(plan, options);
|
|
47
|
+
const configuration = await this.configuration(input, options);
|
|
48
|
+
await ShiftsService.assertDayReferences(previous, configuration, options);
|
|
49
|
+
await this.immutable({ _id: day, company: options.company, project: options.project, plan }, configuration, options.user, 'change', options.app);
|
|
50
|
+
return (await this.singleDay(plan, day, options));
|
|
51
|
+
}
|
|
52
|
+
async removeDay(plan, day, options) {
|
|
53
|
+
await this.dayForScheduling(plan, day, options);
|
|
54
|
+
if (await ShiftsService.hasDayShifts(day, options))
|
|
55
|
+
throw new ImmutableError('SHIFT_PLAN_DAY_IN_USE');
|
|
56
|
+
await this.delete(day, options.user, options.app);
|
|
57
|
+
}
|
|
58
|
+
async listDays(plan, filters, options) {
|
|
59
|
+
await ShiftPlansService.planForScheduling(plan, options);
|
|
60
|
+
const query = { company: options.company, project: options.project, plan };
|
|
61
|
+
const { site, limit, skip } = planningPagination(filters);
|
|
62
|
+
const all = await this.model.db.countDocuments(query);
|
|
63
|
+
const days = await this.model.db.find(query).sort({ date: 1, _id: 1 }).skip(skip).limit(limit).toArray();
|
|
64
|
+
return planningPage(days, all, site, limit);
|
|
65
|
+
}
|
|
66
|
+
daysForPlans(plans, options) {
|
|
67
|
+
if (!plans.length)
|
|
68
|
+
return Promise.resolve([]);
|
|
69
|
+
return this.model.db.find({ company: options.company, project: options.project, plan: { $in: plans } }).sort({ date: 1, _id: 1 }).toArray();
|
|
70
|
+
}
|
|
71
|
+
plansInRange(from, to, options) {
|
|
72
|
+
const date = { ...(from ? { $gte: from } : {}), ...(to ? { $lt: to } : {}) };
|
|
73
|
+
return this.model.db.distinct('plan', { company: options.company, project: options.project, date });
|
|
74
|
+
}
|
|
75
|
+
hasWorkAreaReference(area, options) {
|
|
76
|
+
return this.model.db.countDocuments({ company: options.company, project: options.project, 'areas.area': area }).then((count) => count > 0);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export default new ShiftPlanDaysService();
|
|
80
|
+
//# sourceMappingURL=shiftPlanDays.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shiftPlanDays.service.js","sourceRoot":"","sources":["../../../src/services/shiftPlanDays.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ShiftPlanningSettings, ShiftPlanningSettingsInput, ShiftPlanningProjectOptions } from '@lilaquadrat/interfaces';
|
|
2
|
+
import Immutable from '../Immutable.class.js';
|
|
3
|
+
/** Company defaults remain separate from plan overrides so changing a default does not erase explicit choices. */
|
|
4
|
+
export declare class ShiftPlanningSettingsService extends Immutable<ShiftPlanningSettings> {
|
|
5
|
+
model: import("../classes/shiftPlanningModel.class.js").default<ShiftPlanningSettings>;
|
|
6
|
+
singleSettings(options: ShiftPlanningProjectOptions): Promise<ShiftPlanningSettings | null>;
|
|
7
|
+
/** Existing schedules are retained when stricter defaults introduce attention items. */
|
|
8
|
+
changeSettings(input: ShiftPlanningSettingsInput, options: ShiftPlanningProjectOptions): Promise<ShiftPlanningSettings>;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: ShiftPlanningSettingsService;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import Immutable from '../Immutable.class.js';
|
|
2
|
+
import SettingsModel from '../models/shiftPlanningSettings.model.js';
|
|
3
|
+
import { validatePolicy } from '../helpers/shiftPlanningTime.js';
|
|
4
|
+
/** Company defaults remain separate from plan overrides so changing a default does not erase explicit choices. */
|
|
5
|
+
export class ShiftPlanningSettingsService extends Immutable {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.model = SettingsModel;
|
|
9
|
+
}
|
|
10
|
+
async singleSettings(options) {
|
|
11
|
+
return this.model.db.findOne({ company: options.company, project: options.project });
|
|
12
|
+
}
|
|
13
|
+
/** Existing schedules are retained when stricter defaults introduce attention items. */
|
|
14
|
+
async changeSettings(input, options) {
|
|
15
|
+
validatePolicy(input?.settings);
|
|
16
|
+
const previous = await this.singleSettings(options);
|
|
17
|
+
if (previous) {
|
|
18
|
+
await this.immutable({ _id: previous._id, company: options.company, project: options.project }, input, options.user, 'change', options.app);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
await this.create({ company: options.company, project: options.project, settings: input.settings }, options.user, options.app);
|
|
22
|
+
}
|
|
23
|
+
return (await this.singleSettings(options));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export default new ShiftPlanningSettingsService();
|
|
27
|
+
//# sourceMappingURL=shiftPlanningSettings.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shiftPlanningSettings.service.js","sourceRoot":"","sources":["../../../src/services/shiftPlanningSettings.service.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,kHAAkH;AAClH,MAAM,OAAO,4BAA6B,SAAQ,SAAgC;IAAlF;;QACE,UAAK,GAAG,aAAa,CAAC;IAiBxB,CAAC;IAfC,KAAK,CAAC,cAAc,CAAC,OAAoC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,cAAc,CAAC,KAAiC,EAAE,OAAoC;QAC1F,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9I,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACjI,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAE,CAAC;IAC/C,CAAC;CACF;AAED,eAAe,IAAI,4BAA4B,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ObjectId, WithId } from 'mongodb';
|
|
2
|
+
import type { ShiftPlan, ShiftPlanChangeInput, ShiftPlanCreateInput, ShiftPlanFilters, ShiftPlanResponse, ShiftPlanningPage, ShiftPlanningProjectOptions, ShiftPlanningCompanyOptions } from '@lilaquadrat/interfaces';
|
|
3
|
+
import Immutable from '../Immutable.class.js';
|
|
4
|
+
/** A plan is the top-level scheduling unit; its employee list is an optional, reusable reference. Days are separate documents. */
|
|
5
|
+
export declare class ShiftPlansService extends Immutable<ShiftPlan> {
|
|
6
|
+
model: import("../classes/shiftPlanningModel.class.js").default<ShiftPlan>;
|
|
7
|
+
private employeeList;
|
|
8
|
+
/** One binding per work area, each category must belong to the linked employee list. */
|
|
9
|
+
private workAreaCategories;
|
|
10
|
+
private configuration;
|
|
11
|
+
/** Name/date overlap is intentional: departments and successive weeks may reuse the same pool. */
|
|
12
|
+
createPlan(input: ShiftPlanCreateInput, options: ShiftPlanningProjectOptions): Promise<ShiftPlanResponse>;
|
|
13
|
+
singlePlan(plan: ObjectId, options: ShiftPlanningProjectOptions): Promise<ShiftPlanResponse | null>;
|
|
14
|
+
changePlan(plan: ObjectId, input: ShiftPlanChangeInput, options: ShiftPlanningProjectOptions): Promise<ShiftPlanResponse>;
|
|
15
|
+
listPlans(filters: ShiftPlanFilters, options: ShiftPlanningProjectOptions): Promise<ShiftPlanningPage<ShiftPlanResponse>>;
|
|
16
|
+
planForScheduling(plan: ObjectId, options: ShiftPlanningProjectOptions): Promise<WithId<ShiftPlan>>;
|
|
17
|
+
planForScheduling(plan: ObjectId, options: ShiftPlanningProjectOptions, required: false): Promise<WithId<ShiftPlan> | null>;
|
|
18
|
+
plansForProject(options: ShiftPlanningProjectOptions, list?: ObjectId): Promise<WithId<ShiftPlan>[]>;
|
|
19
|
+
/** Labor checks may span projects; callers return only diagnostics, never these other plans' details. */
|
|
20
|
+
plansForCompany(plans: ObjectId[], options: ShiftPlanningCompanyOptions): Promise<WithId<ShiftPlan>[]>;
|
|
21
|
+
private responses;
|
|
22
|
+
}
|
|
23
|
+
declare const _default: ShiftPlansService;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import Immutable from '../Immutable.class.js';
|
|
2
|
+
import ImmutableError from '../classes/errors/Immutable.error.js';
|
|
3
|
+
import PlanModel from '../models/shiftPlan.model.js';
|
|
4
|
+
import ListsService from './lists.service.js';
|
|
5
|
+
import WorkAreasService from './workAreas.service.js';
|
|
6
|
+
import ShiftPlanDaysService from './shiftPlanDays.service.js';
|
|
7
|
+
import ShiftsService from './shifts.service.js';
|
|
8
|
+
import SettingsService from './shiftPlanningSettings.service.js';
|
|
9
|
+
import { effectivePolicy, localFormatter, normalizeDate, planningValidation, validatePolicy } from '../helpers/shiftPlanningTime.js';
|
|
10
|
+
import { assertUniquePlanningIds, planningPage, planningPagination, planningSearch } from '../helpers/shiftPlanningValidation.js';
|
|
11
|
+
/** A plan is the top-level scheduling unit; its employee list is an optional, reusable reference. Days are separate documents. */
|
|
12
|
+
export class ShiftPlansService extends Immutable {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.model = PlanModel;
|
|
16
|
+
}
|
|
17
|
+
async employeeList(list, options) {
|
|
18
|
+
if (!list)
|
|
19
|
+
return undefined;
|
|
20
|
+
const result = await ListsService.singleForPlanning(list, options);
|
|
21
|
+
if (!result)
|
|
22
|
+
throw new ImmutableError('LIST_NOT_FOUND');
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
/** One binding per work area, each category must belong to the linked employee list. */
|
|
26
|
+
async workAreaCategories(input, list, options) {
|
|
27
|
+
if (input.workAreaCategories === undefined)
|
|
28
|
+
return undefined;
|
|
29
|
+
const entries = input.workAreaCategories.filter((entry) => (entry.categoryIds ?? []).length);
|
|
30
|
+
if (!entries.length)
|
|
31
|
+
return [];
|
|
32
|
+
const areaIds = entries.map((entry) => entry.area);
|
|
33
|
+
assertUniquePlanningIds(areaIds.map((area) => area.toHexString()), '/workAreaCategories');
|
|
34
|
+
const areas = await WorkAreasService.areasForPlanning(areaIds, options);
|
|
35
|
+
if (areas.length !== new Set(areaIds.map((area) => area.toHexString())).size)
|
|
36
|
+
planningValidation('/workAreaCategories', 'work areas must exist in this project');
|
|
37
|
+
const listCategoryIds = new Set((list?.categories ?? []).map((category) => category._id.toHexString()));
|
|
38
|
+
entries.forEach((entry) => {
|
|
39
|
+
const ids = entry.categoryIds ?? [];
|
|
40
|
+
assertUniquePlanningIds(ids.map((category) => category.toHexString()), '/workAreaCategories/categoryIds');
|
|
41
|
+
if (!list)
|
|
42
|
+
planningValidation('/workAreaCategories/categoryIds', 'categories require a linked employee list');
|
|
43
|
+
if (ids.some((category) => !listCategoryIds.has(category.toHexString())))
|
|
44
|
+
planningValidation('/workAreaCategories/categoryIds', 'categories must belong to this employee list');
|
|
45
|
+
});
|
|
46
|
+
return entries;
|
|
47
|
+
}
|
|
48
|
+
async configuration(input, list, options) {
|
|
49
|
+
localFormatter(input.timeZone);
|
|
50
|
+
const settings = await SettingsService.singleSettings(options);
|
|
51
|
+
const overrides = input.settingsOverrides ?? {};
|
|
52
|
+
validatePolicy({ ...settings?.settings, ...overrides });
|
|
53
|
+
const workAreaCategories = await this.workAreaCategories(input, list, options);
|
|
54
|
+
if (input.workHours !== undefined && input.workHours.start >= input.workHours.end)
|
|
55
|
+
planningValidation('/workHours/end', 'end must be after start');
|
|
56
|
+
return {
|
|
57
|
+
name: input.name, timeZone: input.timeZone, settingsOverrides: overrides,
|
|
58
|
+
...(workAreaCategories !== undefined ? { workAreaCategories } : {}),
|
|
59
|
+
...(input.defaultParticipantState !== undefined ? { defaultParticipantState: input.defaultParticipantState } : {}),
|
|
60
|
+
...(input.workHours !== undefined ? { workHours: input.workHours } : {}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/** Name/date overlap is intentional: departments and successive weeks may reuse the same pool. */
|
|
64
|
+
async createPlan(input, options) {
|
|
65
|
+
const { list } = input;
|
|
66
|
+
const listDocument = await this.employeeList(list, options);
|
|
67
|
+
const configuration = await this.configuration(input, listDocument, options);
|
|
68
|
+
const created = await this.create({ company: options.company, project: options.project, ...(list ? { list } : {}), ...configuration }, options.user, options.app);
|
|
69
|
+
return (await this.singlePlan(created._id, options));
|
|
70
|
+
}
|
|
71
|
+
async singlePlan(plan, options) {
|
|
72
|
+
const document = await this.planForScheduling(plan, options, false);
|
|
73
|
+
if (!document)
|
|
74
|
+
return null;
|
|
75
|
+
const response = (await this.responses([document], options))[0];
|
|
76
|
+
// The plan detail is edited as a whole, so one request carries its schedule instead of a separate shifts list.
|
|
77
|
+
const shifts = await ShiftsService.listShifts(plan, {}, options);
|
|
78
|
+
return { ...response, shifts: shifts.data };
|
|
79
|
+
}
|
|
80
|
+
async changePlan(plan, input, options) {
|
|
81
|
+
await this.planForScheduling(plan, options);
|
|
82
|
+
const { list } = input;
|
|
83
|
+
const listDocument = await this.employeeList(list, options);
|
|
84
|
+
const configuration = await this.configuration(input, listDocument, options);
|
|
85
|
+
await ShiftsService.assertPlanTimeZone(plan, configuration.timeZone, options);
|
|
86
|
+
await this.immutable({ _id: plan, company: options.company, project: options.project }, { ...configuration, ...(list ? { list } : {}) }, options.user, 'change', options.app);
|
|
87
|
+
return (await this.singlePlan(plan, options));
|
|
88
|
+
}
|
|
89
|
+
async listPlans(filters, options) {
|
|
90
|
+
const from = filters.from ? normalizeDate(filters.from) : undefined;
|
|
91
|
+
const to = filters.to ? normalizeDate(filters.to) : undefined;
|
|
92
|
+
if (from && to && from >= to)
|
|
93
|
+
planningValidation('/to', 'must be after from');
|
|
94
|
+
const query = { company: options.company, project: options.project };
|
|
95
|
+
if (filters.list)
|
|
96
|
+
query.list = filters.list;
|
|
97
|
+
const search = planningSearch(filters.search);
|
|
98
|
+
if (search)
|
|
99
|
+
query.name = { $regex: search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), $options: 'i' };
|
|
100
|
+
if (from || to) {
|
|
101
|
+
const plans = await ShiftPlanDaysService.plansInRange(from, to, options);
|
|
102
|
+
query._id = { $in: plans };
|
|
103
|
+
}
|
|
104
|
+
const { site, limit, skip } = planningPagination(filters);
|
|
105
|
+
const all = await this.model.db.countDocuments(query);
|
|
106
|
+
const plans = await this.model.db.find(query).sort({ name: 1, _id: 1 }).skip(skip).limit(limit).toArray();
|
|
107
|
+
return planningPage(await this.responses(plans, options), all, site, limit);
|
|
108
|
+
}
|
|
109
|
+
async planForScheduling(plan, options, required = true) {
|
|
110
|
+
const document = await this.model.db.findOne({ _id: plan, company: options.company, project: options.project });
|
|
111
|
+
if (!document && required)
|
|
112
|
+
throw new ImmutableError('SHIFT_PLAN_NOT_FOUND');
|
|
113
|
+
return document;
|
|
114
|
+
}
|
|
115
|
+
plansForProject(options, list) {
|
|
116
|
+
return this.model.db.find({ company: options.company, project: options.project, ...(list ? { list } : {}) }).toArray();
|
|
117
|
+
}
|
|
118
|
+
/** Labor checks may span projects; callers return only diagnostics, never these other plans' details. */
|
|
119
|
+
plansForCompany(plans, options) {
|
|
120
|
+
return this.model.db.find({ company: options.company, _id: { $in: plans } }).toArray();
|
|
121
|
+
}
|
|
122
|
+
async responses(plans, options) {
|
|
123
|
+
const settings = await SettingsService.singleSettings(options);
|
|
124
|
+
const days = await ShiftPlanDaysService.daysForPlans(plans.map((plan) => plan._id), options);
|
|
125
|
+
const areas = await WorkAreasService.areasForPlanning(days.flatMap((day) => (day.areas ?? []).map((link) => link.area)), options);
|
|
126
|
+
const listIds = plans.map((plan) => plan.list).filter((list) => !!list);
|
|
127
|
+
const lists = listIds.length ? await ListsService.listsForPlanning(listIds, options) : [];
|
|
128
|
+
return plans.map((plan) => {
|
|
129
|
+
const planDays = days.filter((day) => day.plan.equals(plan._id));
|
|
130
|
+
const list = plan.list ? lists.find((document) => document._id.equals(plan.list)) : undefined;
|
|
131
|
+
return { ...plan, days: planDays, effectiveSettings: effectivePolicy(settings?.settings, plan.settingsOverrides),
|
|
132
|
+
workAreas: areas.filter((area) => planDays.some((day) => (day.areas ?? []).some((link) => link.area.equals(area._id)))),
|
|
133
|
+
...(list?.categories?.length ? { categories: list.categories } : {}),
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export default new ShiftPlansService();
|
|
139
|
+
//# sourceMappingURL=shiftPlans.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shiftPlans.service.js","sourceRoot":"","sources":["../../../src/services/shiftPlans.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ObjectId, WithId } from 'mongodb';
|
|
2
|
+
import type { MemberShift, MemberShiftFilters, Shift, ShiftAssignmentsInput, ShiftCreateInput, ShiftInput, ShiftPlanDay, ShiftPlanningFilters, ShiftPlanningPage, ShiftResponse, ShiftPlanningProjectOptions } from '@lilaquadrat/interfaces';
|
|
3
|
+
import Immutable from '../Immutable.class.js';
|
|
4
|
+
/** Scheduling owns employee allocation; work areas and plans only supply reusable identity/configuration. */
|
|
5
|
+
export declare class ShiftsService extends Immutable<Shift> {
|
|
6
|
+
model: import("../classes/shiftPlanningModel.class.js").default<Shift>;
|
|
7
|
+
private normalizedTime;
|
|
8
|
+
private document;
|
|
9
|
+
private resolvedAssignments;
|
|
10
|
+
createShift(plan: ObjectId, input: ShiftCreateInput, options: ShiftPlanningProjectOptions): Promise<ShiftResponse>;
|
|
11
|
+
singleShift(plan: ObjectId, shift: ObjectId, options: ShiftPlanningProjectOptions): Promise<ShiftResponse | null>;
|
|
12
|
+
listShifts(plan: ObjectId, filters: ShiftPlanningFilters, options: ShiftPlanningProjectOptions): Promise<ShiftPlanningPage<ShiftResponse>>;
|
|
13
|
+
/** Absolute break times survive edits; moving a shift outside them must be resolved explicitly by the planner. */
|
|
14
|
+
changeShift(plan: ObjectId, shift: ObjectId, input: ShiftInput, options: ShiftPlanningProjectOptions): Promise<ShiftResponse>;
|
|
15
|
+
removeShift(plan: ObjectId, shift: ObjectId, options: ShiftPlanningProjectOptions): Promise<void>;
|
|
16
|
+
replaceAssignments(plan: ObjectId, shift: ObjectId, input: ShiftAssignmentsInput, options: ShiftPlanningProjectOptions): Promise<ShiftResponse>;
|
|
17
|
+
hasWorkAreaAssignments(area: ObjectId, options: ShiftPlanningProjectOptions): Promise<boolean>;
|
|
18
|
+
/** A plan cannot change its time zone while existing shifts would no longer match their day's local date. */
|
|
19
|
+
assertPlanTimeZone(plan: ObjectId, timeZone: string, options: ShiftPlanningProjectOptions): Promise<void>;
|
|
20
|
+
hasDayShifts(day: ObjectId, options: ShiftPlanningProjectOptions): Promise<boolean>;
|
|
21
|
+
/** A day cannot drop an area or change its date while shifts still reference it. */
|
|
22
|
+
assertDayReferences(previous: WithId<ShiftPlanDay>, configuration: Pick<ShiftPlanDay, 'date' | 'areas'>, options: ShiftPlanningProjectOptions): Promise<void>;
|
|
23
|
+
myShifts(customer: ObjectId, filters: MemberShiftFilters, options: ShiftPlanningProjectOptions): Promise<ShiftPlanningPage<MemberShift>>;
|
|
24
|
+
private reportContext;
|
|
25
|
+
private reports;
|
|
26
|
+
private validateSchedule;
|
|
27
|
+
}
|
|
28
|
+
declare const _default: ShiftsService;
|
|
29
|
+
export default _default;
|