@webda/core 3.7.0 → 3.8.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.
@@ -173,7 +173,10 @@ export class Application {
173
173
  * Get model graph
174
174
  */
175
175
  getRelations(model) {
176
- return this.getGraph()[typeof model === "string" ? this.completeNamespace(model) : this.getModelName(model)] || {};
176
+ const name = typeof model === "string" ? this.completeNamespace(model) : this.getModelName(model);
177
+ // Get relations should not be case-sensitive until v4
178
+ const key = Object.keys(this.graph).find(k => k?.toLowerCase() === name?.toLowerCase());
179
+ return this.getGraph()[key] || {};
177
180
  }
178
181
  /**
179
182
  * Get the all graph
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,53 @@ import { ModelActions, RawModel } from "./relations.js";
17
17
  * @returns
18
18
  */
19
19
  export declare function Expose(params?: Partial<ExposeParameters>): (target: CoreModelDefinition) => void;
20
+ /**
21
+ *
22
+ */
23
+ export declare class CoreModelQuery {
24
+ private type;
25
+ private model;
26
+ private attribute;
27
+ private targetModel;
28
+ constructor(type: string, model: CoreModel, attribute: string);
29
+ /**
30
+ * Retrieve target model definition
31
+ * @returns
32
+ */
33
+ getTargetModel(): CoreModelDefinition;
34
+ /**
35
+ * Query the object
36
+ * @param query
37
+ * @returns
38
+ */
39
+ query(query?: string, context?: OperationContext): Promise<{
40
+ results: CoreModel[];
41
+ continuationToken?: string;
42
+ }>;
43
+ /**
44
+ * Complete the query with condition
45
+ * @param query
46
+ * @returns
47
+ */
48
+ protected completeQuery(query?: string): string;
49
+ /**
50
+ *
51
+ * @param callback
52
+ * @param context
53
+ */
54
+ forEach(callback: (model: any) => Promise<void>, query?: string, context?: OperationContext, parallelism?: number): Promise<void>;
55
+ /**
56
+ * Iterate through all
57
+ * @param context
58
+ * @returns
59
+ */
60
+ iterate(query?: string, context?: OperationContext): AsyncGenerator<CoreModel, any, unknown>;
61
+ /**
62
+ * Get all the objects
63
+ * @returns
64
+ */
65
+ getAll(context?: OperationContext): Promise<this[]>;
66
+ }
20
67
  /**
21
68
  * Attribute of an object
22
69
  *
@@ -546,7 +593,7 @@ declare class CoreModel {
546
593
  * @param raw data
547
594
  * @param secure if false will ignore any _ variable
548
595
  */
549
- load(raw: RawModel<this>, secure?: boolean): this;
596
+ load(raw: RawModel<this>, secure?: boolean, relations?: boolean): this;
550
597
  /**
551
598
  * Patch every attribute that is based on a relation
552
599
  * to add all the helpers
@@ -29,7 +29,7 @@ export function Expose(params = {}) {
29
29
  /**
30
30
  *
31
31
  */
32
- class CoreModelQuery {
32
+ export class CoreModelQuery {
33
33
  constructor(type, model, attribute) {
34
34
  this.attribute = attribute;
35
35
  this.type = type;
@@ -762,7 +762,7 @@ class CoreModel {
762
762
  * @param raw data
763
763
  * @param secure if false will ignore any _ variable
764
764
  */
765
- load(raw, secure = false) {
765
+ load(raw, secure = false, relations = true) {
766
766
  // Object assign with filter
767
767
  for (let prop in raw) {
768
768
  let val = raw[prop];
@@ -784,7 +784,9 @@ class CoreModel {
784
784
  if (!this.getUuid()) {
785
785
  this.setUuid(this.generateUid(raw));
786
786
  }
787
- this.handleRelations();
787
+ if (relations) {
788
+ this.handleRelations();
789
+ }
788
790
  return this;
789
791
  }
790
792
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,9 @@ type ModelCollectionManager<T> = {
73
73
  */
74
74
  remove: (model: T | string) => void;
75
75
  };
76
+ /**
77
+ * Link to a collection of objects
78
+ */
76
79
  export declare class ModelLinksSimpleArray<T extends CoreModel> extends Array<ModelRef<T>> implements ModelLinker {
77
80
  protected model: CoreModelDefinition<T>;
78
81
  private parent;
@@ -80,6 +83,9 @@ export declare class ModelLinksSimpleArray<T extends CoreModel> extends Array<Mo
80
83
  add(model: string | ModelRef<T> | T): void;
81
84
  remove(model: ModelRef<T> | string | T): void;
82
85
  }
86
+ /**
87
+ * Link to a collection of objects including some additional data
88
+ */
83
89
  export declare class ModelLinksArray<T extends CoreModel, K> extends Array<ModelRefCustomProperties<T, (K & {
84
90
  uuid: string;
85
91
  }) | {
@@ -162,6 +168,14 @@ export type ModelMapLoader<T extends CoreModel, K extends keyof T> = ModelMapLoa
162
168
  * Define a ModelMap attribute
163
169
  *
164
170
  * K is used by the compiler to define the field it comes from
171
+ *
172
+ * This will instructed a ModelMapper to deduplicate information from the T model into this
173
+ * current model attribute.
174
+ *
175
+ * The attribute where the current model uuid is found is defined by K
176
+ * The attributes to dedepulicate are defined by the L type
177
+ *
178
+ * In the T model, the K attribute should be of type ModelLink
165
179
  */
166
180
  export type ModelsMapped<T extends CoreModel, K extends FilterAttributes<T, ModelLinker>, L extends Attributes<T>> = Readonly<ModelMapLoader<T, L>[]>;
167
181
  export {};
@@ -8,12 +8,6 @@ import { ModelRef, ModelRefCustom, NotEnumerable } from "./coremodel.js";
8
8
  /**
9
9
  * Define a link to 1:n relation
10
10
  */
11
- /*
12
- export type ModelLink<T extends CoreModel, _FK extends keyof T = any> = ModelLoader<T> &
13
- String & {
14
- set: (id: string) => void;
15
- };
16
- */
17
11
  export class ModelLink {
18
12
  constructor(uuid, model, parent) {
19
13
  this.uuid = uuid;
@@ -25,6 +19,10 @@ export class ModelLink {
25
19
  }
26
20
  set(id) {
27
21
  this.uuid = typeof id === "string" ? id : id.getUuid();
22
+ // Set dirty for parent
23
+ this.parent?.__dirty.add(Object.keys(this.parent)
24
+ .filter(k => this.parent[k] === this)
25
+ .pop());
28
26
  }
29
27
  toString() {
30
28
  return this.uuid;
@@ -39,6 +37,9 @@ export class ModelLink {
39
37
  __decorate([
40
38
  NotEnumerable
41
39
  ], ModelLink.prototype, "parent", void 0);
40
+ /**
41
+ * Link to a collection of objects
42
+ */
42
43
  export class ModelLinksSimpleArray extends Array {
43
44
  constructor(model, content = [], parent) {
44
45
  super();
@@ -50,17 +51,26 @@ export class ModelLinksSimpleArray extends Array {
50
51
  this.push(typeof model === "string"
51
52
  ? new ModelRef(model, this.model, this.parent)
52
53
  : new ModelRef(model.getUuid(), this.model, this.parent));
54
+ this.parent?.__dirty.add(Object.keys(this.parent)
55
+ .filter(k => this.parent[k] === this)
56
+ .pop());
53
57
  }
54
58
  remove(model) {
55
59
  let index = this.findIndex(m => m.toString() === (typeof model === "string" ? model : model.getUuid()));
56
60
  if (index >= 0) {
57
61
  this.splice(index, 1);
58
62
  }
63
+ this.parent?.__dirty.add(Object.keys(this.parent)
64
+ .filter(k => this.parent[k] === this)
65
+ .pop());
59
66
  }
60
67
  }
61
68
  __decorate([
62
69
  NotEnumerable
63
70
  ], ModelLinksSimpleArray.prototype, "parent", void 0);
71
+ /**
72
+ * Link to a collection of objects including some additional data
73
+ */
64
74
  export class ModelLinksArray extends Array {
65
75
  constructor(model, content = [], parent) {
66
76
  super();
@@ -74,12 +84,18 @@ export class ModelLinksArray extends Array {
74
84
  this.push(((model instanceof ModelRefCustom
75
85
  ? model
76
86
  : new ModelRefCustom(model.uuid || model.getUuid(), this.model, model, this.parent))));
87
+ this.parent?.__dirty.add(Object.keys(this.parent)
88
+ .filter(k => this.parent[k] === this)
89
+ .pop());
77
90
  }
78
91
  remove(model) {
79
92
  const uuid = typeof model === "string" ? model : model.uuid || model.getUuid();
80
93
  let index = this.findIndex(m => m.getUuid() === uuid);
81
94
  if (index >= 0) {
82
95
  this.splice(index, 1);
96
+ this.parent?.__dirty.add(Object.keys(this.parent)
97
+ .filter(k => this.parent[k] === this)
98
+ .pop());
83
99
  }
84
100
  }
85
101
  }
@@ -90,11 +106,17 @@ export function createModelLinksMap(model, data = {}, parent) {
90
106
  let result = {
91
107
  add: (model) => {
92
108
  result[model.uuid || model.getUuid()] = model;
109
+ parent?.__dirty.add(Object.keys(parent)
110
+ .filter(k => parent[k] === result)
111
+ .pop());
93
112
  },
94
113
  remove: (model) => {
95
114
  // @ts-ignore
96
115
  const uuid = typeof model === "string" ? model : model.uuid || model.getUuid();
97
116
  delete result[uuid];
117
+ parent?.__dirty.add(Object.keys(parent)
118
+ .filter(k => parent[k] === result)
119
+ .pop());
98
120
  }
99
121
  };
100
122
  Object.keys(data)
@@ -102,6 +124,8 @@ export function createModelLinksMap(model, data = {}, parent) {
102
124
  .forEach(key => {
103
125
  result[key] = new ModelRefCustom(data[key].uuid, model, data[key], parent);
104
126
  });
127
+ Object.defineProperty(result, "add", { enumerable: false });
128
+ Object.defineProperty(result, "remove", { enumerable: false });
105
129
  return result;
106
130
  }
107
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/models/relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/models/relations.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ import { WebdaTest } from "../test.js";
7
7
  export declare class ModelDrivenTest extends WebdaTest {
8
8
  after(): void;
9
9
  test(): Promise<void>;
10
+ classrooms(): Promise<void>;
10
11
  listeners(): Promise<void>;
11
12
  }
@@ -14,6 +14,7 @@ import * as assert from "assert";
14
14
  import { BinaryService, MemoryBinaryFile } from "../services/binary.js";
15
15
  import { ModelMapper } from "../stores/modelmapper.js";
16
16
  import { WebdaTest } from "../test.js";
17
+ import { HttpContext } from "../utils/httpcontext.js";
17
18
  import { Emitters } from "./coremodel.js";
18
19
  export let ModelDrivenTest = class ModelDrivenTest extends WebdaTest {
19
20
  after() {
@@ -28,6 +29,7 @@ export let ModelDrivenTest = class ModelDrivenTest extends WebdaTest {
28
29
  const User = this.webda.getModel("User");
29
30
  // Create a User
30
31
  let user = await User.ref("user1").getOrCreate({ uuid: "user1" }, undefined, true);
32
+ let user2 = await User.ref("user2").getOrCreate({ uuid: "user2" }, undefined, true);
31
33
  Contact.factory({ firstName: "test", lastName: "" });
32
34
  let contact = new Contact().load({ firstName: "test", lastName: "", age: 18 }, true);
33
35
  // Saving contact
@@ -77,9 +79,112 @@ export let ModelDrivenTest = class ModelDrivenTest extends WebdaTest {
77
79
  await contact.delete();
78
80
  await user.refresh();
79
81
  assert.strictEqual(user.contacts.length, 0);
80
- await new Contact().load({ firstName: "test", lastName: "", age: 18, owner: "user1" }, true).save();
82
+ contact = await new Contact().load({ firstName: "test", lastName: "", age: 18, owner: "user1" }, true).save();
81
83
  await user.refresh();
82
84
  assert.strictEqual(user.contacts.length, 1);
85
+ let context = await this.newContext({ age: 21 });
86
+ context.setHttpContext(new HttpContext("test.webda.io", "PATCH", `/contacts/${contact.getUuid()}`).setBody({ age: 21 }));
87
+ context.getParameters().uuid = contact.getUuid();
88
+ await contact.getStore().httpUpdate(context);
89
+ await user.refresh();
90
+ assert.strictEqual(user.contacts.length, 1);
91
+ assert.strictEqual(user.contacts[0].age, 21);
92
+ contact.owner.set("user2");
93
+ contact.age = 22;
94
+ await contact.save();
95
+ await user.refresh();
96
+ assert.strictEqual(user.contacts.length, 0);
97
+ await user2.refresh();
98
+ assert.strictEqual(user2.contacts.length, 1);
99
+ assert.strictEqual(user2.contacts[0].age, 22);
100
+ await contact.patch({ optional: "plop" });
101
+ }
102
+ async classrooms() {
103
+ // Init mapper
104
+ let mapper = new ModelMapper(this.webda, "test", {}).resolve();
105
+ await mapper.init();
106
+ const Course = this.webda.getModel("Course");
107
+ const Student = this.webda.getModel("Student");
108
+ const Teacher = this.webda.getModel("Teacher");
109
+ const Classroom = this.webda.getModel("Classroom");
110
+ const t1 = await Teacher.ref("teacher1").create({ name: "teacher1", senior: true });
111
+ const t2 = await Teacher.ref("teacher2").create({ name: "teacher2", senior: false });
112
+ const class1 = await Classroom.ref("classroom1").create({ name: "classroom1" });
113
+ const s1 = await Student.ref("s1@school.com").create({
114
+ firstName: "first1",
115
+ lastName: "last1",
116
+ email: "s1@school.com",
117
+ teachers: ["teacher1", "teacher2"]
118
+ });
119
+ const s2 = await Student.ref("s2@school.com").create({
120
+ firstName: "first2",
121
+ lastName: "last2",
122
+ email: "s2@school.com",
123
+ teachers: ["teacher1"],
124
+ friends: [
125
+ {
126
+ // @ts-ignore
127
+ firstName: "student1",
128
+ lastName: "student1",
129
+ uuid: "s1@school.com"
130
+ }
131
+ ]
132
+ });
133
+ const course1 = await Course.ref("course1").create({
134
+ name: "course1",
135
+ teacher: "teacher1",
136
+ classroom: "classroom1",
137
+ students: {
138
+ "s2@school.com": {
139
+ uuid: "s2@school.com",
140
+ firstName: "first2"
141
+ }
142
+ }
143
+ });
144
+ for (let i in course1.students) {
145
+ console.log(course1.students[i]);
146
+ }
147
+ await t1.refresh();
148
+ await t2.refresh();
149
+ await s1.refresh();
150
+ await s2.refresh();
151
+ await class1.refresh();
152
+ assert.strictEqual(t1.students.length, 2);
153
+ assert.strictEqual(t1.courses.length, 1);
154
+ assert.strictEqual(t2.students.length, 1);
155
+ assert.strictEqual(t2.courses.length, 0);
156
+ assert.strictEqual(s2.courses.length, 1);
157
+ assert.strictEqual(s1.courses.length, 0);
158
+ assert.strictEqual(class1.courses.length, 1);
159
+ course1.teacher.set("teacher2");
160
+ await course1.save();
161
+ await t1.refresh();
162
+ await t2.refresh();
163
+ assert.strictEqual(t1.courses.length, 0);
164
+ assert.strictEqual(t2.courses.length, 1);
165
+ course1.students.add({
166
+ email: s1.email,
167
+ uuid: s1.getUuid(),
168
+ firstName: s1.firstName
169
+ });
170
+ await course1.save();
171
+ await s1.refresh();
172
+ await s2.refresh();
173
+ assert.strictEqual(s2.courses.length, 1);
174
+ assert.strictEqual(s1.courses.length, 1);
175
+ course1.students.remove(s2);
176
+ await course1.save();
177
+ await s1.refresh();
178
+ await s2.refresh();
179
+ assert.strictEqual(s2.courses.length, 0);
180
+ assert.strictEqual(s1.courses.length, 1);
181
+ await s1.teachers.remove(t1);
182
+ console.log(s1);
183
+ await s1.save();
184
+ await t1.refresh();
185
+ await t2.refresh();
186
+ assert.strictEqual(t1.students.length, 1);
187
+ assert.strictEqual(t2.students.length, 1);
83
188
  }
84
189
  async listeners() {
85
190
  // In test context, the CoreModel is loaded from different models
@@ -106,6 +211,9 @@ export let ModelDrivenTest = class ModelDrivenTest extends WebdaTest {
106
211
  __decorate([
107
212
  test
108
213
  ], ModelDrivenTest.prototype, "test", null);
214
+ __decorate([
215
+ test
216
+ ], ModelDrivenTest.prototype, "classrooms", null);
109
217
  __decorate([
110
218
  test
111
219
  ], ModelDrivenTest.prototype, "listeners", null);