@kravc/dos 2.0.0-alpha.0 → 2.0.0-alpha.10
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/dist/Document/Document.d.ts +12 -5
- package/dist/Document/Document.d.ts.map +1 -1
- package/dist/Document/Document.js +27 -10
- package/dist/Document/Document.js.map +1 -1
- package/dist/Document/MemoryDocument.d.ts +6 -5
- package/dist/Document/MemoryDocument.d.ts.map +1 -1
- package/dist/Document/MemoryDocument.js +14 -8
- package/dist/Document/MemoryDocument.js.map +1 -1
- package/dist/Document/index.d.ts +2 -2
- package/dist/Document/index.d.ts.map +1 -1
- package/dist/Document/index.js.map +1 -1
- package/dist/Operation/Operation.js +2 -2
- package/dist/Operation/errors/{UnprocessibleConditionError.d.ts → UnprocessableConditionError.d.ts} +6 -6
- package/dist/Operation/errors/{UnprocessibleConditionError.d.ts.map → UnprocessableConditionError.d.ts.map} +1 -1
- package/dist/Operation/errors/{UnprocessibleConditionError.js → UnprocessableConditionError.js} +8 -8
- package/dist/Operation/errors/{UnprocessibleConditionError.js.map → UnprocessableConditionError.js.map} +1 -1
- package/dist/Operation/errors/index.d.ts +2 -2
- package/dist/Operation/errors/index.js +3 -3
- package/dist/Operation/operations/Index.js +7 -7
- package/dist/Operation/operations/Index.js.map +1 -1
- package/dist/Operation/operations/List.js +2 -2
- package/dist/Operation/operations/List.js.map +1 -1
- package/dist/Service/errors/OperationError.d.ts +2 -2
- package/dist/Service/errors/OperationError.d.ts.map +1 -1
- package/dist/Service/errors/OperationError.js.map +1 -1
- package/dist/Service/errors/OperationError.yaml +29 -0
- package/package.json +8 -7
- package/src/Document/Document.ts +39 -15
- package/src/Document/MemoryDocument.ts +17 -9
- package/src/Document/__tests__/MemoryDocument.test.ts +16 -0
- package/src/Document/index.ts +2 -4
- package/src/Operation/Operation.ts +2 -2
- package/src/Operation/errors/{UnprocessibleConditionError.ts → UnprocessableConditionError.ts} +7 -7
- package/src/Operation/errors/__tests__/UnprocessableConditionError.test.ts +20 -0
- package/src/Operation/errors/index.ts +2 -2
- package/src/Operation/operations/Index.ts +8 -8
- package/src/Operation/operations/List.ts +2 -2
- package/src/Operation/operations/__tests__/Create.test.ts +1 -1
- package/src/Operation/operations/__tests__/Delete.test.ts +1 -1
- package/src/Operation/operations/__tests__/Index.test.ts +4 -4
- package/src/Operation/operations/__tests__/List.test.ts +1 -1
- package/src/Operation/operations/__tests__/Read.test.ts +1 -1
- package/src/Operation/operations/__tests__/Update.test.ts +1 -1
- package/src/Service/__tests__/Service.test.ts +1 -6
- package/src/Service/errors/OperationError.ts +2 -2
- package/src/Service/errors/OperationErrorAttributes.d.ts +1 -1
- package/src/Operation/errors/__tests__/UnprocessibleConditionError.test.ts +0 -20
|
@@ -4,15 +4,16 @@ import Context, { type QueryMap, type MutationMap } from '../Context';
|
|
|
4
4
|
export type IndexOptions = {
|
|
5
5
|
sort?: 'asc' | 'desc';
|
|
6
6
|
limit?: number;
|
|
7
|
-
|
|
7
|
+
indexName?: string;
|
|
8
8
|
exclusiveStartKey?: string;
|
|
9
9
|
};
|
|
10
10
|
export type IndexAllOptions = {
|
|
11
11
|
sort?: 'asc' | 'desc';
|
|
12
|
-
|
|
12
|
+
indexName?: string;
|
|
13
13
|
};
|
|
14
14
|
export type DefaultAttributes = {
|
|
15
15
|
id: string;
|
|
16
|
+
partition: string;
|
|
16
17
|
createdAt: string;
|
|
17
18
|
createdBy: string;
|
|
18
19
|
createdByUserName?: string;
|
|
@@ -23,6 +24,7 @@ export type DefaultAttributes = {
|
|
|
23
24
|
type Constructor<T, D extends Document<T> = Document<T>> = {
|
|
24
25
|
new (context: Context, attributes: T): D;
|
|
25
26
|
_index(query: QueryMap, options: IndexOptions): Promise<{
|
|
27
|
+
limit: number;
|
|
26
28
|
count: number;
|
|
27
29
|
items: T[];
|
|
28
30
|
lastEvaluatedKey?: string;
|
|
@@ -32,9 +34,9 @@ type Constructor<T, D extends Document<T> = Document<T>> = {
|
|
|
32
34
|
items: T[];
|
|
33
35
|
}>;
|
|
34
36
|
_read(query: QueryMap, options: unknown): Promise<T>;
|
|
35
|
-
_create(attributes: T): Promise<void>;
|
|
36
|
-
_update<T>(query: QueryMap, mutation: MutationMap): Promise<T>;
|
|
37
|
-
_delete(query: QueryMap): Promise<void>;
|
|
37
|
+
_create(attributes: T, context?: Context): Promise<void>;
|
|
38
|
+
_update<T>(query: QueryMap, mutation: MutationMap, context?: Context, previousAttributes?: T): Promise<T>;
|
|
39
|
+
_delete(query: QueryMap, context?: Context, previousAttributes?: T): Promise<void>;
|
|
38
40
|
};
|
|
39
41
|
/** Abstract document class. */
|
|
40
42
|
declare class Document<Attributes> extends Component<Attributes> {
|
|
@@ -50,6 +52,8 @@ declare class Document<Attributes> extends Component<Attributes> {
|
|
|
50
52
|
static get indexDefaultSort(): 'asc' | 'desc';
|
|
51
53
|
/** Defines default limit for index action. */
|
|
52
54
|
static get indexDefaultLimit(): number;
|
|
55
|
+
/** Defines limit maximum value for index action. */
|
|
56
|
+
static get indexLimitMax(): number;
|
|
53
57
|
/** Generates ID for new document unless it's defined in parameters. */
|
|
54
58
|
static createId(attributes: Record<string, unknown>): string;
|
|
55
59
|
/** Returns default attributes schema source. */
|
|
@@ -70,8 +74,11 @@ declare class Document<Attributes> extends Component<Attributes> {
|
|
|
70
74
|
static _extendWithCreatedStamps(context: Context, mutation: MutationMap): void;
|
|
71
75
|
/** Extends mutation with updated stamps. */
|
|
72
76
|
static _extendWithUpdatedStamps(context: Context, mutation: MutationMap): void;
|
|
77
|
+
/** Extends mutation with deleted stamps. */
|
|
78
|
+
static _extendWithDeletedStamps(context: Context, mutation: MutationMap): void;
|
|
73
79
|
/** Returns documents in batches. */
|
|
74
80
|
static index<T, D extends Document<T> = Document<T>>(this: Constructor<T, D>, context: Context, query?: QueryMap, options?: IndexOptions): Promise<{
|
|
81
|
+
limit: number;
|
|
75
82
|
count: number;
|
|
76
83
|
objects: D[];
|
|
77
84
|
lastEvaluatedKey?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/Document/Document.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,sBAAsB,EAAO,MAAM,eAAe,CAAC;AACzE,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/Document/Document.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ const Component_1 = __importDefault(require("../Component"));
|
|
|
8
8
|
const schema_1 = require("@kravc/schema");
|
|
9
9
|
const lodash_1 = require("lodash");
|
|
10
10
|
const DEFAULT_INDEX_SORT = 'desc';
|
|
11
|
-
const DEFAULT_INDEX_LIMIT =
|
|
11
|
+
const DEFAULT_INDEX_LIMIT = 20;
|
|
12
|
+
const DEFAULT_INDEX_LIMIT_MAX = 100;
|
|
12
13
|
const DEFAULT_PARTITION_KEY = 'partition';
|
|
13
14
|
/** Abstract document class. */
|
|
14
15
|
class Document extends Component_1.default {
|
|
@@ -34,6 +35,10 @@ class Document extends Component_1.default {
|
|
|
34
35
|
static get indexDefaultLimit() {
|
|
35
36
|
return DEFAULT_INDEX_LIMIT;
|
|
36
37
|
}
|
|
38
|
+
/** Defines limit maximum value for index action. */
|
|
39
|
+
static get indexLimitMax() {
|
|
40
|
+
return DEFAULT_INDEX_LIMIT_MAX;
|
|
41
|
+
}
|
|
37
42
|
/** Generates ID for new document unless it's defined in parameters. */
|
|
38
43
|
static createId(attributes) {
|
|
39
44
|
const id = (0, lodash_1.get)(attributes, this.idKey);
|
|
@@ -126,6 +131,13 @@ class Document extends Component_1.default {
|
|
|
126
131
|
mutation.updatedBy = context.identityId;
|
|
127
132
|
mutation.updatedByUserName = context.identityName;
|
|
128
133
|
}
|
|
134
|
+
/** Extends mutation with deleted stamps. */
|
|
135
|
+
static _extendWithDeletedStamps(context, mutation) {
|
|
136
|
+
const timestamp = new Date().toJSON();
|
|
137
|
+
mutation.deletedAt = timestamp;
|
|
138
|
+
mutation.deletedBy = context.identityId;
|
|
139
|
+
mutation.deletedByUserName = context.identityName;
|
|
140
|
+
}
|
|
129
141
|
/** Returns documents in batches. */
|
|
130
142
|
static async index(context, query = {}, options = {}) {
|
|
131
143
|
const _this = this;
|
|
@@ -136,9 +148,14 @@ class Document extends Component_1.default {
|
|
|
136
148
|
if (!options.sort) {
|
|
137
149
|
options.sort = _this.indexDefaultSort;
|
|
138
150
|
}
|
|
139
|
-
const {
|
|
151
|
+
const { count, limit, items, lastEvaluatedKey } = await this._index(query, options);
|
|
140
152
|
const objects = items.map(attributes => new this(context, attributes));
|
|
141
|
-
return {
|
|
153
|
+
return {
|
|
154
|
+
limit,
|
|
155
|
+
count,
|
|
156
|
+
objects,
|
|
157
|
+
lastEvaluatedKey,
|
|
158
|
+
};
|
|
142
159
|
}
|
|
143
160
|
/** Returns all documents. */
|
|
144
161
|
static async indexAll(context, query = {}, options = {}) {
|
|
@@ -182,7 +199,7 @@ class Document extends Component_1.default {
|
|
|
182
199
|
_this._extendWithCreatedStamps(context, attributes);
|
|
183
200
|
_this._extendWithPartition(context, attributes);
|
|
184
201
|
await _this.beforeCreate(context, query, attributes);
|
|
185
|
-
await this._create(attributes);
|
|
202
|
+
await this._create(attributes, context);
|
|
186
203
|
const object = new this(context, attributes);
|
|
187
204
|
await _this.afterCreate(context, query, mutation, object);
|
|
188
205
|
return object;
|
|
@@ -215,7 +232,7 @@ class Document extends Component_1.default {
|
|
|
215
232
|
if (!previousAttributes) {
|
|
216
233
|
previousAttributes = await this._read(query, {});
|
|
217
234
|
}
|
|
218
|
-
const updatedAttributes = await this._update(query, mutation);
|
|
235
|
+
const updatedAttributes = await this._update(query, mutation, context, previousAttributes);
|
|
219
236
|
const object = new this(context, updatedAttributes);
|
|
220
237
|
object._previousAttributes = previousAttributes;
|
|
221
238
|
await _this.afterUpdate(context, query, mutation, object);
|
|
@@ -236,11 +253,11 @@ class Document extends Component_1.default {
|
|
|
236
253
|
const _this = this;
|
|
237
254
|
_this._extendWithPartition(context, query);
|
|
238
255
|
await _this.beforeDelete(context, query);
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
await _this.afterDelete(context, query,
|
|
243
|
-
return
|
|
256
|
+
const previousAttributes = await this._read(query, {});
|
|
257
|
+
await this._delete(query, context, previousAttributes);
|
|
258
|
+
const deletedObject = new this(context, previousAttributes);
|
|
259
|
+
await _this.afterDelete(context, query, deletedObject);
|
|
260
|
+
return deletedObject;
|
|
244
261
|
}
|
|
245
262
|
/** Before delete hook. */
|
|
246
263
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Document/Document.ts"],"names":[],"mappings":";;;;;AAAA,+BAA4B;AAC5B,6DAAqC;AACrC,0CAAyE;AAEzE,mCAAqE;AAErE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../src/Document/Document.ts"],"names":[],"mappings":";;;;;AAAA,+BAA4B;AAC5B,6DAAqC;AACrC,0CAAyE;AAEzE,mCAAqE;AAErE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAiD1C,+BAA+B;AAC/B,MAAM,QAAqB,SAAQ,mBAAqB;IAC9C,MAAM,CAAC,WAAW,CAAS;IAE3B,mBAAmB,CAAyB;IAEpD,2CAA2C;IAC3C,MAAM,KAAK,YAAY;QACrB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,kCAAkC;IAClC,MAAM,KAAK,QAAQ;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,8DAA8D;IAC9D,MAAM,KAAK,WAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,gBAAgB;QACzB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,8CAA8C;IAC9C,MAAM,KAAK,iBAAiB;QAC1B,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,oDAAoD;IACpD,MAAM,KAAK,aAAa;QACtB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,uEAAuE;IACvE,MAAM,CAAC,QAAQ,CAAC,UAAmC;QACjD,MAAM,EAAE,GAAG,IAAA,YAAG,EAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAW,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAEnB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAA,WAAI,GAAE,CAAC;IACtC,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,6BAA6B;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE3C,OAAO;YACL,EAAE,EAAE;gBACF,WAAW,EAAE,IAAA,mBAAU,EAAC,aAAa,CAAC,GAAG,KAAK;gBAC9C,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,sBAAsB,aAAa,cAAc;gBAC9D,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,4BAA4B,aAAa,EAAE;gBACxD,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,WAAW,EAAE,8BAA8B,aAAa,EAAE;aAC3D;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,sBAAsB,aAAa,cAAc;gBAC9D,MAAM,EAAE,WAAW;aACpB;YACD,SAAS,EAAE;gBACT,WAAW,EAAE,4BAA4B,aAAa,EAAE;aACzD;YACD,iBAAiB,EAAE;gBACjB,WAAW,EAAE,8BAA8B,aAAa,EAAE;aAC3D;SACF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,KAAK,MAAM,CAAC,MAAc;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,sDAAsD;IACtD,MAAM,KAAK,MAAM;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,+DAA+D;IAC/D,MAAM,KAAK,cAAc;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CAAC,QAAiB,EAAE,WAAoC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uDAAuD;IACvD,MAAM,CAAC,oBAAoB,CAAC,OAAgB,EAAE,UAAmC;QAC/E,MAAM,YAAY,GAAG,CAAC,CAAC,IAAA,YAAG,EAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAA,YAAG,EAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,wBAAwB,CAAC,OAAgB,EAAE,QAAqB;QACrE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAEtC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IACpD,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,wBAAwB,CAAC,OAAgB,EAAE,QAAqB;QACrE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAEtC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IACpD,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,wBAAwB,CAAC,OAAgB,EAAE,QAAqB;QACrE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAEtC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QACxC,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IACpD,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAEhB,OAAgB,EAChB,QAAkB,EAAE,EACpB,UAAwB,EAAE;QAO1B,MAAM,KAAK,GAAG,IAAkC,CAAC;QACjD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAEvE,OAAO;YACL,KAAK;YACL,KAAK;YACL,OAAO;YACP,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAEnB,OAAgB,EAChB,QAAkB,EAAE,EACpB,UAA2B,EAAE;QAK7B,MAAM,KAAK,GAAG,IAAkC,CAAC;QACjD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAEvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAEf,OAAgB,EAChB,KAAe,EACf,OAAiB;QAEjB,MAAM,KAAK,GAAG,IAAkC,CAAC;QACjD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0BAA0B;IAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,OAAgB,EAChB,KAA6B,EAC7B,QAAsB;QAEtB,MAAM,KAAK,GAAG,IAAkC,CAAC;QAEjD,4EAA4E;QAC5E,sEAAsE;QACtE,uEAAuE;QACvE,+EAA+E;QAC/E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAM,CAAC;QAC5D,MAAM,eAAe,GAAG,eAAe,EAAE,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC;QAEnE,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC;YACjB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAgB,CAAC;QAE1E,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAA,YAAG,EAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEtC,KAAK,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEhD,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,UAAe,CAAC,CAAC;QAElD,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAiB,EAAE,MAAgB,EAAE,SAAsB;QACnF,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAiB,EAAE,MAAgB,EAAE,SAAsB,EAAE,gBAAyB;QAC7G,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,OAAgB,EAChB,KAAe,EACf,QAAqB;QAErB,MAAM,KAAK,GAAG,IAAkC,CAAC;QAEjD,QAAQ,GAAG,IAAA,aAAI,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAE5E,KAAK,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEnD;;qDAE6C;QAC7C,MAAM,OAAO,GAAG,IAAA,YAAG,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,qCAAqC,CAAW,CAAC;QAEzF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAM,CAAC;QACnD,IAAI,kBAAkB,GAAG,gBAAgB,EAAE,UAAU,CAAC;QAEtD;4EACoE;QACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,kBAAkB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAM,CAAC;QAChG,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAEpD,MAAM,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAEhD,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAiB,EAAE,MAAgB,EAAE,SAAsB;QACnF,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAiB,EAAE,MAAgB,EAAE,SAAsB,EAAE,gBAAyB;QAC7G,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,CAEjB,OAAgB,EAChB,KAAe;QAEf,MAAM,KAAK,GAAG,IAAkC,CAAC;QAEjD,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEzC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QAEvD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,0BAA0B;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAAiB,EAAE,MAAgB;QAC3D,OAAO;IACT,CAAC;IAED,yBAAyB;IACzB,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAiB,EAAE,MAAgB,EAAE,gBAAyB;QACrF,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAyC,CAAC;QAC7D,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,UAAoC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,uDAAuD;IACvD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,sEAAsE;IACtE,mBAAmB,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAA,YAAG,EAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,aAAa,KAAK,YAAY,CAAC;QAElD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,MAAM,CAAC,QAAqB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAyF,CAAC;QAE7G,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAA,aAAI,EAAC,IAAI,CAAC,UAAU,EAAE,CAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,CAAC,mBAAmB,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,CAAe,CAAC;QAEpE,IAAA,YAAG,EAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Context, { type QueryMap, type MutationMap } from '../Context';
|
|
2
2
|
import Document, { type IndexOptions, type IndexAllOptions } from './Document';
|
|
3
3
|
type Item = {
|
|
4
4
|
id: string;
|
|
@@ -12,6 +12,7 @@ declare class MemoryDocument<T> extends Document<T> {
|
|
|
12
12
|
static reset(): Promise<void>;
|
|
13
13
|
/** Implements interface to get documents in batches. */
|
|
14
14
|
static _index<T>(query: QueryMap, options: IndexOptions): Promise<{
|
|
15
|
+
limit: number;
|
|
15
16
|
count: number;
|
|
16
17
|
items: T[];
|
|
17
18
|
lastEvaluatedKey?: string;
|
|
@@ -23,12 +24,12 @@ declare class MemoryDocument<T> extends Document<T> {
|
|
|
23
24
|
}>;
|
|
24
25
|
/** Implements interface to get a document. */
|
|
25
26
|
static _read<T>(query: QueryMap): Promise<T>;
|
|
26
|
-
/** Implements interface to save a document
|
|
27
|
-
static _create<T>(attributes: T): Promise<void>;
|
|
27
|
+
/** Implements interface to save a document. */
|
|
28
|
+
static _create<T>(attributes: T, _context: Context): Promise<void>;
|
|
28
29
|
/** Implements interface to update a document. */
|
|
29
|
-
static _update<T>(query: QueryMap, mutation: MutationMap): Promise<T>;
|
|
30
|
+
static _update<T>(query: QueryMap, mutation: MutationMap, _context: Context, _previousAttributes: T): Promise<T>;
|
|
30
31
|
/** Implements interface to delete a document. */
|
|
31
|
-
static _delete<T>(query: QueryMap): Promise<void>;
|
|
32
|
+
static _delete<T>(query: QueryMap, _context: Context, _previousAttributes: T): Promise<void>;
|
|
32
33
|
}
|
|
33
34
|
export default MemoryDocument;
|
|
34
35
|
//# sourceMappingURL=MemoryDocument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDocument.d.ts","sourceRoot":"","sources":["../../src/Document/MemoryDocument.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryDocument.d.ts","sourceRoot":"","sources":["../../src/Document/MemoryDocument.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,EAAE,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGtE,OAAO,QAAQ,EAAE,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/E,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,CAAC;AAOF,mEAAmE;AACnE,cAAM,cAAc,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACzC,qDAAqD;IACrD,MAAM,KAAK,UAAU,yBAUpB;IAED,yBAAyB;WACZ,KAAK;IAMlB,wDAAwD;WAC3C,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;QACtE,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,EAAE,CAAC;QACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAkDF,iDAAiD;WACpC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;QAC5E,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,EAAE,CAAC;KACZ,CAAC;IASF,8CAA8C;WACjC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAYlD,+CAA+C;WAElC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,iDAAiD;WAEpC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAWtH,iDAAiD;WAEpC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAQnG;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -8,6 +8,8 @@ const lodash_1 = require("lodash");
|
|
|
8
8
|
const Operation_1 = require("../Operation");
|
|
9
9
|
const Document_1 = __importDefault(require("./Document"));
|
|
10
10
|
const _MEMORY_STORE = {};
|
|
11
|
+
const QUERY_ERROR_TEMPLATE = 'Query parameter "$PATH" is required';
|
|
12
|
+
const ATTRIBUTE_ERROR_TEMPLATE = 'Attribute "$PATH" is required';
|
|
11
13
|
/** Example implementation of a document class stored in memory. */
|
|
12
14
|
class MemoryDocument extends Document_1.default {
|
|
13
15
|
/** Returns collection where documents are stored. */
|
|
@@ -52,6 +54,7 @@ class MemoryDocument extends Document_1.default {
|
|
|
52
54
|
lastEvaluatedKey = undefined;
|
|
53
55
|
}
|
|
54
56
|
return {
|
|
57
|
+
limit: limit || count,
|
|
55
58
|
items,
|
|
56
59
|
count,
|
|
57
60
|
lastEvaluatedKey,
|
|
@@ -67,16 +70,17 @@ class MemoryDocument extends Document_1.default {
|
|
|
67
70
|
}
|
|
68
71
|
/** Implements interface to get a document. */
|
|
69
72
|
static async _read(query) {
|
|
70
|
-
const idValue = (0, schema_1.got)(query, this.idKey,
|
|
73
|
+
const idValue = (0, schema_1.got)(query, this.idKey, QUERY_ERROR_TEMPLATE);
|
|
71
74
|
const item = (0, lodash_1.get)(this.collection, idValue);
|
|
72
75
|
if (!item) {
|
|
73
76
|
throw new Operation_1.DocumentNotFoundError(this, query);
|
|
74
77
|
}
|
|
75
78
|
return (0, lodash_1.cloneDeep)(item);
|
|
76
79
|
}
|
|
77
|
-
/** Implements interface to save a document
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
/** Implements interface to save a document. */
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
82
|
+
static async _create(attributes, _context) {
|
|
83
|
+
const idValue = (0, schema_1.got)(attributes, this.idKey, ATTRIBUTE_ERROR_TEMPLATE);
|
|
80
84
|
const item = (0, lodash_1.get)(this.collection, idValue);
|
|
81
85
|
if (item) {
|
|
82
86
|
throw new Operation_1.DocumentExistsError(this, attributes);
|
|
@@ -84,16 +88,18 @@ class MemoryDocument extends Document_1.default {
|
|
|
84
88
|
(0, lodash_1.set)(this.collection, idValue, attributes);
|
|
85
89
|
}
|
|
86
90
|
/** Implements interface to update a document. */
|
|
87
|
-
|
|
88
|
-
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
92
|
+
static async _update(query, mutation, _context, _previousAttributes) {
|
|
93
|
+
const idValue = (0, schema_1.got)(query, this.idKey, QUERY_ERROR_TEMPLATE);
|
|
89
94
|
const componentTitle = this.getTitle();
|
|
90
95
|
const item = (0, schema_1.got)(this.collection, idValue, `${componentTitle} with ID "$PATH" is not found`);
|
|
91
96
|
(0, lodash_1.set)(this.collection, idValue, { ...item, ...mutation });
|
|
92
97
|
return (0, lodash_1.cloneDeep)({ ...item, ...mutation });
|
|
93
98
|
}
|
|
94
99
|
/** Implements interface to delete a document. */
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
101
|
+
static async _delete(query, _context, _previousAttributes) {
|
|
102
|
+
const idValue = (0, schema_1.got)(query, this.idKey, QUERY_ERROR_TEMPLATE);
|
|
97
103
|
const componentTitle = this.getTitle();
|
|
98
104
|
(0, schema_1.got)(this.collection, idValue, `${componentTitle} with ID "$PATH" is not found`);
|
|
99
105
|
(0, lodash_1.unset)(this.collection, idValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDocument.js","sourceRoot":"","sources":["../../src/Document/MemoryDocument.ts"],"names":[],"mappings":";;;;;AAAA,0CAAoC;AAEpC,mCAAmE;AACnE,4CAA0E;AAC1E,0DAA+E;AAO/E,MAAM,aAAa,GAAG,EAA0C,CAAC;AAEjE,mEAAmE;AACnE,MAAM,cAAkB,SAAQ,kBAAW;IACzC,qDAAqD;IACrD,MAAM,KAAK,UAAU;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;QAEjC,MAAM,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC;QAED,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;QAEjC,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAI,KAAe,EAAE,OAAqB;
|
|
1
|
+
{"version":3,"file":"MemoryDocument.js","sourceRoot":"","sources":["../../src/Document/MemoryDocument.ts"],"names":[],"mappings":"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"}
|
package/dist/Document/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Document
|
|
1
|
+
import Document from './Document';
|
|
2
2
|
import MemoryDocument from './MemoryDocument';
|
|
3
3
|
export { Document, MemoryDocument, };
|
|
4
|
-
export type
|
|
4
|
+
export type * from './Document';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Document/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Document/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,QAAQ,EACR,cAAc,GACf,CAAC;AAEF,mBAAmB,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Document/index.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Document/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAIhC,mBAJK,kBAAQ,CAIL;AAHV,sEAA8C;AAI5C,yBAJK,wBAAc,CAIL"}
|
|
@@ -136,10 +136,10 @@ class Operation {
|
|
|
136
136
|
errors.InvalidParametersError = {
|
|
137
137
|
statusCode: 400,
|
|
138
138
|
description: 'Invalid operation parameters, input syntax is correct,' +
|
|
139
|
-
' but input values are not
|
|
139
|
+
' but input values are not processable'
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
errors.
|
|
142
|
+
errors.UnprocessableConditionError = {
|
|
143
143
|
statusCode: 422,
|
|
144
144
|
description: 'Operation failed to process the request cause of expected' +
|
|
145
145
|
' exit condition'
|
package/dist/Operation/errors/{UnprocessibleConditionError.d.ts → UnprocessableConditionError.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import CommonError from './CommonError';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Unprocessable Condition Error
|
|
4
4
|
*
|
|
5
|
-
* `
|
|
5
|
+
* `UnprocessableConditionError` represents a **422 Unprocessable Entity** error that occurs
|
|
6
6
|
* when an operation encounters an expected exit condition that prevents it from processing
|
|
7
7
|
* the request. This error indicates that the request is well-formed and valid, but the
|
|
8
8
|
* operation cannot proceed due to business logic constraints or state conditions.
|
|
@@ -21,9 +21,9 @@ import CommonError from './CommonError';
|
|
|
21
21
|
* The 422 status code indicates that the server understands the request but cannot process
|
|
22
22
|
* it due to semantic errors or business logic constraints.
|
|
23
23
|
*/
|
|
24
|
-
declare class
|
|
25
|
-
/** Creates an instance of
|
|
24
|
+
declare class UnprocessableConditionError extends CommonError {
|
|
25
|
+
/** Creates an instance of unprocessable condition error. */
|
|
26
26
|
constructor(message?: string);
|
|
27
27
|
}
|
|
28
|
-
export default
|
|
29
|
-
//# sourceMappingURL=
|
|
28
|
+
export default UnprocessableConditionError;
|
|
29
|
+
//# sourceMappingURL=UnprocessableConditionError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"UnprocessableConditionError.d.ts","sourceRoot":"","sources":["../../../src/Operation/errors/UnprocessableConditionError.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,cAAM,2BAA4B,SAAQ,WAAW;IACnD,4DAA4D;gBAChD,OAAO,GAAE,MAAkC;CAGxD;AAED,eAAe,2BAA2B,CAAC"}
|
package/dist/Operation/errors/{UnprocessibleConditionError.js → UnprocessableConditionError.js}
RENAMED
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const CommonError_1 = __importDefault(require("./CommonError"));
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Unprocessable Condition Error
|
|
9
9
|
*
|
|
10
|
-
* `
|
|
10
|
+
* `UnprocessableConditionError` represents a **422 Unprocessable Entity** error that occurs
|
|
11
11
|
* when an operation encounters an expected exit condition that prevents it from processing
|
|
12
12
|
* the request. This error indicates that the request is well-formed and valid, but the
|
|
13
13
|
* operation cannot proceed due to business logic constraints or state conditions.
|
|
@@ -26,11 +26,11 @@ const CommonError_1 = __importDefault(require("./CommonError"));
|
|
|
26
26
|
* The 422 status code indicates that the server understands the request but cannot process
|
|
27
27
|
* it due to semantic errors or business logic constraints.
|
|
28
28
|
*/
|
|
29
|
-
class
|
|
30
|
-
/** Creates an instance of
|
|
31
|
-
constructor(message = '
|
|
32
|
-
super('
|
|
29
|
+
class UnprocessableConditionError extends CommonError_1.default {
|
|
30
|
+
/** Creates an instance of unprocessable condition error. */
|
|
31
|
+
constructor(message = 'Unprocessable condition') {
|
|
32
|
+
super('UnprocessableConditionError', message);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
exports.default =
|
|
36
|
-
//# sourceMappingURL=
|
|
35
|
+
exports.default = UnprocessableConditionError;
|
|
36
|
+
//# sourceMappingURL=UnprocessableConditionError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"UnprocessableConditionError.js","sourceRoot":"","sources":["../../../src/Operation/errors/UnprocessableConditionError.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,2BAA4B,SAAQ,qBAAW;IACnD,4DAA4D;IAC5D,YAAY,UAAkB,yBAAyB;QACrD,KAAK,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF;AAED,kBAAe,2BAA2B,CAAC"}
|
|
@@ -4,6 +4,6 @@ import AccessDeniedError from './AccessDeniedError';
|
|
|
4
4
|
import DocumentExistsError from './DocumentExistsError';
|
|
5
5
|
import DocumentNotFoundError from './DocumentNotFoundError';
|
|
6
6
|
import InvalidParametersError from './InvalidParametersError';
|
|
7
|
-
import
|
|
8
|
-
export { CommonError, UnauthorizedError, AccessDeniedError, DocumentExistsError, DocumentNotFoundError, InvalidParametersError,
|
|
7
|
+
import UnprocessableConditionError from './UnprocessableConditionError';
|
|
8
|
+
export { CommonError, UnauthorizedError, AccessDeniedError, DocumentExistsError, DocumentNotFoundError, InvalidParametersError, UnprocessableConditionError, };
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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.
|
|
6
|
+
exports.UnprocessableConditionError = exports.InvalidParametersError = exports.DocumentNotFoundError = exports.DocumentExistsError = exports.AccessDeniedError = exports.UnauthorizedError = exports.CommonError = void 0;
|
|
7
7
|
const CommonError_1 = __importDefault(require("./CommonError"));
|
|
8
8
|
exports.CommonError = CommonError_1.default;
|
|
9
9
|
const UnauthorizedError_1 = __importDefault(require("./UnauthorizedError"));
|
|
@@ -16,6 +16,6 @@ const DocumentNotFoundError_1 = __importDefault(require("./DocumentNotFoundError
|
|
|
16
16
|
exports.DocumentNotFoundError = DocumentNotFoundError_1.default;
|
|
17
17
|
const InvalidParametersError_1 = __importDefault(require("./InvalidParametersError"));
|
|
18
18
|
exports.InvalidParametersError = InvalidParametersError_1.default;
|
|
19
|
-
const
|
|
20
|
-
exports.
|
|
19
|
+
const UnprocessableConditionError_1 = __importDefault(require("./UnprocessableConditionError"));
|
|
20
|
+
exports.UnprocessableConditionError = UnprocessableConditionError_1.default;
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -10,7 +10,7 @@ const SORT_ORDER = {
|
|
|
10
10
|
DESC: 'desc',
|
|
11
11
|
};
|
|
12
12
|
const DEFAULT_LIMIT = 20;
|
|
13
|
-
const DEFAULT_LIMIT_MAX =
|
|
13
|
+
const DEFAULT_LIMIT_MAX = 100;
|
|
14
14
|
const DEFAULT_SORT_ORDER = SORT_ORDER.DESC;
|
|
15
15
|
/** Returns class for an index operation. */
|
|
16
16
|
const Index = (
|
|
@@ -38,11 +38,11 @@ ComponentClass, componentAction = 'index') => {
|
|
|
38
38
|
}
|
|
39
39
|
/** Returns default value for a limit parameter. */
|
|
40
40
|
static get defaultLimit() {
|
|
41
|
-
return DEFAULT_LIMIT;
|
|
41
|
+
return (0, lodash_1.get)(ComponentClass, 'indexDefaultLimit', DEFAULT_LIMIT);
|
|
42
42
|
}
|
|
43
43
|
/** Returns maximum number for a limit parameter. */
|
|
44
44
|
static get limitMax() {
|
|
45
|
-
return DEFAULT_LIMIT_MAX;
|
|
45
|
+
return (0, lodash_1.get)(ComponentClass, 'indexLimitMax', DEFAULT_LIMIT_MAX);
|
|
46
46
|
}
|
|
47
47
|
/** Returns default value for a sort parameter. */
|
|
48
48
|
static get defaultSort() {
|
|
@@ -87,12 +87,12 @@ ComponentClass, componentAction = 'index') => {
|
|
|
87
87
|
},
|
|
88
88
|
count: {
|
|
89
89
|
type: 'integer',
|
|
90
|
-
example:
|
|
90
|
+
example: 5,
|
|
91
91
|
description: `Number of ${documentTitle}`,
|
|
92
92
|
},
|
|
93
93
|
limit: {
|
|
94
94
|
type: 'integer',
|
|
95
|
-
example:
|
|
95
|
+
example: (0, lodash_1.get)(ComponentClass, 'indexDefaultLimit', DEFAULT_LIMIT),
|
|
96
96
|
description: `Limit number of ${documentTitle} to be returned`,
|
|
97
97
|
},
|
|
98
98
|
lastEvaluatedKey: {
|
|
@@ -104,11 +104,11 @@ ComponentClass, componentAction = 'index') => {
|
|
|
104
104
|
}
|
|
105
105
|
/** Executes components index action. */
|
|
106
106
|
async action(parameters) {
|
|
107
|
-
const { sort, limit,
|
|
107
|
+
const { sort, limit, indexName, exclusiveStartKey, ...query } = parameters;
|
|
108
108
|
const options = {
|
|
109
109
|
sort,
|
|
110
110
|
limit,
|
|
111
|
-
|
|
111
|
+
indexName,
|
|
112
112
|
exclusiveStartKey,
|
|
113
113
|
};
|
|
114
114
|
const { componentActionMethod } = this.constructor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../src/Operation/operations/Index.ts"],"names":[],"mappings":";;;;;AACA,
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../../src/Operation/operations/Index.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,10 +32,10 @@ ComponentClass, componentAction = 'indexAll') => {
|
|
|
32
32
|
}
|
|
33
33
|
/** Executes components list action. */
|
|
34
34
|
async action(parameters) {
|
|
35
|
-
const { sort,
|
|
35
|
+
const { sort, indexName, ...query } = parameters;
|
|
36
36
|
const options = {
|
|
37
37
|
sort,
|
|
38
|
-
|
|
38
|
+
indexName,
|
|
39
39
|
};
|
|
40
40
|
const { componentActionMethod } = this.constructor;
|
|
41
41
|
const result = await componentActionMethod(this.context, query, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/Operation/operations/List.ts"],"names":[],"mappings":";;;;;AACA,mCAAoC;AACpC,6DAAsD;AAEtD,2CAA2C;AAC3C,MAAM,IAAI,GAAG;AACX,8DAA8D;AAC9D,cAAmB,EACnB,kBAA0B,UAAU,EAClB,EAAE;IACpB,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD;YACjE,qBAAqB,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc,GAAG,cAA6C,CAAC;IAE/D,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,OAAO,KAAM,SAAQ,mBAAS;QAC5B,8CAA8C;QAC9C,MAAM,KAAK,OAAO;YAChB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAA,mBAAU,EAAC,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,sDAAsD;QACtD,MAAM,KAAK,SAAS;YAClB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,4DAA4D;QAC5D,MAAM,KAAK,eAAe;YACxB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,uCAAuC;QACvC,KAAK,CAAC,MAAM,CAAC,UAAmC;YAC9C,MAAM,EACJ,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/Operation/operations/List.ts"],"names":[],"mappings":";;;;;AACA,mCAAoC;AACpC,6DAAsD;AAEtD,2CAA2C;AAC3C,MAAM,IAAI,GAAG;AACX,8DAA8D;AAC9D,cAAmB,EACnB,kBAA0B,UAAU,EAClB,EAAE;IACpB,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD;YACjE,qBAAqB,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc,GAAG,cAA6C,CAAC;IAE/D,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,OAAO,KAAM,SAAQ,mBAAS;QAC5B,8CAA8C;QAC9C,MAAM,KAAK,OAAO;YAChB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAA,mBAAU,EAAC,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,sDAAsD;QACtD,MAAM,KAAK,SAAS;YAClB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,4DAA4D;QAC5D,MAAM,KAAK,eAAe;YACxB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,uCAAuC;QACvC,KAAK,CAAC,MAAM,CAAC,UAAmC;YAC9C,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACT,GAAG,UAAU,CAAC;YAEf,MAAM,OAAO,GAAG;gBACd,IAAI;gBACJ,SAAS;aACV,CAAC;YAEF,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,WAA+B,CAAC;YAEvE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAEzE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAE3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAsB,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Component from '../../Component';
|
|
2
2
|
import { Context } from '../../Context';
|
|
3
|
-
import {
|
|
3
|
+
import { OperationErrorAttributes } from './OperationErrorAttributes';
|
|
4
4
|
import { type OriginalError } from './logOperationError';
|
|
5
5
|
/**
|
|
6
6
|
* Operation Error
|
|
@@ -20,7 +20,7 @@ import { type OriginalError } from './logOperationError';
|
|
|
20
20
|
* This class acts as the final error handler in the operation processing pipeline,
|
|
21
21
|
* transforming any thrown error into a standardized, schema-validated response format.
|
|
22
22
|
*/
|
|
23
|
-
declare class OperationError extends Component<
|
|
23
|
+
declare class OperationError extends Component<OperationErrorAttributes> {
|
|
24
24
|
/** Returns schema of the operation error. */
|
|
25
25
|
static get schema(): import("@kravc/schema").Schema;
|
|
26
26
|
/** Creates instance of an operation error. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationError.d.ts","sourceRoot":"","sources":["../../../src/Service/errors/OperationError.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OperationError.d.ts","sourceRoot":"","sources":["../../../src/Service/errors/OperationError.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAA0B,EAAE,KAAK,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAOlG;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,cAAe,SAAQ,SAAS,CAAC,wBAAwB,CAAC;IAC9D,6CAA6C;IAC7C,MAAM,KAAK,MAAM,mCAEhB;IAED,8CAA8C;gBAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;CAkC/E;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationError.js","sourceRoot":"","sources":["../../../src/Service/errors/OperationError.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gEAAwC;AAExC,0CAAyC;AAEzC,4EAAkG;AAElG,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC;AACrE,MAAM,oBAAoB,GAAG,IAAA,iBAAQ,EAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,cAAe,SAAQ,
|
|
1
|
+
{"version":3,"file":"OperationError.js","sourceRoot":"","sources":["../../../src/Service/errors/OperationError.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gEAAwC;AAExC,0CAAyC;AAEzC,4EAAkG;AAElG,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC;AACrE,MAAM,oBAAoB,GAAG,IAAA,iBAAQ,EAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,cAAe,SAAQ,mBAAmC;IAC9D,6CAA6C;IAC7C,MAAM,KAAK,MAAM;QACf,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,8CAA8C;IAC9C,YAAY,OAAgB,EAAE,UAAkB,EAAE,aAA4B;QAC5E,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,aAAa,EACb,gBAAgB,GACjB,GAAG,aAAa,CAAC;QAElB,MAAM,KAAK,GAAG;YACZ,IAAI;YACJ,OAAO;YACP,UAAU;SACQ,CAAC;QAErB,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC5C,CAAC;QAED,MAAM,iBAAiB,GAAG,CAAC,aAAa,CAAC;QAEzC,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC;YAC9B,KAAK,CAAC,OAAO,GAAG,4BAA4B,CAAC;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE3B,MAAM,cAAc,GAAG,UAAU,KAAK,mBAAmB,CAAC;QAE1D,IAAI,cAAc,EAAE,CAAC;YACnB,IAAA,2BAAiB,EAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
|