@stamhoofd/models 2.115.1 → 2.116.0

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 (51) hide show
  1. package/dist/src/factories/MemberFactory.d.ts +3 -3
  2. package/dist/src/factories/MemberFactory.d.ts.map +1 -1
  3. package/dist/src/factories/MemberFactory.js.map +1 -1
  4. package/dist/src/migrations/1770917406-create-cached-balances-global-index.sql +2 -0
  5. package/dist/src/migrations/1770917407-create-member-name-ordering-index.sql +2 -0
  6. package/dist/src/migrations/1770917408-create-member-name-ordering-index-desc.sql +2 -0
  7. package/dist/src/migrations/1770917409-create-member-age-ordering-index.sql +2 -0
  8. package/dist/src/migrations/1770917410-create-member-age-ordering-index-desc.sql +2 -0
  9. package/dist/src/migrations/1770917411-drop-duplicate-member-indexes.sql +3 -0
  10. package/dist/src/models/Document.d.ts +3 -3
  11. package/dist/src/models/Document.d.ts.map +1 -1
  12. package/dist/src/models/Document.js +11 -7
  13. package/dist/src/models/Document.js.map +1 -1
  14. package/dist/src/models/DocumentTemplate.d.ts +4 -0
  15. package/dist/src/models/DocumentTemplate.d.ts.map +1 -1
  16. package/dist/src/models/DocumentTemplate.js +33 -12
  17. package/dist/src/models/DocumentTemplate.js.map +1 -1
  18. package/dist/src/models/Group.d.ts +1 -5
  19. package/dist/src/models/Group.d.ts.map +1 -1
  20. package/dist/src/models/Group.js +1 -55
  21. package/dist/src/models/Group.js.map +1 -1
  22. package/dist/src/models/Member.d.ts +51 -10
  23. package/dist/src/models/Member.d.ts.map +1 -1
  24. package/dist/src/models/Member.js +209 -126
  25. package/dist/src/models/Member.js.map +1 -1
  26. package/dist/src/models/Organization.d.ts.map +1 -1
  27. package/dist/src/models/Organization.js +1 -0
  28. package/dist/src/models/Organization.js.map +1 -1
  29. package/dist/src/models/Platform.test.js +3 -3
  30. package/dist/src/models/Platform.test.js.map +1 -1
  31. package/dist/src/models/Registration.js +1 -1
  32. package/dist/src/models/Registration.js.map +1 -1
  33. package/dist/src/models/User.d.ts.map +1 -1
  34. package/dist/src/models/User.js +1 -0
  35. package/dist/src/models/User.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/factories/MemberFactory.ts +3 -3
  38. package/src/migrations/1770917406-create-cached-balances-global-index.sql +2 -0
  39. package/src/migrations/1770917407-create-member-name-ordering-index.sql +2 -0
  40. package/src/migrations/1770917408-create-member-name-ordering-index-desc.sql +2 -0
  41. package/src/migrations/1770917409-create-member-age-ordering-index.sql +2 -0
  42. package/src/migrations/1770917410-create-member-age-ordering-index-desc.sql +2 -0
  43. package/src/migrations/1770917411-drop-duplicate-member-indexes.sql +3 -0
  44. package/src/models/Document.ts +13 -10
  45. package/src/models/DocumentTemplate.ts +37 -13
  46. package/src/models/Group.ts +4 -71
  47. package/src/models/Member.ts +262 -156
  48. package/src/models/Organization.ts +2 -1
  49. package/src/models/Platform.test.ts +3 -3
  50. package/src/models/Registration.ts +1 -1
  51. package/src/models/User.ts +2 -1
@@ -69,7 +69,7 @@ describe('Model.Platform', () => {
69
69
  });
70
70
  });
71
71
 
72
- describe('Creating fresh platform', () => {
72
+ describe('it creates the first platform in the database', () => {
73
73
  beforeEach(async () => {
74
74
  await Database.delete('DELETE FROM platform');
75
75
  await Platform.clearCacheWithoutRefresh();
@@ -82,14 +82,14 @@ describe('Model.Platform', () => {
82
82
  const editable = await Platform.getForEditing();
83
83
  expect(editable.id).toBe('1');
84
84
 
85
- expect(await Platform.getByID('1')).toEqual(editable);
85
+ expect((await Platform.getByID('1'))?.id).toEqual(editable.id);
86
86
  });
87
87
 
88
88
  test('when requesting getShared', async () => {
89
89
  const shared = await Platform.getShared();
90
90
  expect(shared.id).toBe('1');
91
91
 
92
- expect(await Platform.getByID('1')).toMatchObject(shared);
92
+ expect((await Platform.getByID('1'))?.id).toEqual(shared.id);
93
93
  });
94
94
 
95
95
  test('when requesting getSharedPrivateStruct', async () => {
@@ -189,7 +189,7 @@ export class Registration extends QueryableModel {
189
189
  async getRecipients(organization: Organization, group: import('./').Group) {
190
190
  const { Member } = await import('./Member.js');
191
191
 
192
- const member = await Member.getWithRegistrations(this.memberId);
192
+ const member = await Member.getByIdWithUsers(this.memberId);
193
193
 
194
194
  if (!member) {
195
195
  return [];
@@ -1,6 +1,6 @@
1
1
  import { column, Database, ManyToOneRelation } from '@simonbackx/simple-database';
2
2
  import { EmailInterfaceRecipient } from '@stamhoofd/email';
3
- import { QueryableModel, SQL, SQLJSONNull } from '@stamhoofd/sql';
3
+ import { ModelCache, QueryableModel, SQL, SQLJSONNull } from '@stamhoofd/sql';
4
4
  import { LoginProviderType, NewUser, Permissions, Recipient, Replacement, UserMeta, UserPermissions, User as UserStruct } from '@stamhoofd/structures';
5
5
  import argon2 from 'argon2';
6
6
  import { v4 as uuidv4 } from 'uuid';
@@ -11,6 +11,7 @@ import { Organization } from './index.js';
11
11
 
12
12
  export class User extends QueryableModel {
13
13
  static table = 'users';
14
+ // static cache = new ModelCache<User>();
14
15
 
15
16
  // Columns
16
17
  @column({