@webda/core 2.2.0 → 2.3.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.
Files changed (82) hide show
  1. package/lib/application.d.ts +51 -9
  2. package/lib/application.js +18 -1
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +4 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +31 -5
  7. package/lib/core.js +62 -2
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +49 -1
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +2 -0
  12. package/lib/index.js +2 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +1 -1
  15. package/lib/models/aclmodel.spec.js +10 -10
  16. package/lib/models/aclmodel.spec.js.map +1 -1
  17. package/lib/models/coremodel.d.ts +103 -25
  18. package/lib/models/coremodel.js +162 -18
  19. package/lib/models/coremodel.js.map +1 -1
  20. package/lib/models/coremodel.spec.js +89 -2
  21. package/lib/models/coremodel.spec.js.map +1 -1
  22. package/lib/models/user.d.ts +3 -3
  23. package/lib/models/user.js.map +1 -1
  24. package/lib/models/user.spec.js +1 -0
  25. package/lib/models/user.spec.js.map +1 -1
  26. package/lib/router.d.ts +1 -1
  27. package/lib/services/authentication.d.ts +1 -1
  28. package/lib/services/binary.d.ts +2 -2
  29. package/lib/services/cloudbinary.spec.js +1 -0
  30. package/lib/services/cloudbinary.spec.js.map +1 -1
  31. package/lib/services/configuration.d.ts +1 -1
  32. package/lib/services/oauth.d.ts +1 -1
  33. package/lib/services/service.d.ts +3 -3
  34. package/lib/stores/aliasstore.d.ts +108 -0
  35. package/lib/stores/aliasstore.js +153 -0
  36. package/lib/stores/aliasstore.js.map +1 -0
  37. package/lib/stores/aliasstore.spec.d.ts +11 -0
  38. package/lib/stores/aliasstore.spec.js +87 -0
  39. package/lib/stores/aliasstore.spec.js.map +1 -0
  40. package/lib/stores/file.spec.js +20 -113
  41. package/lib/stores/file.spec.js.map +1 -1
  42. package/lib/stores/mapper.d.ts +1 -1
  43. package/lib/stores/mapper.js +1 -1
  44. package/lib/stores/mapper.js.map +1 -1
  45. package/lib/stores/memory.spec.js +4 -2
  46. package/lib/stores/memory.spec.js.map +1 -1
  47. package/lib/stores/store.d.ts +58 -5
  48. package/lib/stores/store.js +104 -9
  49. package/lib/stores/store.js.map +1 -1
  50. package/lib/stores/store.spec.d.ts +2 -0
  51. package/lib/stores/store.spec.js +125 -0
  52. package/lib/stores/store.spec.js.map +1 -1
  53. package/lib/stores/webdaql/WebdaQLLexer.js +5 -5
  54. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  55. package/lib/stores/webdaql/WebdaQLParserLexer.js +5 -5
  56. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  57. package/lib/stores/webdaql/WebdaQLParserParser.js +4 -4
  58. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  59. package/lib/stores/webdaql/query.d.ts +16 -1
  60. package/lib/stores/webdaql/query.js +50 -1
  61. package/lib/stores/webdaql/query.js.map +1 -1
  62. package/lib/stores/webdaql/query.spec.js +20 -0
  63. package/lib/stores/webdaql/query.spec.js.map +1 -1
  64. package/lib/utils/context.d.ts +2 -2
  65. package/lib/utils/context.js +22 -22
  66. package/lib/utils/context.js.map +1 -1
  67. package/lib/utils/cookie.js +1 -1
  68. package/lib/utils/cookie.js.map +1 -1
  69. package/lib/utils/cookie.spec.js +5 -189
  70. package/lib/utils/cookie.spec.js.map +1 -1
  71. package/lib/utils/httpcontext.d.ts +2 -2
  72. package/lib/utils/serializers.spec.js +8 -0
  73. package/lib/utils/serializers.spec.js.map +1 -1
  74. package/lib/utils/throttler.d.ts +82 -0
  75. package/lib/utils/throttler.js +136 -0
  76. package/lib/utils/throttler.js.map +1 -0
  77. package/lib/utils/throttler.spec.d.ts +1 -0
  78. package/lib/utils/throttler.spec.js +47 -0
  79. package/lib/utils/throttler.spec.js.map +1 -0
  80. package/lib/utils/waiter.d.ts +2 -2
  81. package/package.json +3 -3
  82. package/webda.module.json +56 -2
@@ -73,7 +73,7 @@ export declare class OAuthServiceParameters extends ServiceParameters {
73
73
  authenticationService: string;
74
74
  constructor(params: any);
75
75
  }
76
- export declare type OAuthEvents = {
76
+ export type OAuthEvents = {
77
77
  "OAuth.Callback": EventOAuthToken;
78
78
  };
79
79
  /**
@@ -81,13 +81,13 @@ export declare class ServiceParameters {
81
81
  /**
82
82
  * Create a new type with only optional
83
83
  */
84
- export declare type DeepPartial<T> = {
84
+ export type DeepPartial<T> = {
85
85
  [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
86
86
  };
87
- export declare type PartialModel<T> = {
87
+ export type PartialModel<T> = {
88
88
  [P in keyof T]: T[P] extends Function ? T[P] : T[P] extends object ? null | PartialModel<T[P]> : T[P] | null;
89
89
  };
90
- export declare type Events = {
90
+ export type Events = {
91
91
  [key: string]: unknown;
92
92
  };
93
93
  /**
@@ -0,0 +1,108 @@
1
+ import { CoreModel } from "../models/coremodel.js";
2
+ import { WebContext } from "../utils/context.js";
3
+ import { Store, StoreEvents, StoreFindResult, StoreParameters } from "./store.js";
4
+ import { WebdaQL } from "./webdaql/query.js";
5
+ export declare class AbstractAliasStoreParameters extends StoreParameters {
6
+ /**
7
+ * Store to alias
8
+ */
9
+ targetStore: string;
10
+ constructor(params: any, store: Store);
11
+ }
12
+ /**
13
+ * AliasStore allow to expose a Store as another route with another model
14
+ * This is useful to store small collection in the registry
15
+ *
16
+ * The RegistryStore will default to a model, then specific models from the
17
+ * target collection can be exposed via an endpoint like users
18
+ *
19
+ */
20
+ export declare abstract class AbstractAliasStore<T extends CoreModel, K extends AliasStoreParameters, E extends StoreEvents> extends Store<T, K, E> {
21
+ _targetStore: Store<T>;
22
+ /**
23
+ * @override
24
+ */
25
+ find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
26
+ /**
27
+ * @override
28
+ */
29
+ exists(uid: string): Promise<boolean>;
30
+ /**
31
+ * @override
32
+ */
33
+ getAll(list?: string[]): Promise<T[]>;
34
+ /**
35
+ * @override
36
+ */
37
+ _removeAttribute(uuid: string, attribute: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
38
+ /**
39
+ * @override
40
+ */
41
+ _save(object: T): Promise<any>;
42
+ /**
43
+ * @override
44
+ */
45
+ _upsertItemToCollection(uid: string, prop: string, item: any, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
46
+ /**
47
+ * @override
48
+ */
49
+ abstract generateUuidFromPublicId(id: string): string;
50
+ /**
51
+ * @override
52
+ */
53
+ _get(uid: string, raiseIfNotFound?: boolean | undefined): Promise<T>;
54
+ /**
55
+ * @override
56
+ */
57
+ _delete(uid: string, writeCondition?: any, itemWriteConditionField?: string | undefined): Promise<void>;
58
+ /**
59
+ * @override
60
+ */
61
+ _deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
62
+ /**
63
+ * @override
64
+ */
65
+ _incrementAttribute(uid: string, prop: string, value: number, updateDate: Date): Promise<any>;
66
+ /**
67
+ * @override
68
+ */
69
+ _patch(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string | undefined): Promise<any>;
70
+ /**
71
+ * @override
72
+ */
73
+ _update(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string | undefined): Promise<any>;
74
+ /**
75
+ * @override
76
+ */
77
+ httpGet(ctx: WebContext<any, any>): Promise<void>;
78
+ /**
79
+ * @override
80
+ */
81
+ httpAction(ctx: WebContext<any, any>): Promise<void>;
82
+ }
83
+ export declare class AliasStoreParameters extends AbstractAliasStoreParameters {
84
+ /**
85
+ * Store to alias
86
+ */
87
+ idTemplate: string;
88
+ }
89
+ /**
90
+ * AliasStore allow to expose a Store as another route with another model
91
+ * This is useful to store small collection in the registry
92
+ *
93
+ * The RegistryStore will default to a model, then specific models from the
94
+ * target collection can be exposed via an endpoint like users
95
+ *
96
+ * @WebdaModda
97
+ */
98
+ export declare class AliasStore<T extends CoreModel = CoreModel, K extends AliasStoreParameters = AliasStoreParameters, E extends StoreEvents = StoreEvents> extends AbstractAliasStore<T, K, E> {
99
+ /**
100
+ * @override
101
+ */
102
+ loadParameters(params: any): StoreParameters;
103
+ /**
104
+ * Use the idTemplate parameter to generate uuid
105
+ * @override
106
+ */
107
+ generateUuidFromPublicId(id: string): string;
108
+ }
@@ -0,0 +1,153 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Inject } from "../services/service.js";
8
+ import { Store, StoreParameters } from "./store.js";
9
+ import { WebdaQL } from "./webdaql/query.js";
10
+ export class AbstractAliasStoreParameters extends StoreParameters {
11
+ constructor(params, store) {
12
+ super(params, store);
13
+ this.strict = true;
14
+ }
15
+ }
16
+ /**
17
+ * AliasStore allow to expose a Store as another route with another model
18
+ * This is useful to store small collection in the registry
19
+ *
20
+ * The RegistryStore will default to a model, then specific models from the
21
+ * target collection can be exposed via an endpoint like users
22
+ *
23
+ */
24
+ export class AbstractAliasStore extends Store {
25
+ /**
26
+ * @override
27
+ */
28
+ find(query) {
29
+ let expr = new WebdaQL.AndExpression([new WebdaQL.ComparisonExpression("=", "__type", this._modelType)]);
30
+ // Will need to check for uuid query
31
+ if (query.filter) {
32
+ expr.children.push(query.filter);
33
+ }
34
+ query.filter = expr;
35
+ return this._targetStore.find(query);
36
+ }
37
+ /**
38
+ * @override
39
+ */
40
+ exists(uid) {
41
+ return this._targetStore.exists(this.generateUuidFromPublicId(uid));
42
+ }
43
+ /**
44
+ * @override
45
+ */
46
+ async getAll(list) {
47
+ if (list) {
48
+ return this._targetStore.getAll(list.map(id => this.generateUuidFromPublicId(id)));
49
+ }
50
+ else {
51
+ // Get all from find
52
+ return this._targetStore.queryAll(`__type = '${this._modelType}'`);
53
+ }
54
+ }
55
+ /**
56
+ * @override
57
+ */
58
+ _removeAttribute(uuid, attribute, itemWriteCondition, itemWriteConditionField) {
59
+ return this._targetStore._removeAttribute(this.generateUuidFromPublicId(uuid), attribute, itemWriteCondition, itemWriteConditionField);
60
+ }
61
+ /**
62
+ * @override
63
+ */
64
+ _save(object) {
65
+ return this._targetStore._save(object);
66
+ }
67
+ /**
68
+ * @override
69
+ */
70
+ _upsertItemToCollection(uid, prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate) {
71
+ return this._targetStore._upsertItemToCollection(this.generateUuidFromPublicId(uid), prop, item, index, itemWriteCondition, itemWriteConditionField, updateDate);
72
+ }
73
+ /**
74
+ * @override
75
+ */
76
+ async _get(uid, raiseIfNotFound) {
77
+ return this._targetStore._get(this.generateUuidFromPublicId(uid), raiseIfNotFound);
78
+ }
79
+ /**
80
+ * @override
81
+ */
82
+ async _delete(uid, writeCondition, itemWriteConditionField) {
83
+ return this._targetStore._delete(this.generateUuidFromPublicId(uid), writeCondition, itemWriteConditionField);
84
+ }
85
+ /**
86
+ * @override
87
+ */
88
+ async _deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate) {
89
+ return this._targetStore._deleteItemFromCollection(this.generateUuidFromPublicId(uid), prop, index, itemWriteCondition, itemWriteConditionField, updateDate);
90
+ }
91
+ /**
92
+ * @override
93
+ */
94
+ async _incrementAttribute(uid, prop, value, updateDate) {
95
+ return this._targetStore._incrementAttribute(this.generateUuidFromPublicId(uid), prop, value, updateDate);
96
+ }
97
+ /**
98
+ * @override
99
+ */
100
+ async _patch(object, uid, itemWriteCondition, itemWriteConditionField) {
101
+ return this._targetStore._patch(object, this.generateUuidFromPublicId(uid), itemWriteCondition, itemWriteConditionField);
102
+ }
103
+ /**
104
+ * @override
105
+ */
106
+ async _update(object, uid, itemWriteCondition, itemWriteConditionField) {
107
+ return this._targetStore._update(object, this.generateUuidFromPublicId(uid), itemWriteCondition, itemWriteConditionField);
108
+ }
109
+ /**
110
+ * @override
111
+ */
112
+ httpGet(ctx) {
113
+ ctx.getParameters().id = this.generateUuidFromPublicId(ctx.getParameters().id);
114
+ return super.httpGet(ctx);
115
+ }
116
+ /**
117
+ * @override
118
+ */
119
+ httpAction(ctx) {
120
+ ctx.getParameters().id = this.generateUuidFromPublicId(ctx.getParameters().id);
121
+ return super.httpAction(ctx);
122
+ }
123
+ }
124
+ __decorate([
125
+ Inject("params:targetStore")
126
+ ], AbstractAliasStore.prototype, "_targetStore", void 0);
127
+ export class AliasStoreParameters extends AbstractAliasStoreParameters {
128
+ }
129
+ /**
130
+ * AliasStore allow to expose a Store as another route with another model
131
+ * This is useful to store small collection in the registry
132
+ *
133
+ * The RegistryStore will default to a model, then specific models from the
134
+ * target collection can be exposed via an endpoint like users
135
+ *
136
+ * @WebdaModda
137
+ */
138
+ export class AliasStore extends AbstractAliasStore {
139
+ /**
140
+ * @override
141
+ */
142
+ loadParameters(params) {
143
+ return new AliasStoreParameters(params, this);
144
+ }
145
+ /**
146
+ * Use the idTemplate parameter to generate uuid
147
+ * @override
148
+ */
149
+ generateUuidFromPublicId(id) {
150
+ return this.parameters.idTemplate.replace(/\{id\}/g, id);
151
+ }
152
+ }
153
+ //# sourceMappingURL=aliasstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliasstore.js","sourceRoot":"","sources":["../../src/stores/aliasstore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { CoreModel, Store } from "../index.js";
2
+ import { StoreTest } from "./store.spec.js";
3
+ declare class AliasStoreTest extends StoreTest {
4
+ buildWebda(): Promise<void>;
5
+ getIdentStore(): Store<any>;
6
+ getUserStore(): Store<any>;
7
+ getIndex(): Promise<CoreModel>;
8
+ httpCRUD(): Promise<void>;
9
+ modelActions(): Promise<void>;
10
+ }
11
+ export { AliasStoreTest };
@@ -0,0 +1,87 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import { MapperService } from "../index.js";
9
+ import { AliasStore } from "./aliasstore.js";
10
+ import { StoreTest } from "./store.spec.js";
11
+ let AliasStoreTest = class AliasStoreTest extends StoreTest {
12
+ async buildWebda() {
13
+ await super.buildWebda();
14
+ let services = [
15
+ new AliasStore(this.webda, "aliasUser", {
16
+ targetStore: "MemoryIdents",
17
+ model: "webda/user",
18
+ idTemplate: "{id}",
19
+ expose: {
20
+ url: "/alias/users"
21
+ }
22
+ }),
23
+ new AliasStore(this.webda, "aliasIdent", {
24
+ targetStore: "MemoryIdents",
25
+ model: "webdatest/ident",
26
+ idTemplate: "{id}",
27
+ expose: {
28
+ url: "/alias/idents"
29
+ },
30
+ asyncDelete: true
31
+ }),
32
+ new MapperService(this.webda, "aliasMapper", {
33
+ source: "aliasIdent",
34
+ targetAttribute: "idents",
35
+ target: "aliasUser",
36
+ attribute: "_user",
37
+ fields: ["type", "_lastUpdate"],
38
+ cascade: true
39
+ })
40
+ ];
41
+ services.forEach(s => this.registerService(s));
42
+ }
43
+ getIdentStore() {
44
+ // Need to slow down the _get
45
+ let store = this.getService("MemoryIdents");
46
+ store.getParameters().forceModel = false;
47
+ store.getParameters().strict = false;
48
+ let original = store._get.bind(store);
49
+ store._get = async (...args) => {
50
+ await this.sleep(1);
51
+ return original(...args);
52
+ };
53
+ return this.getService("aliasIdent");
54
+ }
55
+ getUserStore() {
56
+ const store = this.getService("aliasUser");
57
+ // Monkey patch to allow switch from User to PermissionModel during test
58
+ store.setModel = (...args) => {
59
+ store._model = args[0];
60
+ store._targetStore.setModel(...args);
61
+ store._targetStore.getParameters().forceModel = true;
62
+ store.getParameters().strict = false;
63
+ store._targetStore.getParameters().strict = false;
64
+ };
65
+ return store;
66
+ }
67
+ async getIndex() {
68
+ return undefined;
69
+ }
70
+ async httpCRUD() {
71
+ return super.httpCRUD("/alias/users");
72
+ }
73
+ async modelActions() {
74
+ return super.modelActions("/alias/idents");
75
+ }
76
+ };
77
+ __decorate([
78
+ test
79
+ ], AliasStoreTest.prototype, "httpCRUD", null);
80
+ __decorate([
81
+ test
82
+ ], AliasStoreTest.prototype, "modelActions", null);
83
+ AliasStoreTest = __decorate([
84
+ suite
85
+ ], AliasStoreTest);
86
+ export { AliasStoreTest };
87
+ //# sourceMappingURL=aliasstore.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aliasstore.spec.js","sourceRoot":"","sources":["../../src/stores/aliasstore.spec.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,15 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
91
91
  };
92
92
  userStore.initRoutes();
93
93
  userStore.getUrl("/url", ["GET"]);
94
+ // Test getParentUrl
95
+ assert.strictEqual(userStore.getParentUrl(), "/users/{P0uuid}");
96
+ // @ts-ignore
97
+ userStore.parent = {
98
+ getParentUrl: depth => `/fake/{P${depth}}`
99
+ };
100
+ assert.strictEqual(userStore.getParentUrl(), "/fake/{P1}/users/{P0uuid}");
101
+ userStore.getParameters().expose = undefined;
102
+ assert.throws(() => userStore.getParentUrl(), /Parent store need to be exposed/);
94
103
  }
95
104
  async configuration() {
96
105
  let identStore = this.getService("idents");
@@ -103,37 +112,7 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
103
112
  });
104
113
  }
105
114
  async modelActions() {
106
- let identStore = this.getService("idents");
107
- assert.notStrictEqual(identStore.getModel(), undefined);
108
- let eventFired = 0;
109
- let executor, ctx;
110
- identStore.on("Store.Action", evt => {
111
- eventFired++;
112
- });
113
- identStore.on("Store.Actioned", evt => {
114
- eventFired++;
115
- });
116
- ctx = await this.newContext({
117
- type: "CRUD",
118
- uuid: "PLOP"
119
- });
120
- executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/idents/coucou/plop");
121
- assert.notStrictEqual(executor, undefined);
122
- await assert.rejects(executor.execute(ctx), err => err == 404);
123
- await identStore.save({
124
- uuid: "coucou"
125
- });
126
- await executor.execute(ctx);
127
- // Our fake action is pushing true to _plop
128
- assert.strictEqual(JSON.parse(ctx.getResponseBody())._plop, true);
129
- assert.strictEqual(eventFired, 2);
130
- assert.notStrictEqual(this.getExecutor(ctx, "test.webda.io", "POST", "/idents/coucou/yop"), null);
131
- executor = this.getExecutor(ctx, "test.webda.io", "GET", "/idents/coucou/yop");
132
- assert.notStrictEqual(executor, null);
133
- // Test with action returning the result instead of writing it
134
- ctx.resetResponse();
135
- await executor.execute(ctx);
136
- assert.strictEqual(ctx.getResponseBody(), "youpi");
115
+ return super.modelActions();
137
116
  }
138
117
  async cacheMishit() {
139
118
  let identStore = this.getService("idents");
@@ -168,90 +147,18 @@ let FileStoreTest = class FileStoreTest extends StoreTest {
168
147
  await executor.execute(ctx);
169
148
  // Our fake index action is just outputing 'indexer'
170
149
  assert.strictEqual(ctx.getResponseBody(), "vouzouf");
171
- }
172
- async httpCRUD() {
173
- let eventFired;
174
- let userStore = this.getUserStore();
175
- let ctx, executor;
176
- await userStore.__clean();
177
- ctx = await this.newContext({});
178
- ctx.session.login("fake_user", "fake_ident");
179
- executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
180
- type: "CRUD",
181
- uuid: "PLOP",
182
- displayName: "Coucou"
183
- });
184
- assert.notStrictEqual(executor, undefined);
185
- await executor.execute(ctx);
186
- ctx.body = undefined;
187
- assert.strictEqual((await userStore.getAll()).length, 1);
188
- await this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP").execute(ctx);
189
- assert.notStrictEqual(ctx.getResponseBody(), undefined);
190
- assert.strictEqual(ctx.getResponseBody().indexOf("_lastUpdate") >= 0, true);
191
- executor = this.getExecutor(ctx, "test.webda.io", "POST", "/users", {
192
- type: "CRUD2",
193
- uuid: "PLOP",
194
- displayName: "Coucou 2"
195
- });
196
- await assert.rejects(executor.execute(ctx), err => err == 409);
197
- // Verify the none overide of UUID
198
- await this.execute(ctx, "test.webda.io", "PUT", "/users/PLOP", {
199
- type: "CRUD2",
200
- additional: "field",
201
- uuid: "PLOP2",
202
- user: "fake_user",
203
- displayName: "Coucou 3"
204
- });
205
- let user = await userStore.get("PLOP");
206
- assert.strictEqual(user.uuid, "PLOP");
207
- assert.strictEqual(user.type, "CRUD2");
208
- assert.strictEqual(user.additional, "field");
209
- assert.strictEqual(user.user, "fake_user");
210
- assert.strictEqual(user._user, "fake_user");
211
- // Add a role to the user
212
- user.addRole("plop");
213
- await user.save();
214
- user = await userStore.get("PLOP");
215
- assert.deepStrictEqual(user.getRoles(), ["plop"]);
216
150
  ctx.resetResponse();
217
- // Check PATH
218
- await this.execute(ctx, "test.webda.io", "PATCH", "/users/PLOP", {
219
- type: "CRUD3",
220
- uuid: "PLOP2",
221
- _testor: "_ should not be update by client"
222
- });
223
- user = await userStore.get("PLOP");
224
- assert.strictEqual(user.uuid, "PLOP");
225
- assert.strictEqual(user.type, "CRUD3");
226
- assert.strictEqual(user.additional, "field");
227
- assert.strictEqual(user._testor, undefined);
228
- assert.strictEqual(user._user, "fake_user");
229
- assert.deepStrictEqual(user.getRoles(), ["plop"]);
230
- executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP", {
231
- type: "CRUD3",
232
- uuid: "PLOP2",
233
- _testor: "_ should not be update by client",
234
- displayName: "yep"
235
- });
151
+ // @ts-ignore
152
+ identStore._model.index = async () => {
153
+ return "bouzouf";
154
+ };
155
+ // @ts-ignore
156
+ identStore._model._index = undefined;
236
157
  await executor.execute(ctx);
237
- user = await userStore.get("PLOP");
238
- assert.strictEqual(user.uuid, "PLOP");
239
- assert.strictEqual(user.type, "CRUD3");
240
- assert.strictEqual(user.additional, undefined);
241
- assert.strictEqual(user._testor, undefined);
242
- assert.deepStrictEqual(user.getRoles(), ["plop"]);
243
- await this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP").execute(ctx);
244
- eventFired = 0;
245
- executor = this.getExecutor(ctx, "test.webda.io", "GET", "/users/PLOP");
246
- await assert.rejects(() => executor.execute(ctx), err => err == 404);
247
- eventFired++;
248
- executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/users/PLOP");
249
- await assert.rejects(() => executor.execute(ctx), err => err == 404);
250
- eventFired++;
251
- executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/users/PLOP");
252
- await assert.rejects(() => executor.execute(ctx), err => err == 404);
253
- eventFired++;
254
- assert.strictEqual(eventFired, 3);
158
+ assert.strictEqual(ctx.getResponseBody(), "bouzouf");
159
+ }
160
+ async httpCRUD() {
161
+ return super.httpCRUD();
255
162
  }
256
163
  async getURL() {
257
164
  //assert.strictEqual((<Store<CoreModel>>this.webda.getService("users")).getUrl(), "/users");
@@ -1 +1 @@
1
- {"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.spec.js","sourceRoot":"","sources":["../../src/stores/file.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CoreModel } from "../models/coremodel.js";
2
2
  import { Service, ServiceParameters } from "../services/service.js";
3
3
  import { Store } from "./store.js";
4
- export declare type MapUpdates = "created" | "deleted" | {
4
+ export type MapUpdates = "created" | "deleted" | {
5
5
  [key: string]: any;
6
6
  };
7
7
  export interface Mapper {
@@ -237,7 +237,7 @@ export default class MapperService extends Service {
237
237
  ids = attribute;
238
238
  if (typeof updates == "object" && updates[this.parameters.attribute]) {
239
239
  let refs = updates[this.parameters.attribute];
240
- toAdd = refs.filter(id => !attribute.includes(id));
240
+ toAdd = refs.filter(id => !ids.includes(id));
241
241
  toDelete = attribute.filter(id => !refs.includes(id));
242
242
  }
243
243
  }