@aneuhold/core-ts-db-lib 2.0.90 → 3.0.1
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/CHANGELOG.md +19 -1
- package/lib/documents/BaseDocument.d.ts +3 -4
- package/lib/documents/BaseDocument.d.ts.map +1 -1
- package/lib/documents/BaseDocument.js +2 -2
- package/lib/documents/BaseDocument.js.map +1 -1
- package/lib/documents/BaseDocument.ts +4 -4
- package/lib/documents/common/ApiKey.d.ts +2 -3
- package/lib/documents/common/ApiKey.d.ts.map +1 -1
- package/lib/documents/common/ApiKey.js +2 -2
- package/lib/documents/common/ApiKey.js.map +1 -1
- package/lib/documents/common/ApiKey.ts +4 -4
- package/lib/documents/common/User.d.ts +2 -2
- package/lib/documents/common/User.d.ts.map +1 -1
- package/lib/documents/common/User.js +0 -1
- package/lib/documents/common/User.js.map +1 -1
- package/lib/documents/common/User.ts +2 -2
- package/lib/documents/dashboard/NonogramKatanaItem.d.ts +3 -3
- package/lib/documents/dashboard/NonogramKatanaItem.d.ts.map +1 -1
- package/lib/documents/dashboard/NonogramKatanaItem.js +0 -1
- package/lib/documents/dashboard/NonogramKatanaItem.js.map +1 -1
- package/lib/documents/dashboard/NonogramKatanaItem.ts +3 -3
- package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts +3 -3
- package/lib/documents/dashboard/NonogramKatanaUpgrade.d.ts.map +1 -1
- package/lib/documents/dashboard/NonogramKatanaUpgrade.js +0 -1
- package/lib/documents/dashboard/NonogramKatanaUpgrade.js.map +1 -1
- package/lib/documents/dashboard/NonogramKatanaUpgrade.ts +3 -3
- package/lib/documents/dashboard/Task.d.ts +8 -8
- package/lib/documents/dashboard/Task.d.ts.map +1 -1
- package/lib/documents/dashboard/Task.js +3 -3
- package/lib/documents/dashboard/Task.js.map +1 -1
- package/lib/documents/dashboard/Task.ts +10 -10
- package/lib/documents/dashboard/UserConfig.d.ts +5 -5
- package/lib/documents/dashboard/UserConfig.d.ts.map +1 -1
- package/lib/documents/dashboard/UserConfig.js +3 -3
- package/lib/documents/dashboard/UserConfig.js.map +1 -1
- package/lib/documents/dashboard/UserConfig.ts +7 -6
- package/lib/embedded-types/dashboard/task/FilterSettings.d.ts +4 -3
- package/lib/embedded-types/dashboard/task/FilterSettings.d.ts.map +1 -1
- package/lib/embedded-types/dashboard/task/FilterSettings.js +1 -1
- package/lib/embedded-types/dashboard/task/FilterSettings.js.map +1 -1
- package/lib/embedded-types/dashboard/task/FilterSettings.ts +5 -4
- package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts +2 -2
- package/lib/embedded-types/dashboard/task/RecurrenceInfo.d.ts.map +1 -1
- package/lib/embedded-types/dashboard/task/RecurrenceInfo.js +0 -1
- package/lib/embedded-types/dashboard/task/RecurrenceInfo.js.map +1 -1
- package/lib/embedded-types/dashboard/task/RecurrenceInfo.ts +2 -2
- package/lib/embedded-types/dashboard/task/SortSettings.d.ts +4 -3
- package/lib/embedded-types/dashboard/task/SortSettings.d.ts.map +1 -1
- package/lib/embedded-types/dashboard/task/SortSettings.js +1 -1
- package/lib/embedded-types/dashboard/task/SortSettings.js.map +1 -1
- package/lib/embedded-types/dashboard/task/SortSettings.ts +5 -4
- package/lib/schemas/required-refs/RequiredUserId.d.ts +2 -2
- package/lib/schemas/required-refs/RequiredUserId.d.ts.map +1 -1
- package/lib/schemas/required-refs/RequiredUserId.js +0 -1
- package/lib/schemas/required-refs/RequiredUserId.js.map +1 -1
- package/lib/schemas/required-refs/RequiredUserId.ts +2 -2
- package/lib/services/DocumentService.d.ts +3 -1
- package/lib/services/DocumentService.d.ts.map +1 -1
- package/lib/services/DocumentService.js +4 -0
- package/lib/services/DocumentService.js.map +1 -1
- package/lib/services/DocumentService.ts +7 -1
- package/lib/services/dashboard/Task/TaskFilterService.d.ts +4 -3
- package/lib/services/dashboard/Task/TaskFilterService.d.ts.map +1 -1
- package/lib/services/dashboard/Task/TaskFilterService.js +2 -2
- package/lib/services/dashboard/Task/TaskFilterService.js.map +1 -1
- package/lib/services/dashboard/Task/TaskFilterService.ts +8 -7
- package/lib/services/dashboard/Task/TaskService.d.ts +8 -8
- package/lib/services/dashboard/Task/TaskService.d.ts.map +1 -1
- package/lib/services/dashboard/Task/TaskService.js +8 -9
- package/lib/services/dashboard/Task/TaskService.js.map +1 -1
- package/lib/services/dashboard/Task/TaskService.ts +25 -28
- package/lib/services/dashboard/Task/TaskSortService.d.ts +3 -2
- package/lib/services/dashboard/Task/TaskSortService.d.ts.map +1 -1
- package/lib/services/dashboard/Task/TaskSortService.js.map +1 -1
- package/lib/services/dashboard/Task/TaskSortService.ts +11 -10
- package/package.json +11 -6
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ObjectId } from 'bson';
|
|
2
1
|
import { validateFilterSettings } from '../../embedded-types/dashboard/task/FilterSettings.js';
|
|
3
2
|
import { validateSortSettings } from '../../embedded-types/dashboard/task/SortSettings.js';
|
|
4
3
|
import RequiredUserId from '../../schemas/required-refs/RequiredUserId.js';
|
|
5
4
|
import Validate from '../../schemas/validators/ValidateUtil.js';
|
|
5
|
+
import DocumentService from '../../services/DocumentService.js';
|
|
6
6
|
import BaseDocumentWithType from '../BaseDocumentWithType.js';
|
|
7
7
|
/**
|
|
8
8
|
* Validates a {@link DashboardUserConfig} object.
|
|
@@ -13,7 +13,7 @@ import BaseDocumentWithType from '../BaseDocumentWithType.js';
|
|
|
13
13
|
export const validateDashboardUserConfig = (config) => {
|
|
14
14
|
const errors = [];
|
|
15
15
|
const validate = new Validate(config, errors);
|
|
16
|
-
const exampleConfig = new DashboardUserConfig(
|
|
16
|
+
const exampleConfig = new DashboardUserConfig(DocumentService.generateID());
|
|
17
17
|
validate.boolean('enableDevMode', exampleConfig.enableDevMode);
|
|
18
18
|
validate.array('collaborators', exampleConfig.collaborators);
|
|
19
19
|
validate.object('tagSettings', {});
|
|
@@ -81,7 +81,7 @@ export default class DashboardUserConfig extends BaseDocumentWithType {
|
|
|
81
81
|
/**
|
|
82
82
|
* Creates an instance of {@link DashboardUserConfig}.
|
|
83
83
|
*
|
|
84
|
-
* @param ownerId - The {@link
|
|
84
|
+
* @param ownerId - The {@link UUID} of the owner of this config.
|
|
85
85
|
*/
|
|
86
86
|
constructor(ownerId) {
|
|
87
87
|
super();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserConfig.js","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserConfig.js","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAE/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAE3F,OAAO,cAAc,MAAM,+CAA+C,CAAC;AAE3E,OAAO,QAAQ,MAAM,0CAA0C,CAAC;AAChE,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA2C,CACjF,MAA2B,EAC3B,EAAE;IACF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAE5E,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,CACd,mCAAmC,EACnC,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAChD,CAAC;IACF,QAAQ,CAAC,OAAO,CACd,oCAAoC,EACpC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CACjD,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC5E,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;IACnE,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;IAE9B,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAO;IAEb;;;OAGG;IACH,aAAa,GAAW,EAAE,CAAC;IAE3B;;OAEG;IACH,aAAa,GAAG,KAAK,CAAC;IAEtB;;OAEG;IACH,eAAe,GAOX;QACF,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,KAAK;QAC1B,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IAEF;;;;;;;;;OASG;IACH,oBAAoB,GAAW,EAAE,CAAC;IAElC;;OAEG;IACH,WAAW,GAAyB,EAAE,CAAC;IAEvC;;OAEG;IACH,oBAAoB,GAAwC,EAAE,CAAC;IAE/D;;OAEG;IACH,sBAAsB,GAA0C,EAAE,CAAC;IAEnE;;;;OAIG;IACH,YAAY,OAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;IACxB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
2
2
|
import type { DashboardTaskListGlobalFilterSettings } from '../../embedded-types/dashboard/task/FilterSettings.js';
|
|
3
3
|
import { validateFilterSettings } from '../../embedded-types/dashboard/task/FilterSettings.js';
|
|
4
4
|
import type { DashboardTaskListGlobalSortSettings } from '../../embedded-types/dashboard/task/SortSettings.js';
|
|
@@ -7,6 +7,7 @@ import type { DashboardTagSettings } from '../../embedded-types/dashboard/userCo
|
|
|
7
7
|
import RequiredUserId from '../../schemas/required-refs/RequiredUserId.js';
|
|
8
8
|
import type { DocumentValidator } from '../../schemas/validators/DocumentValidator.js';
|
|
9
9
|
import Validate from '../../schemas/validators/ValidateUtil.js';
|
|
10
|
+
import DocumentService from '../../services/DocumentService.js';
|
|
10
11
|
import BaseDocumentWithType from '../BaseDocumentWithType.js';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -20,7 +21,7 @@ export const validateDashboardUserConfig: DocumentValidator<DashboardUserConfig>
|
|
|
20
21
|
) => {
|
|
21
22
|
const errors: string[] = [];
|
|
22
23
|
const validate = new Validate(config, errors);
|
|
23
|
-
const exampleConfig = new DashboardUserConfig(
|
|
24
|
+
const exampleConfig = new DashboardUserConfig(DocumentService.generateID());
|
|
24
25
|
|
|
25
26
|
validate.boolean('enableDevMode', exampleConfig.enableDevMode);
|
|
26
27
|
validate.array('collaborators', exampleConfig.collaborators);
|
|
@@ -52,13 +53,13 @@ export default class DashboardUserConfig extends BaseDocumentWithType implements
|
|
|
52
53
|
/**
|
|
53
54
|
* The owner of this config.
|
|
54
55
|
*/
|
|
55
|
-
userId:
|
|
56
|
+
userId: UUID;
|
|
56
57
|
|
|
57
58
|
/**
|
|
58
59
|
* The different users that the owner of this config is collaborating with
|
|
59
60
|
* on the dashboard.
|
|
60
61
|
*/
|
|
61
|
-
collaborators:
|
|
62
|
+
collaborators: UUID[] = [];
|
|
62
63
|
|
|
63
64
|
/**
|
|
64
65
|
* Whether or not to enable dev mode for the user.
|
|
@@ -114,9 +115,9 @@ export default class DashboardUserConfig extends BaseDocumentWithType implements
|
|
|
114
115
|
/**
|
|
115
116
|
* Creates an instance of {@link DashboardUserConfig}.
|
|
116
117
|
*
|
|
117
|
-
* @param ownerId - The {@link
|
|
118
|
+
* @param ownerId - The {@link UUID} of the owner of this config.
|
|
118
119
|
*/
|
|
119
|
-
constructor(ownerId:
|
|
120
|
+
constructor(ownerId: UUID) {
|
|
120
121
|
super();
|
|
121
122
|
this.userId = ownerId;
|
|
122
123
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import DashboardUserConfig from '../../../documents/dashboard/UserConfig.js';
|
|
2
3
|
import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
3
4
|
/**
|
|
@@ -6,7 +7,7 @@ import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
|
6
7
|
* @param userId - The ID of the user.
|
|
7
8
|
* @returns The default filter settings for the user's task list.
|
|
8
9
|
*/
|
|
9
|
-
export declare function getDefaultTaskListFilterSettings(userId:
|
|
10
|
+
export declare function getDefaultTaskListFilterSettings(userId: UUID): DashboardTaskListFilterSettings;
|
|
10
11
|
/**
|
|
11
12
|
* Validates the filter settings in the user configuration.
|
|
12
13
|
*
|
|
@@ -26,7 +27,7 @@ export type DashboardTaskListGlobalFilterSettings = {
|
|
|
26
27
|
* own settings for a task.
|
|
27
28
|
*/
|
|
28
29
|
export type DashboardTaskFilterSettings = {
|
|
29
|
-
[userId:
|
|
30
|
+
[userId: UUID]: DashboardTaskListFilterSettings;
|
|
30
31
|
};
|
|
31
32
|
/**
|
|
32
33
|
* The filter settings for a list of tasks for a particular user.
|
|
@@ -35,7 +36,7 @@ export type DashboardTaskFilterSettings = {
|
|
|
35
36
|
* without breaking existing users or tasks.
|
|
36
37
|
*/
|
|
37
38
|
export type DashboardTaskListFilterSettings = {
|
|
38
|
-
userId:
|
|
39
|
+
userId: UUID;
|
|
39
40
|
completed: StandardFilterSetting;
|
|
40
41
|
grandChildrenTasks: StandardFilterSetting;
|
|
41
42
|
startDate: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSettings.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/FilterSettings.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"FilterSettings.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/FilterSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,IAAI,GAAG,+BAA+B,CAQ9F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,QA4BrF;AAED;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,CAAC,QAAQ,EAAE,MAAM,GAAG,+BAA+B,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,CAAC,MAAM,EAAE,IAAI,GAAG,+BAA+B,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,qBAAqB,CAAC;IACjC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,SAAS,EAAE;QACT,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC;CACf,CAAC"}
|
|
@@ -25,7 +25,7 @@ export function validateFilterSettings(validate, config) {
|
|
|
25
25
|
validate.object('taskListFilterSettings', {});
|
|
26
26
|
const categories = Object.keys(config.taskListFilterSettings);
|
|
27
27
|
if (categories.length > 0) {
|
|
28
|
-
const defaultSettings = getDefaultTaskListFilterSettings(config.userId
|
|
28
|
+
const defaultSettings = getDefaultTaskListFilterSettings(config.userId);
|
|
29
29
|
categories.forEach((category) => {
|
|
30
30
|
validate.string(`taskListFilterSettings.${category}.userId`, defaultSettings.userId);
|
|
31
31
|
validate.object(`taskListFilterSettings.${category}.completed`, defaultSettings.completed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSettings.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/FilterSettings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterSettings.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/FilterSettings.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAAY;IAC3D,OAAO;QACL,MAAM;QACN,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACzB,kBAAkB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACnC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;QACpC,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB,EAAE,MAA2B;IACpF,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,QAAQ,CAAC,MAAM,CAAC,0BAA0B,QAAQ,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YACrF,QAAQ,CAAC,MAAM,CAAC,0BAA0B,QAAQ,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3F,QAAQ,CAAC,OAAO,CACd,0BAA0B,QAAQ,iBAAiB,EACnD,eAAe,CAAC,SAAS,CAAC,IAAI,CAC/B,CAAC;YACF,QAAQ,CAAC,MAAM,CACb,0BAA0B,QAAQ,qBAAqB,EACvD,eAAe,CAAC,kBAAkB,CACnC,CAAC;YACF,QAAQ,CAAC,OAAO,CACd,0BAA0B,QAAQ,0BAA0B,EAC5D,eAAe,CAAC,kBAAkB,CAAC,IAAI,CACxC,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,0BAA0B,QAAQ,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;YAC3F,QAAQ,CAAC,OAAO,CACd,0BAA0B,QAAQ,4BAA4B,EAC9D,eAAe,CAAC,SAAS,CAAC,eAAe,CAC1C,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC,0BAA0B,QAAQ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import DashboardUserConfig from '../../../documents/dashboard/UserConfig.js';
|
|
2
3
|
import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
3
4
|
|
|
@@ -7,7 +8,7 @@ import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
|
7
8
|
* @param userId - The ID of the user.
|
|
8
9
|
* @returns The default filter settings for the user's task list.
|
|
9
10
|
*/
|
|
10
|
-
export function getDefaultTaskListFilterSettings(userId:
|
|
11
|
+
export function getDefaultTaskListFilterSettings(userId: UUID): DashboardTaskListFilterSettings {
|
|
11
12
|
return {
|
|
12
13
|
userId,
|
|
13
14
|
completed: { show: true },
|
|
@@ -27,7 +28,7 @@ export function validateFilterSettings(validate: Validate, config: DashboardUser
|
|
|
27
28
|
validate.object('taskListFilterSettings', {});
|
|
28
29
|
const categories = Object.keys(config.taskListFilterSettings);
|
|
29
30
|
if (categories.length > 0) {
|
|
30
|
-
const defaultSettings = getDefaultTaskListFilterSettings(config.userId
|
|
31
|
+
const defaultSettings = getDefaultTaskListFilterSettings(config.userId);
|
|
31
32
|
categories.forEach((category) => {
|
|
32
33
|
validate.string(`taskListFilterSettings.${category}.userId`, defaultSettings.userId);
|
|
33
34
|
validate.object(`taskListFilterSettings.${category}.completed`, defaultSettings.completed);
|
|
@@ -66,7 +67,7 @@ export type DashboardTaskListGlobalFilterSettings = {
|
|
|
66
67
|
* own settings for a task.
|
|
67
68
|
*/
|
|
68
69
|
export type DashboardTaskFilterSettings = {
|
|
69
|
-
[userId:
|
|
70
|
+
[userId: UUID]: DashboardTaskListFilterSettings;
|
|
70
71
|
};
|
|
71
72
|
|
|
72
73
|
/**
|
|
@@ -76,7 +77,7 @@ export type DashboardTaskFilterSettings = {
|
|
|
76
77
|
* without breaking existing users or tasks.
|
|
77
78
|
*/
|
|
78
79
|
export type DashboardTaskListFilterSettings = {
|
|
79
|
-
userId:
|
|
80
|
+
userId: UUID;
|
|
80
81
|
completed: StandardFilterSetting;
|
|
81
82
|
grandChildrenTasks: StandardFilterSetting;
|
|
82
83
|
startDate: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
2
2
|
import DashboardTask from '../../../documents/dashboard/Task.js';
|
|
3
3
|
/**
|
|
4
4
|
* Validates the recurrence information of a given task.
|
|
@@ -88,7 +88,7 @@ export declare enum RecurrenceEffect {
|
|
|
88
88
|
* same as the parent recurring task.
|
|
89
89
|
*/
|
|
90
90
|
export type ParentRecurringTaskInfo = {
|
|
91
|
-
taskId:
|
|
91
|
+
taskId: UUID;
|
|
92
92
|
startDate?: Date;
|
|
93
93
|
dueDate?: Date;
|
|
94
94
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecurrenceInfo.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/RecurrenceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RecurrenceInfo.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/RecurrenceInfo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAuBlF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,cAAc,CAAC,EAAE;QACf,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAC5C;;WAEG;QACH,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,oBAAY,uBAAuB;IACjC,cAAc,mBAAmB;IACjC,UAAU,eAAe;IACzB,oBAAoB,yBAAyB;IAC7C,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,WAAW,gBAAgB;IAC3B;;;OAGG;IACH,gBAAgB,qBAAqB;IACrC;;;;OAIG;IACH,KAAK,UAAU;CAChB;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecurrenceInfo.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/RecurrenceInfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RecurrenceInfo.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/RecurrenceInfo.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,sCAAsC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAmB,EAAE,MAAgB;IAC1E,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QACnC,gBAAgB,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACzC,gBAAgB,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAC1C,gBAAgB,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACxE,CAAC;IAED,4EAA4E;IAC5E,8BAA8B;IAE9B,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;AACnC,CAAC;AA0CD;;GAEG;AACH,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4DAAiC,CAAA;IACjC,oDAAyB,CAAA;IACzB,wEAA6C,CAAA;IAC7C,4DAAiC,CAAA;AACnC,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,gBAgBX;AAhBD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,+CAA2B,CAAA;IAC3B;;;OAGG;IACH,yDAAqC,CAAA;IACrC;;;;OAIG;IACH,mCAAe,CAAA;AACjB,CAAC,EAhBW,gBAAgB,KAAhB,gBAAgB,QAgB3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
2
2
|
import DashboardTask from '../../../documents/dashboard/Task.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -118,7 +118,7 @@ export enum RecurrenceEffect {
|
|
|
118
118
|
* same as the parent recurring task.
|
|
119
119
|
*/
|
|
120
120
|
export type ParentRecurringTaskInfo = {
|
|
121
|
-
taskId:
|
|
121
|
+
taskId: UUID;
|
|
122
122
|
startDate?: Date;
|
|
123
123
|
dueDate?: Date;
|
|
124
124
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import DashboardUserConfig from '../../../documents/dashboard/UserConfig.js';
|
|
2
3
|
import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
3
4
|
/**
|
|
@@ -6,7 +7,7 @@ import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
|
6
7
|
* @param userId - The ID of the user.
|
|
7
8
|
* @returns The default task list sort settings for the user.
|
|
8
9
|
*/
|
|
9
|
-
export declare function getDefaultTaskListSortSettings(userId:
|
|
10
|
+
export declare function getDefaultTaskListSortSettings(userId: UUID): DashboardTaskListSortSettings;
|
|
10
11
|
/**
|
|
11
12
|
* Validates the sort settings for the task list.
|
|
12
13
|
*
|
|
@@ -25,13 +26,13 @@ export type DashboardTaskListGlobalSortSettings = {
|
|
|
25
26
|
* own settings for a task.
|
|
26
27
|
*/
|
|
27
28
|
export type DashboardTaskSortSettings = {
|
|
28
|
-
[userId:
|
|
29
|
+
[userId: UUID]: DashboardTaskListSortSettings;
|
|
29
30
|
};
|
|
30
31
|
/**
|
|
31
32
|
* The sort settings for a list of tasks for a particular user.
|
|
32
33
|
*/
|
|
33
34
|
export type DashboardTaskListSortSettings = {
|
|
34
|
-
userId:
|
|
35
|
+
userId: UUID;
|
|
35
36
|
sortList: Array<DashboardTaskSortSetting>;
|
|
36
37
|
};
|
|
37
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortSettings.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/SortSettings.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"SortSettings.d.ts","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/SortSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,IAAI,GAAG,6BAA6B,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,QAUnF;AAED;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,CAAC,QAAQ,EAAE,MAAM,GAAG,6BAA6B,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,CAAC,MAAM,EAAE,IAAI,GAAG,6BAA6B,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,IAAI,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,oBAAY,mBAAmB;IAC7B;;OAEG;IACH,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;CACpC;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,0BAA0B,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,oBAAY,0BAA0B;IACpC;;OAEG;IACH,SAAS,IAAI;IACb;;OAEG;IACH,UAAU,KAAK;CAChB"}
|
|
@@ -22,7 +22,7 @@ export function validateSortSettings(validate, config) {
|
|
|
22
22
|
validate.object('taskListSortSettings', {});
|
|
23
23
|
const categories = Object.keys(config.taskListSortSettings);
|
|
24
24
|
if (categories.length > 0) {
|
|
25
|
-
const defaultSettings = getDefaultTaskListSortSettings(config.userId
|
|
25
|
+
const defaultSettings = getDefaultTaskListSortSettings(config.userId);
|
|
26
26
|
categories.forEach((category) => {
|
|
27
27
|
validate.string(`taskListSortSettings.${category}.userId`, defaultSettings.userId);
|
|
28
28
|
validate.array(`taskListSortSettings.${category}.sortList`, defaultSettings.sortList);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortSettings.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/SortSettings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SortSettings.js","sourceRoot":"","sources":["../../../../src/embedded-types/dashboard/task/SortSettings.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,QAAQ,MAAM,6CAA6C,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAY;IACzD,OAAO;QACL,MAAM;QACN,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAkB,EAAE,MAA2B;IAClF,QAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9B,QAAQ,CAAC,MAAM,CAAC,wBAAwB,QAAQ,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;YACnF,QAAQ,CAAC,KAAK,CAAC,wBAAwB,QAAQ,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAyBD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC7B;;OAEG;IACH,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,0CAAmB,CAAA;IACnB,8CAAuB,CAAA;IACvB,kDAA2B,CAAA;IAC3B,0DAAmC,CAAA;AACrC,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,QAU9B;AAUD;;;GAGG;AACH,MAAM,CAAN,IAAY,0BASX;AATD,WAAY,0BAA0B;IACpC;;OAEG;IACH,qFAAa,CAAA;IACb;;OAEG;IACH,wFAAe,CAAA;AACjB,CAAC,EATW,0BAA0B,KAA1B,0BAA0B,QASrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import DashboardUserConfig from '../../../documents/dashboard/UserConfig.js';
|
|
2
3
|
import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
3
4
|
|
|
@@ -7,7 +8,7 @@ import Validate from '../../../schemas/validators/ValidateUtil.js';
|
|
|
7
8
|
* @param userId - The ID of the user.
|
|
8
9
|
* @returns The default task list sort settings for the user.
|
|
9
10
|
*/
|
|
10
|
-
export function getDefaultTaskListSortSettings(userId:
|
|
11
|
+
export function getDefaultTaskListSortSettings(userId: UUID): DashboardTaskListSortSettings {
|
|
11
12
|
return {
|
|
12
13
|
userId,
|
|
13
14
|
sortList: []
|
|
@@ -24,7 +25,7 @@ export function validateSortSettings(validate: Validate, config: DashboardUserCo
|
|
|
24
25
|
validate.object('taskListSortSettings', {});
|
|
25
26
|
const categories = Object.keys(config.taskListSortSettings);
|
|
26
27
|
if (categories.length > 0) {
|
|
27
|
-
const defaultSettings = getDefaultTaskListSortSettings(config.userId
|
|
28
|
+
const defaultSettings = getDefaultTaskListSortSettings(config.userId);
|
|
28
29
|
categories.forEach((category) => {
|
|
29
30
|
validate.string(`taskListSortSettings.${category}.userId`, defaultSettings.userId);
|
|
30
31
|
validate.array(`taskListSortSettings.${category}.sortList`, defaultSettings.sortList);
|
|
@@ -44,14 +45,14 @@ export type DashboardTaskListGlobalSortSettings = {
|
|
|
44
45
|
* own settings for a task.
|
|
45
46
|
*/
|
|
46
47
|
export type DashboardTaskSortSettings = {
|
|
47
|
-
[userId:
|
|
48
|
+
[userId: UUID]: DashboardTaskListSortSettings;
|
|
48
49
|
};
|
|
49
50
|
|
|
50
51
|
/**
|
|
51
52
|
* The sort settings for a list of tasks for a particular user.
|
|
52
53
|
*/
|
|
53
54
|
export type DashboardTaskListSortSettings = {
|
|
54
|
-
userId:
|
|
55
|
+
userId: UUID;
|
|
55
56
|
sortList: Array<DashboardTaskSortSetting>;
|
|
56
57
|
};
|
|
57
58
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
2
2
|
import BaseDocument from '../../documents/BaseDocument.js';
|
|
3
3
|
/**
|
|
4
4
|
* A document that has a `userId` that must be associated to be valid.
|
|
5
5
|
*/
|
|
6
6
|
export default abstract class RequiredUserId extends BaseDocument {
|
|
7
|
-
abstract userId:
|
|
7
|
+
abstract userId: UUID;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=RequiredUserId.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequiredUserId.d.ts","sourceRoot":"","sources":["../../../src/schemas/required-refs/RequiredUserId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RequiredUserId.d.ts","sourceRoot":"","sources":["../../../src/schemas/required-refs/RequiredUserId.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,cAAe,SAAQ,YAAY;IAC/D,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequiredUserId.js","sourceRoot":"","sources":["../../../src/schemas/required-refs/RequiredUserId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequiredUserId.js","sourceRoot":"","sources":["../../../src/schemas/required-refs/RequiredUserId.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,cAAe,SAAQ,YAAY;CAEhE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
2
2
|
import BaseDocument from '../../documents/BaseDocument.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* A document that has a `userId` that must be associated to be valid.
|
|
6
6
|
*/
|
|
7
7
|
export default abstract class RequiredUserId extends BaseDocument {
|
|
8
|
-
abstract userId:
|
|
8
|
+
abstract userId: UUID;
|
|
9
9
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import BaseDocument from '../documents/BaseDocument.js';
|
|
2
3
|
/**
|
|
3
4
|
* Utility type for mapping document IDs to their corresponding documents.
|
|
@@ -5,7 +6,7 @@ import BaseDocument from '../documents/BaseDocument.js';
|
|
|
5
6
|
* @template T - The type of document being mapped, must extend BaseDocument.
|
|
6
7
|
*/
|
|
7
8
|
export type DocumentMap<T extends BaseDocument> = {
|
|
8
|
-
[docId:
|
|
9
|
+
[docId: UUID]: T | undefined;
|
|
9
10
|
};
|
|
10
11
|
/**
|
|
11
12
|
* A service for low-level utilities related to documents.
|
|
@@ -17,5 +18,6 @@ export default class DocumentService {
|
|
|
17
18
|
* @param obj - The object to copy.
|
|
18
19
|
*/
|
|
19
20
|
static deepCopy<T extends object>(obj: T): T;
|
|
21
|
+
static generateID(): UUID;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=DocumentService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentService.d.ts","sourceRoot":"","sources":["../../src/services/DocumentService.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;IAChD,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"DocumentService.d.ts","sourceRoot":"","sources":["../../src/services/DocumentService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,IAAI;IAChD,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;IAI5C,MAAM,CAAC,UAAU,IAAI,IAAI;CAG1B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EJSON } from 'bson';
|
|
2
|
+
import { v7 as uuidv7 } from 'uuid';
|
|
2
3
|
import BaseDocument from '../documents/BaseDocument.js';
|
|
3
4
|
/**
|
|
4
5
|
* A service for low-level utilities related to documents.
|
|
@@ -12,5 +13,8 @@ export default class DocumentService {
|
|
|
12
13
|
static deepCopy(obj) {
|
|
13
14
|
return EJSON.parse(EJSON.stringify(obj, { relaxed: false }));
|
|
14
15
|
}
|
|
16
|
+
static generateID() {
|
|
17
|
+
return uuidv7();
|
|
18
|
+
}
|
|
15
19
|
}
|
|
16
20
|
//# sourceMappingURL=DocumentService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentService.js","sourceRoot":"","sources":["../../src/services/DocumentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DocumentService.js","sourceRoot":"","sources":["../../src/services/DocumentService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAWxD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAmB,GAAM;QACtC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAM,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,MAAM,EAAU,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { EJSON } from 'bson';
|
|
2
|
+
import type { UUID } from 'crypto';
|
|
3
|
+
import { v7 as uuidv7 } from 'uuid';
|
|
2
4
|
import BaseDocument from '../documents/BaseDocument.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
@@ -7,7 +9,7 @@ import BaseDocument from '../documents/BaseDocument.js';
|
|
|
7
9
|
* @template T - The type of document being mapped, must extend BaseDocument.
|
|
8
10
|
*/
|
|
9
11
|
export type DocumentMap<T extends BaseDocument> = {
|
|
10
|
-
[docId:
|
|
12
|
+
[docId: UUID]: T | undefined;
|
|
11
13
|
};
|
|
12
14
|
|
|
13
15
|
/**
|
|
@@ -22,4 +24,8 @@ export default class DocumentService {
|
|
|
22
24
|
static deepCopy<T extends object>(obj: T): T {
|
|
23
25
|
return EJSON.parse(EJSON.stringify(obj, { relaxed: false })) as T;
|
|
24
26
|
}
|
|
27
|
+
|
|
28
|
+
static generateID(): UUID {
|
|
29
|
+
return uuidv7() as UUID;
|
|
30
|
+
}
|
|
25
31
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
|
|
2
3
|
import type { DashboardTaskListFilterSettings } from '../../../embedded-types/dashboard/task/FilterSettings.js';
|
|
3
4
|
export type DashboardTaskFilterResult = {
|
|
4
5
|
/**
|
|
5
6
|
* The IDs of the tasks that satisfy the filter settings.
|
|
6
7
|
*/
|
|
7
|
-
resultIds:
|
|
8
|
+
resultIds: UUID[];
|
|
8
9
|
/**
|
|
9
10
|
* The IDs of the tasks that were filtered, but still apply to the same
|
|
10
11
|
* category. Does not include tasks that were filtered because of grand
|
|
11
12
|
* children tasks.
|
|
12
13
|
*/
|
|
13
|
-
removedIds:
|
|
14
|
+
removedIds: UUID[];
|
|
14
15
|
};
|
|
15
16
|
/**
|
|
16
17
|
* A service responsible for filtering tasks based on provided settings.
|
|
@@ -34,6 +35,6 @@ export default class DashboardTaskFilterService {
|
|
|
34
35
|
* (`resultIds`) and the IDs of the tasks that were filtered but still apply to the same
|
|
35
36
|
* category (`removedIds`).
|
|
36
37
|
*/
|
|
37
|
-
static filter(taskMap: DashboardTaskMap, taskIds:
|
|
38
|
+
static filter(taskMap: DashboardTaskMap, taskIds: UUID[], settings: DashboardTaskListFilterSettings, category: string, parentTaskId?: UUID): DashboardTaskFilterResult;
|
|
38
39
|
}
|
|
39
40
|
//# sourceMappingURL=TaskFilterService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskFilterService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskFilterService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0DAA0D,CAAC;AAEhH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"TaskFilterService.d.ts","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskFilterService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0DAA0D,CAAC;AAEhH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,SAAS,EAAE,IAAI,EAAE,CAAC;IAClB;;;;OAIG;IACH,UAAU,EAAE,IAAI,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,MAAM,CACX,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,IAAI,EAAE,EACf,QAAQ,EAAE,+BAA+B,EACzC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,IAAI,GAClB,yBAAyB;CA8D7B"}
|
|
@@ -34,14 +34,14 @@ export default class DashboardTaskFilterService {
|
|
|
34
34
|
if (parentTaskId) {
|
|
35
35
|
if (!settings.grandChildrenTasks.show &&
|
|
36
36
|
task.parentTaskId &&
|
|
37
|
-
task.parentTaskId
|
|
37
|
+
task.parentTaskId !== parentTaskId) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
40
|
// The list is all for a category, so filter out children tasks if needed.
|
|
41
41
|
}
|
|
42
42
|
else if (!settings.grandChildrenTasks.show &&
|
|
43
43
|
task.parentTaskId &&
|
|
44
|
-
taskMap[task.parentTaskId
|
|
44
|
+
taskMap[task.parentTaskId]) {
|
|
45
45
|
return false;
|
|
46
46
|
}
|
|
47
47
|
// Completed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskFilterService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskFilterService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TaskFilterService.js","sourceRoot":"","sources":["../../../../src/services/dashboard/Task/TaskFilterService.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,MAAM,CACX,OAAyB,EACzB,OAAe,EACf,QAAyC,EACzC,QAAgB,EAChB,YAAmB;QAEnB,wEAAwE;QACxE,SAAS;QACT,MAAM,UAAU,GAAW,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE7B,WAAW;YACX,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAEtD,cAAc;YACd,4CAA4C;YAC5C,IAAI,YAAY,EAAE,CAAC;gBACjB,IACE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;oBACjC,IAAI,CAAC,YAAY;oBACjB,IAAI,CAAC,YAAY,KAAK,YAAY,EAClC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,0EAA0E;YAC5E,CAAC;iBAAM,IACL,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;gBACjC,IAAI,CAAC,YAAY;gBACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1B,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,YAAY;YACZ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YAED,aAAa;YACb,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACzF,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBACnD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO;YACL,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UUID } from 'crypto';
|
|
1
2
|
import type { DashboardTaskMap } from '../../../documents/dashboard/Task.js';
|
|
2
3
|
import type { DashboardTaskListFilterSettings } from '../../../embedded-types/dashboard/task/FilterSettings.js';
|
|
3
4
|
|
|
@@ -5,13 +6,13 @@ export type DashboardTaskFilterResult = {
|
|
|
5
6
|
/**
|
|
6
7
|
* The IDs of the tasks that satisfy the filter settings.
|
|
7
8
|
*/
|
|
8
|
-
resultIds:
|
|
9
|
+
resultIds: UUID[];
|
|
9
10
|
/**
|
|
10
11
|
* The IDs of the tasks that were filtered, but still apply to the same
|
|
11
12
|
* category. Does not include tasks that were filtered because of grand
|
|
12
13
|
* children tasks.
|
|
13
14
|
*/
|
|
14
|
-
removedIds:
|
|
15
|
+
removedIds: UUID[];
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -38,14 +39,14 @@ export default class DashboardTaskFilterService {
|
|
|
38
39
|
*/
|
|
39
40
|
static filter(
|
|
40
41
|
taskMap: DashboardTaskMap,
|
|
41
|
-
taskIds:
|
|
42
|
+
taskIds: UUID[],
|
|
42
43
|
settings: DashboardTaskListFilterSettings,
|
|
43
44
|
category: string,
|
|
44
|
-
parentTaskId?:
|
|
45
|
+
parentTaskId?: UUID
|
|
45
46
|
): DashboardTaskFilterResult {
|
|
46
47
|
// The filtered IDs that apply to the category, and aren't grandchildren
|
|
47
48
|
// tasks.
|
|
48
|
-
const removedIds:
|
|
49
|
+
const removedIds: UUID[] = [];
|
|
49
50
|
const resultIds = taskIds.filter((taskId) => {
|
|
50
51
|
const task = taskMap[taskId];
|
|
51
52
|
|
|
@@ -58,7 +59,7 @@ export default class DashboardTaskFilterService {
|
|
|
58
59
|
if (
|
|
59
60
|
!settings.grandChildrenTasks.show &&
|
|
60
61
|
task.parentTaskId &&
|
|
61
|
-
task.parentTaskId
|
|
62
|
+
task.parentTaskId !== parentTaskId
|
|
62
63
|
) {
|
|
63
64
|
return false;
|
|
64
65
|
}
|
|
@@ -66,7 +67,7 @@ export default class DashboardTaskFilterService {
|
|
|
66
67
|
} else if (
|
|
67
68
|
!settings.grandChildrenTasks.show &&
|
|
68
69
|
task.parentTaskId &&
|
|
69
|
-
taskMap[task.parentTaskId
|
|
70
|
+
taskMap[task.parentTaskId]
|
|
70
71
|
) {
|
|
71
72
|
return false;
|
|
72
73
|
}
|