@aneuhold/core-ts-db-lib 1.0.16 → 1.0.18
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/documents/common/User.d.ts +8 -0
- package/lib/documents/common/User.d.ts.map +1 -1
- package/lib/documents/dashboard/Task.d.ts +4 -0
- package/lib/documents/dashboard/Task.d.ts.map +1 -1
- package/lib/documents/dashboard/Task.js +41 -1
- package/lib/documents/dashboard/UserConfig.d.ts +5 -0
- package/lib/documents/dashboard/UserConfig.d.ts.map +1 -1
- package/lib/documents/dashboard/UserConfig.js +6 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/package.json +1 -1
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { ObjectId } from 'bson';
|
|
2
2
|
import BaseDocument from '../BaseDocument';
|
|
3
3
|
import { DocumentValidator } from '../../schemas/validators/DocumentValidator';
|
|
4
|
+
/**
|
|
5
|
+
* A User CTO which can be used to reference a User with only the necessary
|
|
6
|
+
* information.
|
|
7
|
+
*/
|
|
8
|
+
export type UserCTO = {
|
|
9
|
+
_id: ObjectId;
|
|
10
|
+
userName: string;
|
|
11
|
+
};
|
|
4
12
|
export declare const validateUser: DocumentValidator<User>;
|
|
5
13
|
/**
|
|
6
14
|
* A standard user of all personal projects. This should be linked to from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAkBhD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,GAAG,WAAkB;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAM;IAEP,aAAa;;MAEX;IAEF;;OAEG;gBACS,QAAQ,EAAE,MAAM;CAI7B"}
|
|
1
|
+
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAkBhD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,GAAG,WAAkB;IAErB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE;QACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAM;IAEP,aAAa;;MAEX;IAEF;;OAEG;gBACS,QAAQ,EAAE,MAAM;CAI7B"}
|
|
@@ -3,6 +3,10 @@ import BaseDocumentWithType from '../BaseDocumentWithType';
|
|
|
3
3
|
import RequiredUserId from '../../schemas/required-refs/RequiredUserId';
|
|
4
4
|
import { DocumentValidator } from '../../schemas/validators/DocumentValidator';
|
|
5
5
|
export declare const validateDashboardTask: DocumentValidator<DashboardTask>;
|
|
6
|
+
/**
|
|
7
|
+
* Gets all the children task IDs for the given parent task IDs.
|
|
8
|
+
*/
|
|
9
|
+
export declare const getDashboardTaskChildrenIds: (allUserTasks: DashboardTask[], parentTaskIds: ObjectId[]) => ObjectId[];
|
|
6
10
|
export default class DashboardTask extends BaseDocumentWithType implements RequiredUserId {
|
|
7
11
|
static docType: string;
|
|
8
12
|
docType: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/Task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,aAAa,CAkBlE,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,aACnB,SAAQ,oBACR,YAAW,cAAc;IAEzB,MAAM,CAAC,OAAO,SAAU;IAExB,OAAO,SAAyB;IAEhC;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB;;;OAGG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAM;IAE5B,KAAK,SAAM;IAEX,SAAS,UAAS;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,OAAc;IAEzB;;OAEG;IACH,eAAe,OAAc;IAE7B,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAa;gBAEjB,OAAO,EAAE,QAAQ;CAI9B"}
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/Task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,aAAa,CAkBlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,iBACxB,aAAa,EAAE,iBACd,QAAQ,EAAE,KACxB,QAAQ,EA2BV,CAAC;AAyBF,MAAM,CAAC,OAAO,OAAO,aACnB,SAAQ,oBACR,YAAW,cAAc;IAEzB,MAAM,CAAC,OAAO,SAAU;IAExB,OAAO,SAAyB;IAEhC;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB;;;OAGG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAM;IAE5B,KAAK,SAAM;IAEX,SAAS,UAAS;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,OAAc;IAEzB;;OAEG;IACH,eAAe,OAAc;IAE7B,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAM;IAEpB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAa;gBAEjB,OAAO,EAAE,QAAQ;CAI9B"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateDashboardTask = void 0;
|
|
6
|
+
exports.getDashboardTaskChildrenIds = exports.validateDashboardTask = void 0;
|
|
7
7
|
const bson_1 = require("bson");
|
|
8
8
|
const BaseDocumentWithType_1 = __importDefault(require("../BaseDocumentWithType"));
|
|
9
9
|
const ValidateUtil_1 = __importDefault(require("../../schemas/validators/ValidateUtil"));
|
|
@@ -23,6 +23,46 @@ const validateDashboardTask = (task) => {
|
|
|
23
23
|
return { updatedDoc: task, errors };
|
|
24
24
|
};
|
|
25
25
|
exports.validateDashboardTask = validateDashboardTask;
|
|
26
|
+
/**
|
|
27
|
+
* Gets all the children task IDs for the given parent task IDs.
|
|
28
|
+
*/
|
|
29
|
+
const getDashboardTaskChildrenIds = (allUserTasks, parentTaskIds) => {
|
|
30
|
+
const parentToTaskIdsDict = {};
|
|
31
|
+
const taskIdToTaskDict = {};
|
|
32
|
+
allUserTasks.forEach((task) => {
|
|
33
|
+
taskIdToTaskDict[task._id.toString()] = task;
|
|
34
|
+
if (task.parentTaskId) {
|
|
35
|
+
if (!parentToTaskIdsDict[task.parentTaskId.toString()]) {
|
|
36
|
+
parentToTaskIdsDict[task.parentTaskId.toString()] = [];
|
|
37
|
+
}
|
|
38
|
+
parentToTaskIdsDict[task.parentTaskId.toString()].push(task._id.toString());
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const childrenIds = [];
|
|
42
|
+
parentTaskIds.forEach((taskId) => {
|
|
43
|
+
const task = taskIdToTaskDict[taskId.toString()];
|
|
44
|
+
if (task) {
|
|
45
|
+
const childrenTaskIds = getChildrenTaskIds(taskIdToTaskDict, parentToTaskIdsDict, taskId.toString());
|
|
46
|
+
childrenIds.push(...childrenTaskIds.map((id) => new bson_1.ObjectId(id)));
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return childrenIds;
|
|
50
|
+
};
|
|
51
|
+
exports.getDashboardTaskChildrenIds = getDashboardTaskChildrenIds;
|
|
52
|
+
function getChildrenTaskIds(taskIdToTaskDict, parentToTaskIdsDict, taskId) {
|
|
53
|
+
const childrenIds = parentToTaskIdsDict[taskId];
|
|
54
|
+
if (!childrenIds) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
childrenIds.forEach((childId) => {
|
|
58
|
+
const childTask = taskIdToTaskDict[childId];
|
|
59
|
+
if (childTask) {
|
|
60
|
+
const grandchildrenIds = getChildrenTaskIds(taskIdToTaskDict, parentToTaskIdsDict, childId);
|
|
61
|
+
childrenIds.push(...grandchildrenIds);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return childrenIds;
|
|
65
|
+
}
|
|
26
66
|
class DashboardTask extends BaseDocumentWithType_1.default {
|
|
27
67
|
static docType = 'task';
|
|
28
68
|
docType = DashboardTask.docType;
|
|
@@ -10,6 +10,11 @@ export default class DashboardUserConfig extends BaseDocumentWithType implements
|
|
|
10
10
|
* The owner of this config.
|
|
11
11
|
*/
|
|
12
12
|
userId: ObjectId;
|
|
13
|
+
/**
|
|
14
|
+
* The different users that the owner of this config is collaborating with
|
|
15
|
+
* on the dashboard.
|
|
16
|
+
*/
|
|
17
|
+
collaborators: ObjectId[];
|
|
13
18
|
/**
|
|
14
19
|
* Whether or not to enable dev mode for the user.
|
|
15
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserConfig.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CACzD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"UserConfig.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,cAAc,MAAM,4CAA4C,CAAC;AAExE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,CACzD,mBAAmB,CAUpB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,mBACnB,SAAQ,oBACR,YAAW,cAAc;IAEzB,MAAM,CAAC,OAAO,SAAgB;IAE9B,OAAO,SAA+B;IAEtC;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC;IAEjB;;;OAGG;IACH,aAAa,EAAE,QAAQ,EAAE,CAAM;IAE/B;;OAEG;IACH,aAAa,UAAS;gBAEV,OAAO,EAAE,QAAQ;CAI9B"}
|
|
@@ -12,6 +12,7 @@ const validateDashboardUserConfig = (config) => {
|
|
|
12
12
|
const validate = new ValidateUtil_1.default(config, errors);
|
|
13
13
|
const exampleConfig = new DashboardUserConfig(new bson_1.ObjectId());
|
|
14
14
|
validate.boolean('enableDevMode', exampleConfig.enableDevMode);
|
|
15
|
+
validate.array('collaborators', exampleConfig.collaborators);
|
|
15
16
|
return { updatedDoc: config, errors };
|
|
16
17
|
};
|
|
17
18
|
exports.validateDashboardUserConfig = validateDashboardUserConfig;
|
|
@@ -22,6 +23,11 @@ class DashboardUserConfig extends BaseDocumentWithType_1.default {
|
|
|
22
23
|
* The owner of this config.
|
|
23
24
|
*/
|
|
24
25
|
userId;
|
|
26
|
+
/**
|
|
27
|
+
* The different users that the owner of this config is collaborating with
|
|
28
|
+
* on the dashboard.
|
|
29
|
+
*/
|
|
30
|
+
collaborators = [];
|
|
25
31
|
/**
|
|
26
32
|
* Whether or not to enable dev mode for the user.
|
|
27
33
|
*/
|
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import BaseDocument from './documents/BaseDocument';
|
|
2
2
|
import BaseDocumentWithType from './documents/BaseDocumentWithType';
|
|
3
3
|
import ApiKey, { validateApiKey } from './documents/common/ApiKey';
|
|
4
|
-
import User, { validateUser } from './documents/common/User';
|
|
5
|
-
import DashboardTask, { validateDashboardTask } from './documents/dashboard/Task';
|
|
4
|
+
import User, { UserCTO, validateUser } from './documents/common/User';
|
|
5
|
+
import DashboardTask, { getDashboardTaskChildrenIds, validateDashboardTask } from './documents/dashboard/Task';
|
|
6
6
|
import DashboardUserConfig, { validateDashboardUserConfig } from './documents/dashboard/UserConfig';
|
|
7
7
|
import RequiredUserId from './schemas/required-refs/RequiredUserId';
|
|
8
8
|
import { DocumentValidator } from './schemas/validators/DocumentValidator';
|
|
9
|
-
export { User, validateUser, ApiKey, validateApiKey, DashboardUserConfig, validateDashboardUserConfig, DashboardTask, validateDashboardTask, BaseDocument, BaseDocumentWithType, RequiredUserId };
|
|
10
|
-
export type { DocumentValidator };
|
|
9
|
+
export { User, validateUser, ApiKey, validateApiKey, DashboardUserConfig, validateDashboardUserConfig, DashboardTask, validateDashboardTask, getDashboardTaskChildrenIds, BaseDocument, BaseDocumentWithType, RequiredUserId };
|
|
10
|
+
export type { DocumentValidator, UserCTO };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,aAAa,EAAE,EACpB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,mBAAmB,EAAE,EAC1B,2BAA2B,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,cAAc,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAG3E,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACf,CAAC;AAGF,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.RequiredUserId = exports.BaseDocumentWithType = exports.BaseDocument = exports.validateDashboardTask = exports.DashboardTask = exports.validateDashboardUserConfig = exports.DashboardUserConfig = exports.validateApiKey = exports.ApiKey = exports.validateUser = exports.User = void 0;
|
|
29
|
+
exports.RequiredUserId = exports.BaseDocumentWithType = exports.BaseDocument = exports.getDashboardTaskChildrenIds = exports.validateDashboardTask = exports.DashboardTask = exports.validateDashboardUserConfig = exports.DashboardUserConfig = exports.validateApiKey = exports.ApiKey = exports.validateUser = exports.User = void 0;
|
|
30
30
|
const BaseDocument_1 = __importDefault(require("./documents/BaseDocument"));
|
|
31
31
|
exports.BaseDocument = BaseDocument_1.default;
|
|
32
32
|
const BaseDocumentWithType_1 = __importDefault(require("./documents/BaseDocumentWithType"));
|
|
@@ -39,6 +39,7 @@ exports.User = User_1.default;
|
|
|
39
39
|
Object.defineProperty(exports, "validateUser", { enumerable: true, get: function () { return User_1.validateUser; } });
|
|
40
40
|
const Task_1 = __importStar(require("./documents/dashboard/Task"));
|
|
41
41
|
exports.DashboardTask = Task_1.default;
|
|
42
|
+
Object.defineProperty(exports, "getDashboardTaskChildrenIds", { enumerable: true, get: function () { return Task_1.getDashboardTaskChildrenIds; } });
|
|
42
43
|
Object.defineProperty(exports, "validateDashboardTask", { enumerable: true, get: function () { return Task_1.validateDashboardTask; } });
|
|
43
44
|
const UserConfig_1 = __importStar(require("./documents/dashboard/UserConfig"));
|
|
44
45
|
exports.DashboardUserConfig = UserConfig_1.default;
|