@lilaquadrat/studio 7.0.0 → 7.0.2
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.
|
@@ -2,8 +2,9 @@ import { Filter, ObjectId, OrderedBulkOperation, UnorderedBulkOperation, UpdateR
|
|
|
2
2
|
import Model from './classes/modelv2.class';
|
|
3
3
|
import { BasicData, HistoryReason } from '@lilaquadrat/interfaces';
|
|
4
4
|
import { CreateResult } from '@lilaquadrat/interfaces';
|
|
5
|
+
import mongo from 'mongodb';
|
|
5
6
|
export type ImmutableErrorKeys = 'UPDATE_DOCUMENT_MISSING' | 'PARENT_DOCUMENT_NOT_FOUND' | 'DOCUMENT_ALREADY_EXISTS';
|
|
6
|
-
export default abstract class Immutable<T> {
|
|
7
|
+
export default abstract class Immutable<T extends mongo.Document> {
|
|
7
8
|
model: Model<BasicData<T>>;
|
|
8
9
|
/**
|
|
9
10
|
* * adds a new entry in the history and updates the current one
|
|
@@ -16,7 +17,7 @@ export default abstract class Immutable<T> {
|
|
|
16
17
|
immutableUpsert(_idOrFilterQuery: BasicData<T>['_id'] | Filter<BasicData<T>>, data: BasicData<T>, user: string, reason: HistoryReason, app: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation, partial?: {
|
|
17
18
|
change: Model<BasicData<T>>['actions'];
|
|
18
19
|
create: Model<BasicData<T>>['actions'];
|
|
19
|
-
}): Promise<(UpdateResult<
|
|
20
|
+
}): Promise<(UpdateResult<mongo.BSON.Document> & {
|
|
20
21
|
_id: ObjectId;
|
|
21
22
|
}) | CreateResult<BasicData<T>>>;
|
|
22
23
|
/**
|
|
@@ -33,7 +34,7 @@ export default abstract class Immutable<T> {
|
|
|
33
34
|
/**
|
|
34
35
|
* create new data
|
|
35
36
|
*/
|
|
36
|
-
create(data: BasicData<T
|
|
37
|
+
create(data: BasicData<T> | T, user: string, source: string, additionalHistoryData?: Record<string, string | number>, bulk?: UnorderedBulkOperation | OrderedBulkOperation, partial?: Model<BasicData<T>>['actions']): Promise<CreateResult<BasicData<T>>>;
|
|
37
38
|
/**
|
|
38
39
|
* create new data
|
|
39
40
|
*/
|
|
@@ -46,6 +47,6 @@ export default abstract class Immutable<T> {
|
|
|
46
47
|
* add a new history entry with delete and remove the main document
|
|
47
48
|
*
|
|
48
49
|
*/
|
|
49
|
-
delete(_id: ObjectId, user: string, app: string, additionalHistoryData?: Record<string, string | number>): Promise<
|
|
50
|
+
delete(_id: ObjectId, user: string, app: string, additionalHistoryData?: Record<string, string | number>): Promise<mongo.DeleteResult>;
|
|
50
51
|
getModel(fallback: Model<BasicData<T>>, model?: Model<BasicData<T>>): Model<BasicData<T>, string>;
|
|
51
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Immutable.class.js","sourceRoot":"","sources":["../../../src/Immutable.class.ts"],"names":[],"mappings":";;;;;AAAA,qCAIiB;AAEjB,sCAAyC;AACzC,uFAA8D;AAC9D,iFAAwD;AACxD,uEAA8C;AAC9C,gFAAwD;
|
|
1
|
+
{"version":3,"file":"Immutable.class.js","sourceRoot":"","sources":["../../../src/Immutable.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import Ajv, { Schema, ValidateFunction } from 'ajv';
|
|
|
2
2
|
import mongo, { CreateIndexesOptions, IndexDescription, MongoClient } from 'mongodb';
|
|
3
3
|
import Models from './models.class';
|
|
4
4
|
import { MongoClass } from './mongo.class';
|
|
5
|
-
import { Model } from '@lilaquadrat/interfaces';
|
|
5
|
+
import { BasicData, Model } from '@lilaquadrat/interfaces';
|
|
6
6
|
export default class Modelv2<T extends mongo.Document, A extends string = Model['SchemaType']> {
|
|
7
7
|
ajv: Ajv;
|
|
8
|
-
compiledTypes: Record<A, ValidateFunction<T
|
|
8
|
+
compiledTypes: Record<A, ValidateFunction<BasicData<T>>>;
|
|
9
9
|
compiledOptions: Record<A, Record<string, unknown>>;
|
|
10
10
|
mongo: mongo.Db;
|
|
11
11
|
collection: string;
|
|
@@ -15,7 +15,7 @@ export default class Modelv2<T extends mongo.Document, A extends string = Model[
|
|
|
15
15
|
type: A;
|
|
16
16
|
options?: Record<string, unknown>;
|
|
17
17
|
}[];
|
|
18
|
-
data: T
|
|
18
|
+
data: BasicData<T>;
|
|
19
19
|
actions: A;
|
|
20
20
|
name: string;
|
|
21
21
|
/**
|
|
@@ -23,13 +23,13 @@ export default class Modelv2<T extends mongo.Document, A extends string = Model[
|
|
|
23
23
|
* if true then the immutable_history of the deleted data will be used and immutable_parent will be also reinstated
|
|
24
24
|
*
|
|
25
25
|
*/
|
|
26
|
-
historyMatch: (keyof T)[];
|
|
26
|
+
historyMatch: (keyof BasicData<T>)[];
|
|
27
27
|
/** removes theses keys if no data is given */
|
|
28
|
-
removeWhenEmpty: (keyof T | string)[];
|
|
28
|
+
removeWhenEmpty: (keyof BasicData<T> | string)[];
|
|
29
29
|
/** these keys will be removed from the update object if immutableUpsert is used to enable validation */
|
|
30
|
-
immutable: (keyof T)[];
|
|
30
|
+
immutable: (keyof BasicData<T>)[];
|
|
31
31
|
/** these keys will be projected when this model is used in a list */
|
|
32
|
-
projectWhenListed: (keyof T)[];
|
|
32
|
+
projectWhenListed: (keyof BasicData<T>)[];
|
|
33
33
|
/**
|
|
34
34
|
will overwrite on create, after validation, the id field with a unique progressing numeric value based upon company, project, app, model.
|
|
35
35
|
e.g. `1, 2, 3` and so on.
|
|
@@ -39,7 +39,7 @@ export default class Modelv2<T extends mongo.Document, A extends string = Model[
|
|
|
39
39
|
/**
|
|
40
40
|
if the function is given it will be called with the new created id
|
|
41
41
|
*/
|
|
42
|
-
uniqueIdCallback?: (id: number, data: T) => Promise<string | number>;
|
|
42
|
+
uniqueIdCallback?: (id: number, data: BasicData<T>) => Promise<string | number>;
|
|
43
43
|
/**
|
|
44
44
|
when the model is used in context of copying a project, this is used to map project and company to the correct keys
|
|
45
45
|
e.g. project model uses "id" for project
|
|
@@ -65,12 +65,12 @@ export default class Modelv2<T extends mongo.Document, A extends string = Model[
|
|
|
65
65
|
compileSchema(schema: Schema, type: A, options?: Record<string, unknown>): void;
|
|
66
66
|
addIndex(index: IndexDescription & CreateIndexesOptions, version: number): void;
|
|
67
67
|
handleIndexes(indexes: (IndexDescription & CreateIndexesOptions)[]): Promise<boolean>;
|
|
68
|
-
validate(data: T | Partial<T
|
|
68
|
+
validate(data: BasicData<T> | Partial<BasicData<T>>, type: A): boolean;
|
|
69
69
|
/**
|
|
70
70
|
* * validates against json schema
|
|
71
71
|
* * doest **NOT** check the database for uniques etc.
|
|
72
72
|
*/
|
|
73
|
-
pre(data: T
|
|
74
|
-
getUnsetObject(data: T): Record<string, "">;
|
|
73
|
+
pre(data: BasicData<T>, type: A): mongo.Collection<T>;
|
|
74
|
+
getUnsetObject(data: BasicData<T>): Record<string, "">;
|
|
75
75
|
get db(): mongo.Collection<T>;
|
|
76
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelv2.class.js","sourceRoot":"","sources":["../../../../src/classes/modelv2.class.ts"],"names":[],"mappings":";;;;;AAEA,qCAGiB;AACjB,8DAAqC;AACrC,uDAA+B;AAK/B,MAAqB,OAAO;IAgE1B,YAAY,IAAY,EAAE,UAAkB,EAAE,cAAuB,EAAE,OAAiB;QA5DxF,kBAAa,
|
|
1
|
+
{"version":3,"file":"modelv2.class.js","sourceRoot":"","sources":["../../../../src/classes/modelv2.class.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lilaquadrat/studio",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "classes and tools for STUDIO",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://lilaquadrat.de",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@azure/storage-blob": "^12.17.0",
|
|
69
69
|
"@azure/storage-file-share": "^12.17.0",
|
|
70
70
|
"@azure/storage-queue": "^12.16.0",
|
|
71
|
-
"@lilaquadrat/interfaces": "^1.
|
|
71
|
+
"@lilaquadrat/interfaces": "^1.1.2",
|
|
72
72
|
"@root/acme": "^3.1.0",
|
|
73
73
|
"@root/csr": "^0.8.1",
|
|
74
74
|
"@root/keypairs": "^0.10.0",
|