@stamhoofd/models 2.115.0 → 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
@@ -5,11 +5,19 @@ import { Group, Registration, User } from './index.js';
5
5
  export type MemberWithUsers = Member & {
6
6
  users: User[];
7
7
  };
8
- export type MemberWithRegistrations = MemberWithUsers & {
9
- registrations: (Registration & {
10
- group: Group;
11
- })[];
8
+ export type MemberWithRegistrations<R extends Registration = Registration> = Member & {
9
+ registrations: (R)[];
12
10
  };
11
+ export type RegistrationWithGroup = Registration & {
12
+ group: Group;
13
+ };
14
+ export type MemberWithRegistrationsAndGroups = MemberWithRegistrations<RegistrationWithGroup>;
15
+ export type MemberWithUsersAndRegistrations<R extends Registration = Registration> = MemberWithUsers & MemberWithRegistrations<R>;
16
+ /**
17
+ * @deprecated
18
+ * For performance reasons, avoid loading the groups of registrations when not required. Use MemberWithRegistrations instead.
19
+ */
20
+ export type MemberWithUsersRegistrationsAndGroups = MemberWithUsers & MemberWithUsersAndRegistrations<RegistrationWithGroup>;
13
21
  export type RegistrationWithMember = Registration & {
14
22
  member: Member;
15
23
  };
@@ -34,27 +42,55 @@ export declare class Member extends QueryableModel {
34
42
  /**
35
43
  * Fetch all members with their corresponding (valid) registration
36
44
  */
37
- static getWithRegistrations(id: string): Promise<MemberWithRegistrations | null>;
45
+ static getWithRegistrations(id: string): Promise<MemberWithUsersRegistrationsAndGroups | null>;
46
+ /**
47
+ * Fetch all members with their corresponding (valid) registration
48
+ */
49
+ static getByIdWithRegistrationsAndGroups(id: string): Promise<MemberWithRegistrationsAndGroups | null>;
50
+ /**
51
+ * Fetch all members with their corresponding (valid) registration
52
+ */
53
+ static getByIdWithUsers(id: string): Promise<MemberWithUsers | null>;
54
+ /**
55
+ * Fetch all members with their corresponding (valid) registration
56
+ */
57
+ static getByIdWithUsersAndRegistrations(id: string): Promise<MemberWithUsersAndRegistrations | null>;
58
+ static getByIdsWithUsers(...ids: string[]): Promise<MemberWithUsers[]>;
38
59
  /**
39
60
  * Fetch all registrations with members with their corresponding (valid) registrations
40
61
  */
41
62
  static getRegistrationWithMembersByIDs(ids: string[]): Promise<RegistrationWithMember[]>;
63
+ /**
64
+ * Fetch all registrations with members with their corresponding (valid) registrations
65
+ */
66
+ static loadMembersForRegistrations(registrations: Registration[]): Promise<RegistrationWithMember[]>;
42
67
  /**
43
68
  * Fetch all registrations with members with their corresponding (valid) registrations
44
69
  */
45
70
  static getRegistrationWithMembersForGroup(groupId: string): Promise<RegistrationWithMember[]>;
71
+ static loadRegistrations(members: Member[], withGroups?: false): Promise<MemberWithRegistrations[]>;
72
+ static loadRegistrations(members: Member[], withGroups: true): Promise<MemberWithRegistrationsAndGroups[]>;
73
+ static loadUsers(members: Member[]): Promise<MemberWithUsers[]>;
74
+ static unloadUsers(members: Member[]): void;
75
+ static unloadRegistrations(members: Member[]): void;
46
76
  /**
47
- * Fetch all registrations with members with their corresponding (valid) registrations and payment
77
+ * Fetch all members with their corresponding (valid) registrations, users
48
78
  */
49
- static getRegistrationWithMembersForPayment(paymentId: string): Promise<RegistrationWithMember[]>;
79
+ static loadRegistrationsAndUsers(members: Member[], withGroups?: false): Promise<MemberWithUsersAndRegistrations[]>;
80
+ static loadRegistrationsAndUsers(members: Member[], withGroups: true): Promise<MemberWithUsersRegistrationsAndGroups[]>;
50
81
  /**
51
82
  * Fetch all members with their corresponding (valid) registrations, users
52
83
  */
53
- static getBlobByIds(...ids: string[]): Promise<MemberWithRegistrations[]>;
84
+ static getBlobByIds(...ids: string[]): Promise<MemberWithUsersRegistrationsAndGroups[]>;
85
+ /**
86
+ * Fetch all members with their corresponding (valid) registrations and payment
87
+ */
88
+ static getFamily(id: string): Promise<Member[]>;
54
89
  /**
90
+ * @deprecated Please avoid implicit relation loading and only load the rel
55
91
  * Fetch all members with their corresponding (valid) registrations and payment
56
92
  */
57
- static getFamilyWithRegistrations(id: string): Promise<MemberWithRegistrations[]>;
93
+ static getFamilyWithRegistrations(id: string): Promise<MemberWithUsersRegistrationsAndGroups[]>;
58
94
  /**
59
95
  * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
60
96
  */
@@ -62,7 +98,12 @@ export declare class Member extends QueryableModel {
62
98
  /**
63
99
  * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
64
100
  */
65
- static getMembersWithRegistrationForUser(user: User): Promise<MemberWithRegistrations[]>;
101
+ static getMembersForUser(user: User): Promise<Member[]>;
102
+ /**
103
+ * @deprecated Use getMembersForUser and load relations as needed
104
+ * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
105
+ */
106
+ static getMembersWithRegistrationForUser(user: User): Promise<MemberWithUsersRegistrationsAndGroups[]>;
66
107
  static getRegistrationWithTinyMemberStructure(registration: RegistrationWithMember & {
67
108
  group: import('./Group').Group;
68
109
  }): RegistrationWithTinyMember;
@@ -1 +1 @@
1
- {"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,kBAAkB,EAAqB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACzH,OAAO,EAAE,cAAc,EAAO,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAgC,0BAA0B,EAAc,MAAM,uBAAuB,CAAC;AAI5H,OAAO,EAAE,KAAK,EAAuC,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IACnC,KAAK,EAAE,IAAI,EAAE,CAAC;CACjB,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG;IACpD,aAAa,EAAE,CAAC,YAAY,GAAG;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,EAAE,CAAC;CACtD,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE,qBAAa,MAAO,SAAQ,cAAc;IACtC,MAAM,CAAC,KAAK,SAAa;IAQzB,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQrC,SAAS,EAAE,MAAM,CAAC;IAMlB,QAAQ,EAAE,MAAM,CAAC;IASjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,OAAO,EAAE,aAAa,CAAC;IAEvB;;;OAGG;IAEH,kBAAkB,SAAK;IAYvB,SAAS,EAAE,IAAI,CAAC;IAUhB,SAAS,EAAE,IAAI,CAAC;IAGhB,MAAM,CAAC,aAAa,2DAA4E;IAGhG,MAAM,CAAC,KAAK,uDAAiD;IAE7D;;OAEG;WACU,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAItF;;OAEG;WACU,+BAA+B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAoC9F;;OAEG;WACU,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiCnG;;OAEG;WACU,oCAAoC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAwCvG;;OAEG;WACU,YAAY,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IA+D/E;;OAEG;WACU,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAmBvF;;OAEG;WACU,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoB/D;;OAEG;WACU,iCAAiC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAI9F,MAAM,CAAC,sCAAsC,CAAC,YAAY,EAAE,sBAAsB,GAAG;QAAE,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,CAAA;KAAE,GAAG,0BAA0B;IAY9I,yCAAyC;CAqClD"}
1
+ {"version":3,"file":"Member.d.ts","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const uuid_1 = require("uuid");
10
10
  const index_js_1 = require("./index.js");
11
11
  class Member extends sql_1.QueryableModel {
12
12
  static table = 'members';
13
+ // static cache = new ModelCache<Member>();
13
14
  // #region Columns
14
15
  id;
15
16
  organizationId = null;
@@ -35,6 +36,43 @@ class Member extends sql_1.QueryableModel {
35
36
  static async getWithRegistrations(id) {
36
37
  return (await this.getBlobByIds(id))[0] ?? null;
37
38
  }
39
+ /**
40
+ * Fetch all members with their corresponding (valid) registration
41
+ */
42
+ static async getByIdWithRegistrationsAndGroups(id) {
43
+ const member = await this.getByID(id);
44
+ if (!member) {
45
+ return null;
46
+ }
47
+ await this.loadRegistrations([member], true);
48
+ return member;
49
+ }
50
+ /**
51
+ * Fetch all members with their corresponding (valid) registration
52
+ */
53
+ static async getByIdWithUsers(id) {
54
+ const member = await this.getByID(id);
55
+ if (!member) {
56
+ return null;
57
+ }
58
+ await this.loadUsers([member]);
59
+ return member;
60
+ }
61
+ /**
62
+ * Fetch all members with their corresponding (valid) registration
63
+ */
64
+ static async getByIdWithUsersAndRegistrations(id) {
65
+ const member = await this.getByID(id);
66
+ if (!member) {
67
+ return null;
68
+ }
69
+ await this.loadRegistrationsAndUsers([member]);
70
+ return member;
71
+ }
72
+ static async getByIdsWithUsers(...ids) {
73
+ const members = await Member.getByIDs(...ids);
74
+ return await Member.loadUsers(members);
75
+ }
38
76
  /**
39
77
  * Fetch all registrations with members with their corresponding (valid) registrations
40
78
  */
@@ -42,26 +80,32 @@ class Member extends sql_1.QueryableModel {
42
80
  if (ids.length === 0) {
43
81
  return [];
44
82
  }
45
- let query = `SELECT ${Member.getDefaultSelect()}, ${index_js_1.Registration.getDefaultSelect()} from \`${Member.table}\`\n`;
46
- query += `JOIN \`${index_js_1.Registration.table}\` ON \`${index_js_1.Registration.table}\`.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND (\`${index_js_1.Registration.table}\`.\`registeredAt\` is not null OR \`${index_js_1.Registration.table}\`.\`canRegister\` = 1)\n`;
47
- // We do an extra join because we also need to get the other registrations of each member (only one regitration has to match the query)
48
- query += `where \`${index_js_1.Registration.table}\`.\`${index_js_1.Registration.primary.name}\` IN (?)`;
49
- const [results] = await simple_database_1.Database.select(query, [ids]);
50
- const registrations = [];
51
- // In the future we might add a 'reverse' method on manytoone relation, instead of defining the new relation. But then we need to store 2 model types in the many to one relation.
52
- const registrationMemberRelation = new simple_database_1.ManyToOneRelation(Member, 'member');
53
- registrationMemberRelation.foreignKey = Member.registrations.foreignKey;
54
- for (const row of results) {
55
- const registration = index_js_1.Registration.fromRow(row[index_js_1.Registration.table]);
56
- if (!registration) {
57
- throw new Error('Expected registration in every row');
58
- }
59
- const foundMember = Member.fromRow(row[Member.table]);
60
- if (!foundMember) {
61
- throw new Error('Expected member in every row');
83
+ const registrations = await index_js_1.Registration.getByIDs(...ids);
84
+ await this.loadMembersForRegistrations(registrations);
85
+ return registrations;
86
+ }
87
+ /**
88
+ * Fetch all registrations with members with their corresponding (valid) registrations
89
+ */
90
+ static async loadMembersForRegistrations(registrations) {
91
+ if (registrations.length === 0) {
92
+ return [];
93
+ }
94
+ const memberIds = utility_1.Formatter.uniqueArray(registrations.map(r => r.memberId));
95
+ if (memberIds.length) {
96
+ // In the future we might add a 'reverse' method on manytoone relation, instead of defining the new relation. But then we need to store 2 model types in the many to one relation.
97
+ const registrationMemberRelation = new simple_database_1.ManyToOneRelation(Member, 'member');
98
+ registrationMemberRelation.foreignKey = Member.registrations.foreignKey;
99
+ const members = await Member.getByIDs(...memberIds);
100
+ for (const registration of registrations) {
101
+ const member = members.find(m => m.id === registration.memberId);
102
+ if (member) {
103
+ registration.setRelation(registrationMemberRelation, member);
104
+ }
105
+ else {
106
+ throw new Error('Unexpected missing member for registration ' + registration.id);
107
+ }
62
108
  }
63
- const _f = registration.setRelation(registrationMemberRelation, foundMember);
64
- registrations.push(_f);
65
109
  }
66
110
  return registrations;
67
111
  }
@@ -69,60 +113,125 @@ class Member extends sql_1.QueryableModel {
69
113
  * Fetch all registrations with members with their corresponding (valid) registrations
70
114
  */
71
115
  static async getRegistrationWithMembersForGroup(groupId) {
72
- let query = `SELECT ${Member.getDefaultSelect()}, ${index_js_1.Registration.getDefaultSelect()} from \`${Member.table}\`\n`;
73
- query += `JOIN \`${index_js_1.Registration.table}\` ON \`${index_js_1.Registration.table}\`.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND \`${index_js_1.Registration.table}\`.\`registeredAt\` is not null AND \`${index_js_1.Registration.table}\`.\`deactivatedAt\` is null\n`;
74
- // We do an extra join because we also need to get the other registrations of each member (only one regitration has to match the query)
75
- query += `where \`${index_js_1.Registration.table}\`.\`groupId\` = ?`;
76
- const [results] = await simple_database_1.Database.select(query, [groupId]);
77
- const registrations = [];
78
- // In the future we might add a 'reverse' method on manytoone relation, instead of defining the new relation. But then we need to store 2 model types in the many to one relation.
79
- const registrationMemberRelation = new simple_database_1.ManyToOneRelation(Member, 'member');
80
- registrationMemberRelation.foreignKey = Member.registrations.foreignKey;
81
- for (const row of results) {
82
- const registration = index_js_1.Registration.fromRow(row[index_js_1.Registration.table]);
83
- if (!registration) {
84
- throw new Error('Expected registration in every row');
116
+ const registrations = await index_js_1.Registration.select()
117
+ .where('groupId', groupId)
118
+ .where('registeredAt', '!=', null)
119
+ .where('deactivatedAt', null)
120
+ .fetch();
121
+ return this.loadMembersForRegistrations(registrations);
122
+ }
123
+ static async loadRegistrations(members, withGroups = true) {
124
+ if (members.length === 0) {
125
+ return members;
126
+ }
127
+ // Load relations
128
+ // Load registrations of these members
129
+ const loadAllFor = [];
130
+ const alreadyLoadedRegistrations = [];
131
+ for (const member of members) {
132
+ if ('registrations' in member && Array.isArray(member.registrations)) {
133
+ if (member.registrations.length === 0) {
134
+ // Nothing to do
135
+ continue;
136
+ }
137
+ alreadyLoadedRegistrations.push(...member.registrations);
138
+ continue;
85
139
  }
86
- const foundMember = Member.fromRow(row[Member.table]);
87
- if (!foundMember) {
88
- throw new Error('Expected member in every row');
140
+ loadAllFor.push(member.id);
141
+ }
142
+ const ids = utility_1.Formatter.uniqueArray(loadAllFor);
143
+ if (ids.length) {
144
+ const registrations = await index_js_1.Registration.select()
145
+ .where('memberId', ids)
146
+ .where(sql_1.SQL.where('registeredAt', '!=', null))
147
+ .fetch();
148
+ alreadyLoadedRegistrations.push(...registrations);
149
+ }
150
+ else {
151
+ if (!withGroups) {
152
+ return members;
89
153
  }
90
- const _f = registration.setRelation(registrationMemberRelation, foundMember);
91
- registrations.push(_f);
92
154
  }
93
- return registrations;
155
+ if (withGroups) {
156
+ const groupIds = utility_1.Formatter.uniqueArray(alreadyLoadedRegistrations.map(r => r && 'group' in r ? undefined : r?.groupId));
157
+ if (groupIds.length) {
158
+ const groups = await index_js_1.Group.getByIDs(...groupIds);
159
+ for (const [index, registration] of alreadyLoadedRegistrations.entries()) {
160
+ if ('group' in registration) {
161
+ continue;
162
+ }
163
+ const group = groups.find(g => g.id === registration.groupId);
164
+ if (group && !group.deletedAt) {
165
+ registration.setRelation(index_js_1.Registration.group, group);
166
+ }
167
+ else {
168
+ // Remove registration from list
169
+ alreadyLoadedRegistrations[index] = undefined;
170
+ }
171
+ }
172
+ }
173
+ else {
174
+ if (ids.length === 0) {
175
+ // Nothing loaded
176
+ return members;
177
+ }
178
+ }
179
+ }
180
+ for (const member of members) {
181
+ // Add registrations
182
+ const memberRegistrations = alreadyLoadedRegistrations.filter(r => !!r && r.memberId === member.id);
183
+ member.setManyRelation(Member.registrations, memberRegistrations);
184
+ }
185
+ return members;
94
186
  }
95
- /**
96
- * Fetch all registrations with members with their corresponding (valid) registrations and payment
97
- */
98
- static async getRegistrationWithMembersForPayment(paymentId) {
99
- const { BalanceItem, BalanceItemPayment } = await Promise.resolve().then(() => tslib_1.__importStar(require('./index.js')));
100
- let query = `SELECT ${Member.getDefaultSelect()}, ${index_js_1.Registration.getDefaultSelect()} from \`${Member.table}\`\n`;
101
- query += `JOIN \`${index_js_1.Registration.table}\` ON \`${index_js_1.Registration.table}\`.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\`\n`;
102
- query += `LEFT JOIN \`${BalanceItem.table}\` ON \`${BalanceItem.table}\`.\`registrationId\` = \`${index_js_1.Registration.table}\`.\`${index_js_1.Registration.primary.name}\`\n`;
103
- query += `LEFT JOIN \`${BalanceItemPayment.table}\` ON \`${BalanceItemPayment.table}\`.\`${BalanceItemPayment.balanceItem.foreignKey}\` = \`${BalanceItem.table}\`.\`${BalanceItem.primary.name}\`\n`;
104
- query += `JOIN \`${index_js_1.Payment.table}\` ON \`${index_js_1.Payment.table}\`.\`${index_js_1.Payment.primary.name}\` = \`${BalanceItemPayment.table}\`.\`${BalanceItemPayment.payment.foreignKey}\`\n`;
105
- // We do an extra join because we also need to get the other registrations of each member (only one regitration has to match the query)
106
- query += `WHERE \`${index_js_1.Payment.table}\`.\`${index_js_1.Payment.primary.name}\` = ?\n`;
107
- query += `GROUP BY \`${index_js_1.Registration.table}\`.\`${index_js_1.Registration.primary.name}\`, \`${Member.table}\`.\`${Member.primary.name}\``;
108
- const [results] = await simple_database_1.Database.select(query, [paymentId]);
109
- const registrations = [];
110
- // In the future we might add a 'reverse' method on manytoone relation, instead of defining the new relation. But then we need to store 2 model types in the many to one relation.
111
- const registrationMemberRelation = new simple_database_1.ManyToOneRelation(Member, 'member');
112
- registrationMemberRelation.foreignKey = Member.registrations.foreignKey;
113
- for (const row of results) {
114
- const registration = index_js_1.Registration.fromRow(row[index_js_1.Registration.table]);
115
- if (!registration) {
116
- throw new Error('Expected registration in every row');
187
+ static async loadUsers(members) {
188
+ // Load relations
189
+ // Load registrations of these members
190
+ const ids = utility_1.Formatter.uniqueArray(members.map(m => ('users' in m) ? undefined : m.id));
191
+ if (ids.length === 0) {
192
+ return members;
193
+ }
194
+ const users = await index_js_1.User.select(sql_1.SQL.wildcard(index_js_1.User.table), sql_1.SQL.column(index_js_1.MemberUser.table, 'membersId'))
195
+ .join(sql_1.SQL.join(index_js_1.MemberUser.table)
196
+ .where(sql_1.SQL.parentColumn('id'), sql_1.SQL.column('usersId')))
197
+ .where(sql_1.SQL.column(index_js_1.MemberUser.table, 'membersId'), ids)
198
+ .fetch();
199
+ for (const member of members) {
200
+ if ('users' in member) {
201
+ // Was already loaded
202
+ continue;
203
+ }
204
+ // Add registrations
205
+ // Add users
206
+ const memberUsers = users.filter((u) => {
207
+ const memberId = u.rawSelectedRow?.[index_js_1.MemberUser.table]?.['membersId'];
208
+ if (memberId) {
209
+ return memberId === member.id;
210
+ }
211
+ return false;
212
+ });
213
+ member.setManyRelation(Member.users, memberUsers);
214
+ }
215
+ return members;
216
+ }
217
+ static unloadUsers(members) {
218
+ for (const member of members) {
219
+ if ('users' in member) {
220
+ delete member.users;
117
221
  }
118
- const foundMember = Member.fromRow(row[Member.table]);
119
- if (!foundMember) {
120
- throw new Error('Expected member in every row');
222
+ }
223
+ }
224
+ static unloadRegistrations(members) {
225
+ for (const member of members) {
226
+ if ('registrations' in member) {
227
+ delete member.registrations;
121
228
  }
122
- const _f = registration.setRelation(registrationMemberRelation, foundMember);
123
- registrations.push(_f);
124
229
  }
125
- return registrations;
230
+ }
231
+ static async loadRegistrationsAndUsers(members, withGroups = true) {
232
+ await this.loadRegistrations(members, withGroups);
233
+ await this.loadUsers(members);
234
+ return members;
126
235
  }
127
236
  /**
128
237
  * Fetch all members with their corresponding (valid) registrations, users
@@ -131,87 +240,61 @@ class Member extends sql_1.QueryableModel {
131
240
  if (ids.length == 0) {
132
241
  return [];
133
242
  }
134
- let query = `SELECT ${Member.getDefaultSelect()}, ${index_js_1.Registration.getDefaultSelect()}, ${index_js_1.User.getDefaultSelect()} from \`${Member.table}\`\n`;
135
- query += `LEFT JOIN \`${index_js_1.Registration.table}\` ON \`${index_js_1.Registration.table}\`.\`${Member.registrations.foreignKey}\` = \`${Member.table}\`.\`${Member.primary.name}\` AND (\`${index_js_1.Registration.table}\`.\`registeredAt\` is not null OR \`${index_js_1.Registration.table}\`.\`canRegister\` = 1)\n`;
136
- query += Member.users.joinQuery(Member.table, index_js_1.User.table) + '\n';
137
- // We do an extra join because we also need to get the other registrations of each member (only one regitration has to match the query)
138
- query += `where \`${Member.table}\`.\`${Member.primary.name}\` IN (?)`;
139
- const [results] = await simple_database_1.Database.select(query, [ids]);
140
- const members = [];
141
- // Load groups
142
- const groupIds = results.map(r => r[index_js_1.Registration.table]?.groupId).filter(id => id);
143
- const groups = await index_js_1.Group.getByIDs(...utility_1.Formatter.uniqueArray(groupIds));
144
- for (const row of results) {
145
- const foundMember = Member.fromRow(row[Member.table]);
146
- if (!foundMember) {
147
- throw new Error('Expected member in every row');
148
- }
149
- const _f = foundMember
150
- .setManyRelation(Member.registrations, [])
151
- .setManyRelation(Member.users, []);
152
- // Seach if we already got this member?
153
- const existingMember = members.find(m => m.id == _f.id);
154
- const member = (existingMember ?? _f);
155
- if (!existingMember) {
156
- members.push(member);
157
- }
158
- // Check if we have a registration with a payment
159
- const registration = index_js_1.Registration.fromRow(row[index_js_1.Registration.table]);
160
- if (registration) {
161
- // Check if we already have this registration
162
- if (!member.registrations.find(r => r.id == registration.id)) {
163
- const g = groups.find(g => g.id == registration.groupId);
164
- if (!g) {
165
- throw new Error('Group not found');
166
- }
167
- if (g.deletedAt === null) {
168
- member.registrations.push(registration.setRelation(index_js_1.Registration.group, g));
169
- }
170
- }
171
- }
172
- // Check if we have a user
173
- const user = index_js_1.User.fromRow(row[index_js_1.User.table]);
174
- if (user) {
175
- // Check if we already have this registration
176
- if (!member.users.find(r => r.id == user.id)) {
177
- member.users.push(user);
178
- }
179
- }
243
+ const baseMembers = await this.getByIDs(...ids);
244
+ if (baseMembers.length === 0) {
245
+ return [];
180
246
  }
181
- return members;
247
+ await this.loadRegistrationsAndUsers(baseMembers, true);
248
+ return baseMembers;
182
249
  }
183
250
  /**
184
251
  * Fetch all members with their corresponding (valid) registrations and payment
185
252
  */
186
- static async getFamilyWithRegistrations(id) {
187
- let query = `SELECT l2.membersId as id from _members_users l1\n`;
188
- query += `JOIN _members_users l2 on l2.usersId = l1.usersId \n`;
189
- query += `where l1.membersId = ? group by l2.membersId`;
190
- const [results] = await simple_database_1.Database.select(query, [id]);
253
+ static async getFamily(id) {
254
+ const results = await sql_1.SQL.select(sql_1.SQL.column('l2', 'membersId'))
255
+ .from('_members_users', 'l1')
256
+ .join(sql_1.SQL.join('_members_users', 'l2')
257
+ .where(sql_1.SQL.column('l2', 'usersId'), sql_1.SQL.column('l1', 'usersId')))
258
+ .where(sql_1.SQL.column('l1', 'membersId'), id)
259
+ .groupBy(sql_1.SQL.column('l2', 'membersId'))
260
+ .fetch();
191
261
  const ids = [];
192
262
  for (const row of results) {
193
- ids.push(row['l2']['id']);
263
+ ids.push(row['l2']['membersId']);
194
264
  }
195
265
  if (!ids.includes(id)) {
196
266
  // Member has no users
197
267
  ids.push(id);
198
268
  }
199
- return await this.getBlobByIds(...ids);
269
+ return await this.getByIDs(...ids);
270
+ }
271
+ /**
272
+ * @deprecated Please avoid implicit relation loading and only load the rel
273
+ * Fetch all members with their corresponding (valid) registrations and payment
274
+ */
275
+ static async getFamilyWithRegistrations(id) {
276
+ const members = await this.getFamily(id);
277
+ return await this.loadRegistrationsAndUsers(members, true);
200
278
  }
201
279
  /**
202
280
  * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
203
281
  */
204
282
  static async getMemberIdsForUser(user) {
205
283
  const query = sql_1.SQL
206
- .select('id')
207
- .from(Member.table)
208
- .join(sql_1.SQL
209
- .leftJoin('_members_users')
210
- .where(sql_1.SQL.column('_members_users', 'membersId'), sql_1.SQL.column(Member.table, 'id'))).where(sql_1.SQL.column('_members_users', 'usersId'), user.id);
284
+ .select('membersId')
285
+ .from('_members_users')
286
+ .where('usersId', user.id);
211
287
  const data = await query.fetch();
212
- return utility_1.Formatter.uniqueArray(data.map(r => r.members.id));
288
+ return utility_1.Formatter.uniqueArray(data.map(r => r._members_users.membersId));
289
+ }
290
+ /**
291
+ * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
292
+ */
293
+ static async getMembersForUser(user) {
294
+ return this.getByIDs(...(await this.getMemberIdsForUser(user)));
213
295
  }
214
296
  /**
297
+ * @deprecated Use getMembersForUser and load relations as needed
215
298
  * Fetch all members with their corresponding (valid) registrations or waiting lists and payments
216
299
  */
217
300
  static async getMembersWithRegistrationForUser(user) {
@@ -1 +1 @@
1
- {"version":3,"file":"Member.js","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":";;;;AAAA,iEAAyH;AACzH,wCAAqD;AACrD,sDAA4H;AAC5H,gDAA+C;AAC/C,+BAAoC;AAEpC,yCAA4F;AAW5F,MAAa,MAAO,SAAQ,oBAAc;IACtC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;IAEzB,kBAAkB;IAMlB,EAAE,CAAU;IAGZ,cAAc,GAAkB,IAAI,CAAC;IAQrC,SAAS,CAAS;IAMlB,QAAQ,CAAS;IASjB,QAAQ,CAAgB;IASxB,YAAY,CAAgB;IAG5B,OAAO,CAAgB;IAEvB;;;OAGG;IAEH,kBAAkB,GAAG,CAAC,CAAC;IAYvB,SAAS,CAAO;IAUhB,SAAS,CAAO;IAChB,aAAa;IAEb,MAAM,CAAC,aAAa,GAAG,IAAI,mCAAiB,CAAC,MAAM,EAAE,uBAAY,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAEhG,wGAAwG;IACxG,MAAM,CAAC,KAAK,GAAG,IAAI,oCAAkB,CAAC,MAAM,EAAE,eAAI,EAAE,OAAO,CAAC,CAAC;IAE7D;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAU;QACxC,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,GAAa;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,UAAU,MAAM,CAAC,gBAAgB,EAAE,KAAK,uBAAY,CAAC,gBAAgB,EAAE,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC;QAEjH,KAAK,IAAI,UAAU,uBAAY,CAAC,KAAK,WAAW,uBAAY,CAAC,KAAK,QAAQ,MAAM,CAAC,aAAa,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,uBAAY,CAAC,KAAK,wCAAwC,uBAAY,CAAC,KAAK,2BAA2B,CAAC;QAE/Q,uIAAuI;QACvI,KAAK,IAAI,WAAW,uBAAY,CAAC,KAAK,QAAQ,uBAAY,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;QAEnF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAA6B,EAAE,CAAC;QAEnD,kLAAkL;QAClL,MAAM,0BAA0B,GAAG,IAAI,mCAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,0BAA0B,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,uBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YAC7E,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,OAAe;QAC3D,IAAI,KAAK,GAAG,UAAU,MAAM,CAAC,gBAAgB,EAAE,KAAK,uBAAY,CAAC,gBAAgB,EAAE,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC;QAEjH,KAAK,IAAI,UAAU,uBAAY,CAAC,KAAK,WAAW,uBAAY,CAAC,KAAK,QAAQ,MAAM,CAAC,aAAa,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,YAAY,uBAAY,CAAC,KAAK,yCAAyC,uBAAY,CAAC,KAAK,gCAAgC,CAAC;QAEpR,uIAAuI;QACvI,KAAK,IAAI,WAAW,uBAAY,CAAC,KAAK,oBAAoB,CAAC;QAE3D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAA6B,EAAE,CAAC;QAEnD,kLAAkL;QAClL,MAAM,0BAA0B,GAAG,IAAI,mCAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,0BAA0B,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,uBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YAC7E,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,SAAiB;QAC/D,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,gEAAa,YAAY,GAAC,CAAC;QAEvE,IAAI,KAAK,GAAG,UAAU,MAAM,CAAC,gBAAgB,EAAE,KAAK,uBAAY,CAAC,gBAAgB,EAAE,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC;QAEjH,KAAK,IAAI,UAAU,uBAAY,CAAC,KAAK,WAAW,uBAAY,CAAC,KAAK,QAAQ,MAAM,CAAC,aAAa,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;QAEjK,KAAK,IAAI,eAAe,WAAW,CAAC,KAAK,WAAW,WAAW,CAAC,KAAK,6BAA6B,uBAAY,CAAC,KAAK,QAAQ,uBAAY,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;QAC5J,KAAK,IAAI,eAAe,kBAAkB,CAAC,KAAK,WAAW,kBAAkB,CAAC,KAAK,QAAQ,kBAAkB,CAAC,WAAW,CAAC,UAAU,UAAU,WAAW,CAAC,KAAK,QAAQ,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;QACtM,KAAK,IAAI,UAAU,kBAAO,CAAC,KAAK,WAAW,kBAAO,CAAC,KAAK,QAAQ,kBAAO,CAAC,OAAO,CAAC,IAAI,UAAU,kBAAkB,CAAC,KAAK,QAAQ,kBAAkB,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC;QAE1K,uIAAuI;QACvI,KAAK,IAAI,WAAW,kBAAO,CAAC,KAAK,QAAQ,kBAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;QACxE,KAAK,IAAI,cAAc,uBAAY,CAAC,KAAK,QAAQ,uBAAY,CAAC,OAAO,CAAC,IAAI,SAAS,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;QAE/H,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5D,MAAM,aAAa,GAA6B,EAAE,CAAC;QAEnD,kLAAkL;QAClL,MAAM,0BAA0B,GAAG,IAAI,mCAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,0BAA0B,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,uBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,EAAE,GAAG,YAAY,CAAC,WAAW,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;YAC7E,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAa;QACtC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,UAAU,MAAM,CAAC,gBAAgB,EAAE,KAAK,uBAAY,CAAC,gBAAgB,EAAE,KAAK,eAAI,CAAC,gBAAgB,EAAE,YAAY,MAAM,CAAC,KAAK,MAAM,CAAC;QAC9I,KAAK,IAAI,eAAe,uBAAY,CAAC,KAAK,WAAW,uBAAY,CAAC,KAAK,QAAQ,MAAM,CAAC,aAAa,CAAC,UAAU,UAAU,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,uBAAY,CAAC,KAAK,wCAAwC,uBAAY,CAAC,KAAK,2BAA2B,CAAC;QACpR,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,eAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAEjE,uIAAuI;QACvI,KAAK,IAAI,WAAW,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;QAEvE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAA8B,EAAE,CAAC;QAE9C,cAAc;QACd,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAY,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAa,CAAC;QAC/F,MAAM,MAAM,GAAG,MAAM,gBAAK,CAAC,QAAQ,CAAC,GAAG,mBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,EAAE,GAAG,WAAW;iBACjB,eAAe,CAAC,MAAM,CAAC,aAAuG,EAAE,EAAE,CAAC;iBACnI,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEvC,uCAAuC;YACvC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAExD,MAAM,MAAM,GAA4B,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YAED,iDAAiD;YACjD,MAAM,YAAY,GAAG,uBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YACnE,IAAI,YAAY,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;oBACzD,IAAI,CAAC,CAAC,EAAE,CAAC;wBACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACvC,CAAC;oBACD,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;wBACvB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,uBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/E,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,MAAM,IAAI,GAAG,eAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,EAAE,CAAC;gBACP,6CAA6C;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAU;QAC9C,IAAI,KAAK,GAAG,oDAAoD,CAAC;QACjE,KAAK,IAAI,sDAAsD,CAAC;QAChE,KAAK,IAAI,8CAA8C,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAW,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,sBAAsB;YACtB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAU;QACvC,MAAM,KAAK,GAAG,SAAG;aACZ,MAAM,CAAC,IAAI,CAAC;aACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aAClB,IAAI,CACD,SAAG;aACE,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,KAAK,CACF,SAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACzC,SAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CACjC,CACR,CAAC,KAAK,CACH,SAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,EACvC,IAAI,CAAC,EAAE,CACV,CAAC;QAEN,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,mBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,IAAU;QACrD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,sCAAsC,CAAC,YAAyE;QACnH,OAAO,uCAA0B,CAAC,MAAM,CAAC;YACrC,GAAG,YAAY,CAAC,YAAY,EAAE;YAC9B,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,MAAM,EAAE,uBAAU,CAAC,MAAM,CAAC;gBACtB,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC1B,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS;gBACxC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;aACzC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,yCAAyC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,KAAK,yCAA4B,EAAE,CAAC;YACvH,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvP,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,MAAM,qCAA0B,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;;AAvXL,wBAwXC;AA/WG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;kCACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8CACN;AAQrC;IANC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;QACzC,CAAC;KACJ,CAAC;yCACgB;AAMlB;IAJC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ;QACpB,UAAU,EAAE;YACR,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxC,CAAC,EAAE,CAAC;wCACS;AASjB;IAPC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE;YACR,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,CAAC;KACJ,CAAC;wCACsB;AASxB;IAPC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE;YACR,OAAO,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;QAC9C,CAAC;KACJ,CAAC;4CAC0B;AAG5B;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0BAAa,EAAE,CAAC;uCAC1B;AAOvB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;kDACL;AAYvB;IAVC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,GAAS;YAClC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC;YACf,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;yCACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACJ,IAAI,EAAE,UAAU,EAAE,UAAU;YACxB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,IAAI;KACnB,CAAC;yCACc"}
1
+ {"version":3,"file":"Member.js","sourceRoot":"","sources":["../../../src/models/Member.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../../src/models/Organization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Organization.d.ts","sourceRoot":"","sources":["../../../src/models/Organization.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const OrganizationServerMetaData_js_1 = require("../structures/OrganizationServe
17
17
  const index_js_1 = require("./index.js");
18
18
  class Organization extends sql_1.QueryableModel {
19
19
  static table = 'organizations';
20
+ // static cache = new ModelCache<Organization>();
20
21
  id;
21
22
  name;
22
23
  /// URL to a website page or a Facebook page (including http)