@glissandoo/lib 1.60.0 → 1.61.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 (214) hide show
  1. package/functions/auth.js +1 -2
  2. package/functions/communication.js +1 -2
  3. package/functions/communicationComment.js +1 -2
  4. package/functions/customer.js +1 -2
  5. package/functions/customerGroup.js +1 -2
  6. package/functions/event.js +2 -5
  7. package/functions/eventPlayer.js +2 -5
  8. package/functions/eventRepertory.js +1 -2
  9. package/functions/federation.js +1 -2
  10. package/functions/federationPartnership.js +1 -2
  11. package/functions/group.js +1 -2
  12. package/functions/groupPlayer.js +1 -2
  13. package/functions/groupRepertory.js +1 -2
  14. package/functions/index.js +2 -5
  15. package/functions/jwt.js +1 -2
  16. package/functions/misc.js +1 -2
  17. package/functions/notification.js +1 -2
  18. package/functions/partner.js +1 -2
  19. package/functions/partnership.js +1 -2
  20. package/functions/partnershipGroup.js +1 -2
  21. package/functions/partnershipPlan.js +1 -2
  22. package/functions/regions.js +124 -128
  23. package/functions/subscription.js +1 -2
  24. package/functions/user.js +1 -2
  25. package/helpers/appScenes.js +2 -5
  26. package/helpers/audios.js +5 -9
  27. package/helpers/auth.js +5 -9
  28. package/helpers/badges.js +10 -19
  29. package/helpers/collections.js +2 -5
  30. package/helpers/countries.js +1 -4
  31. package/helpers/dlinks.js +2 -5
  32. package/helpers/errors.js +2 -5
  33. package/helpers/fileSections/index.js +5 -8
  34. package/helpers/fileSections/orders.js +11 -16
  35. package/helpers/glissandooAdmin.js +2 -6
  36. package/helpers/instruments/index.js +3 -6
  37. package/helpers/instruments/lists.js +11 -19
  38. package/helpers/musicStyles/index.js +29 -36
  39. package/helpers/musicStyles/orders.js +174 -179
  40. package/helpers/notifications/index.js +119 -122
  41. package/helpers/notifications/placeholders.js +18 -26
  42. package/helpers/objects.js +15 -23
  43. package/helpers/payments.js +5 -8
  44. package/helpers/plans.js +6 -9
  45. package/helpers/rates.js +2 -6
  46. package/helpers/reasons.js +17 -21
  47. package/helpers/slate.js +5 -12
  48. package/helpers/styles.js +1 -4
  49. package/helpers/ts-extras/array-includes.js +1 -5
  50. package/helpers/ts-extras/as-mutable.js +1 -5
  51. package/helpers/ts-extras/assert-error.js +1 -5
  52. package/helpers/ts-extras/index.js +15 -33
  53. package/helpers/ts-extras/is-defined.js +1 -5
  54. package/helpers/ts-extras/is-empty.js +1 -5
  55. package/helpers/ts-extras/is-finite.js +1 -4
  56. package/helpers/ts-extras/is-infinite.js +1 -5
  57. package/helpers/ts-extras/is-integer.js +1 -4
  58. package/helpers/ts-extras/is-present.js +1 -5
  59. package/helpers/ts-extras/is-safe-integer.js +1 -4
  60. package/helpers/ts-extras/object-entries.js +1 -4
  61. package/helpers/ts-extras/object-from-entries.js +1 -4
  62. package/helpers/ts-extras/object-has-own.js +1 -5
  63. package/helpers/ts-extras/object-keys.js +1 -4
  64. package/helpers/ts-extras/set-has.js +1 -5
  65. package/helpers/types.js +2 -5
  66. package/helpers/utils.js +8 -16
  67. package/lang/index.js +42 -51
  68. package/models/Communication/Comment/index.d.ts +4 -4
  69. package/models/Communication/Comment/index.js +5 -12
  70. package/models/Communication/Comment/types.js +1 -2
  71. package/models/Communication/index.d.ts +3 -2
  72. package/models/Communication/index.js +15 -21
  73. package/models/Communication/types.js +4 -7
  74. package/models/Counters/Group/Analytics/index.d.ts +2 -3
  75. package/models/Counters/Group/Analytics/index.js +5 -12
  76. package/models/Counters/Group/Analytics/types.js +2 -5
  77. package/models/Counters/Group/index.d.ts +2 -3
  78. package/models/Counters/Group/index.js +2 -8
  79. package/models/Counters/Group/types.js +1 -2
  80. package/models/Counters/event.d.ts +2 -2
  81. package/models/Counters/event.js +2 -8
  82. package/models/Counters/index.d.ts +2 -3
  83. package/models/Counters/index.js +2 -8
  84. package/models/Counters/types.js +1 -2
  85. package/models/Customer/Group/index.d.ts +2 -2
  86. package/models/Customer/Group/index.js +7 -14
  87. package/models/Customer/Group/types.js +1 -2
  88. package/models/Customer/basic.d.ts +2 -3
  89. package/models/Customer/basic.js +4 -10
  90. package/models/Customer/index.d.ts +2 -2
  91. package/models/Customer/index.js +5 -11
  92. package/models/Customer/types.js +2 -5
  93. package/models/Evento/Player/basic.js +10 -11
  94. package/models/Evento/Player/index.d.ts +4 -4
  95. package/models/Evento/Player/index.js +12 -18
  96. package/models/Evento/Player/types.js +4 -7
  97. package/models/Evento/Repertory/index.d.ts +3 -3
  98. package/models/Evento/Repertory/index.js +3 -10
  99. package/models/Evento/Repertory/types.js +1 -2
  100. package/models/Evento/basic.d.ts +2 -2
  101. package/models/Evento/basic.js +12 -18
  102. package/models/Evento/index.d.ts +3 -2
  103. package/models/Evento/index.js +32 -38
  104. package/models/Evento/promoter.d.ts +3 -2
  105. package/models/Evento/promoter.js +2 -8
  106. package/models/Evento/tiny.js +9 -9
  107. package/models/Evento/types.js +14 -17
  108. package/models/Federation/Partnership/index.d.ts +2 -2
  109. package/models/Federation/Partnership/index.js +3 -10
  110. package/models/Federation/Partnership/types.js +1 -2
  111. package/models/Federation/index.d.ts +2 -3
  112. package/models/Federation/index.js +7 -13
  113. package/models/Federation/types.js +1 -2
  114. package/models/Group/Analytics/index.d.ts +3 -4
  115. package/models/Group/Analytics/index.js +5 -12
  116. package/models/Group/Analytics/types.js +2 -5
  117. package/models/Group/Event/index.d.ts +2 -2
  118. package/models/Group/Event/index.js +6 -12
  119. package/models/Group/Event/types.js +1 -2
  120. package/models/Group/Player/Event/index.d.ts +2 -2
  121. package/models/Group/Player/Event/index.js +11 -18
  122. package/models/Group/Player/Event/types.js +1 -2
  123. package/models/Group/Player/Log/index.d.ts +2 -3
  124. package/models/Group/Player/Log/index.js +2 -8
  125. package/models/Group/Player/Log/types.js +1 -2
  126. package/models/Group/Player/index.d.ts +5 -5
  127. package/models/Group/Player/index.js +18 -24
  128. package/models/Group/Player/types.js +2 -5
  129. package/models/Group/Repertory/File/Section/index.js +12 -16
  130. package/models/Group/Repertory/File/Section/types.js +2 -5
  131. package/models/Group/Repertory/File/index.js +11 -12
  132. package/models/Group/Repertory/File/types.js +1 -2
  133. package/models/Group/Repertory/FilePath/index.js +12 -15
  134. package/models/Group/Repertory/index.d.ts +8 -8
  135. package/models/Group/Repertory/index.js +25 -32
  136. package/models/Group/Repertory/types.js +2 -5
  137. package/models/Group/StageTemplate/index.d.ts +2 -3
  138. package/models/Group/StageTemplate/index.js +2 -8
  139. package/models/Group/StageTemplate/types.js +1 -2
  140. package/models/Group/basic.d.ts +2 -2
  141. package/models/Group/basic.js +5 -11
  142. package/models/Group/index.d.ts +3 -2
  143. package/models/Group/index.js +41 -47
  144. package/models/Group/types.js +14 -17
  145. package/models/Instrument/group.js +6 -11
  146. package/models/Instrument/index.js +8 -9
  147. package/models/Metrics/index.d.ts +4 -5
  148. package/models/Metrics/index.js +10 -16
  149. package/models/Metrics/types.js +1 -2
  150. package/models/Model/index.d.ts +15 -3
  151. package/models/Model/index.js +8 -7
  152. package/models/Model/lang.d.ts +2 -3
  153. package/models/Model/lang.js +5 -10
  154. package/models/MusicStyle/index.js +9 -10
  155. package/models/Notification/index.d.ts +4 -5
  156. package/models/Notification/index.js +2 -8
  157. package/models/Notification/types.js +2 -5
  158. package/models/Partner/basic.d.ts +2 -2
  159. package/models/Partner/basic.js +6 -12
  160. package/models/Partner/index.d.ts +2 -2
  161. package/models/Partner/index.js +4 -10
  162. package/models/Partner/tiny.d.ts +2 -3
  163. package/models/Partner/tiny.js +2 -8
  164. package/models/Partner/types.js +2 -5
  165. package/models/Partnership/Group/index.d.ts +2 -2
  166. package/models/Partnership/Group/index.js +5 -12
  167. package/models/Partnership/Group/types.js +1 -2
  168. package/models/Partnership/Partner/Subscription/index.d.ts +2 -2
  169. package/models/Partnership/Partner/Subscription/index.js +8 -15
  170. package/models/Partnership/Partner/Subscription/types.js +2 -5
  171. package/models/Partnership/Partner/index.d.ts +2 -2
  172. package/models/Partnership/Partner/index.js +3 -10
  173. package/models/Partnership/Partner/types.js +1 -2
  174. package/models/Partnership/Payment/index.d.ts +2 -2
  175. package/models/Partnership/Payment/index.js +2 -8
  176. package/models/Partnership/Payment/types.js +1 -2
  177. package/models/Partnership/Plan/basic.d.ts +2 -3
  178. package/models/Partnership/Plan/basic.js +12 -18
  179. package/models/Partnership/Plan/index.d.ts +2 -2
  180. package/models/Partnership/Plan/index.js +3 -10
  181. package/models/Partnership/Plan/types.js +2 -5
  182. package/models/Partnership/basic.d.ts +2 -3
  183. package/models/Partnership/basic.js +4 -10
  184. package/models/Partnership/index.d.ts +2 -2
  185. package/models/Partnership/index.js +5 -11
  186. package/models/Partnership/types.js +4 -7
  187. package/models/Payment/basic.d.ts +3 -4
  188. package/models/Payment/basic.js +7 -13
  189. package/models/Payment/index.d.ts +2 -2
  190. package/models/Payment/index.js +2 -8
  191. package/models/Payment/types.js +4 -7
  192. package/models/Player/basic.d.ts +2 -2
  193. package/models/Player/basic.js +4 -10
  194. package/models/Player/types.js +1 -2
  195. package/models/Repertory/basic.d.ts +2 -3
  196. package/models/Repertory/basic.js +2 -8
  197. package/models/Repertory/types.js +1 -2
  198. package/models/User/Group/index.d.ts +2 -2
  199. package/models/User/Group/index.js +8 -15
  200. package/models/User/Group/types.js +1 -2
  201. package/models/User/Notification/index.d.ts +6 -6
  202. package/models/User/Notification/index.js +18 -20
  203. package/models/User/Notification/types.js +1 -2
  204. package/models/User/basic.d.ts +2 -2
  205. package/models/User/basic.js +4 -10
  206. package/models/User/index.d.ts +2 -2
  207. package/models/User/index.js +18 -24
  208. package/models/User/types.js +12 -15
  209. package/models/WebhookEvent/index.d.ts +2 -3
  210. package/models/WebhookEvent/index.js +2 -8
  211. package/models/WebhookEvent/types.js +2 -5
  212. package/package.json +1 -1
  213. package/types/firestore.js +2 -5
  214. package/types/messagebirdChatWidget.js +1 -2
@@ -1,30 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const date_fns_1 = require("date-fns");
7
- const lodash_1 = require("lodash");
8
- const collections_1 = require("../../helpers/collections");
9
- const glissandooAdmin_1 = require("../../helpers/glissandooAdmin");
10
- const orders_1 = require("../../helpers/musicStyles/orders");
11
- const objects_1 = require("../../helpers/objects");
12
- const plans_1 = require("../../helpers/plans");
13
- const lang_1 = require("../../lang");
14
- const basic_1 = __importDefault(require("./basic"));
15
- const types_1 = require("./types");
16
- class Group extends basic_1.default {
17
- constructor(doc, lang = lang_1.defaultLocale) {
1
+ import { addMonths, isPast } from 'date-fns';
2
+ import { isNull } from 'lodash';
3
+ import { CollectionNames } from '../../helpers/collections';
4
+ import { getGlissandooAdminEntityURL } from '../../helpers/glissandooAdmin';
5
+ import { orderByMusicStyle } from '../../helpers/musicStyles/orders';
6
+ import { mapToArray, orderedMapToArray } from '../../helpers/objects';
7
+ import { PlansGroup, membersPerPlan } from '../../helpers/plans';
8
+ import { defaultLocale, getTranslation } from '../../lang';
9
+ import GroupBasic from './basic';
10
+ import { GroupConfigKey, GroupConfigShowAttendanceToMembers, GroupStatus, SocialNetwork, } from './types';
11
+ export default class Group extends GroupBasic {
12
+ constructor(doc, lang = defaultLocale) {
18
13
  super(doc, lang);
19
- this.getPlayer = (userId) => {
20
- return userId in this.players ? this.players[userId] : null;
21
- };
22
- this.isAdmin = (userId) => {
23
- return this.admins.includes(userId);
24
- };
25
- this.isPlayer = (userId) => {
26
- return this.playerIds.includes(userId);
27
- };
28
14
  }
29
15
  get owner() {
30
16
  return this.data.owner;
@@ -97,13 +83,13 @@ class Group extends basic_1.default {
97
83
  ...this.players[playerId],
98
84
  id: playerId,
99
85
  }));
100
- return (0, orders_1.orderByMusicStyle)(players, 'mainInstrument', this.musicStyle);
86
+ return orderByMusicStyle(players, 'mainInstrument', this.musicStyle);
101
87
  }
102
88
  get isActive() {
103
89
  return this.exists && !this.deletedAt;
104
90
  }
105
91
  get isDeleted() {
106
- return !this.exists || !(0, lodash_1.isNull)(this.deletedAt);
92
+ return !this.exists || !isNull(this.deletedAt);
107
93
  }
108
94
  get intercomId() {
109
95
  return this.data.intercom_id || null;
@@ -119,10 +105,10 @@ class Group extends basic_1.default {
119
105
  return this.data.socialNetworks;
120
106
  }
121
107
  return {
122
- [types_1.SocialNetwork.Facebook]: null,
123
- [types_1.SocialNetwork.Twitter]: null,
124
- [types_1.SocialNetwork.Instagram]: null,
125
- [types_1.SocialNetwork.YouTube]: null,
108
+ [SocialNetwork.Facebook]: null,
109
+ [SocialNetwork.Twitter]: null,
110
+ [SocialNetwork.Instagram]: null,
111
+ [SocialNetwork.YouTube]: null,
126
112
  };
127
113
  }
128
114
  getSocialNetworkUrl(id) {
@@ -133,12 +119,12 @@ class Group extends basic_1.default {
133
119
  }
134
120
  get config() {
135
121
  return {
136
- [types_1.GroupConfigKey.IncludesMembersToEventsWhenJoined]: types_1.GroupConfigKey.IncludesMembersToEventsWhenJoined in this.data.config
137
- ? this.data.config[types_1.GroupConfigKey.IncludesMembersToEventsWhenJoined]
122
+ [GroupConfigKey.IncludesMembersToEventsWhenJoined]: GroupConfigKey.IncludesMembersToEventsWhenJoined in this.data.config
123
+ ? this.data.config[GroupConfigKey.IncludesMembersToEventsWhenJoined]
138
124
  : true,
139
- [types_1.GroupConfigKey.ShowAttendanceToMembers]: types_1.GroupConfigKey.ShowAttendanceToMembers in this.data.config
140
- ? this.data.config[types_1.GroupConfigKey.ShowAttendanceToMembers]
141
- : types_1.GroupConfigShowAttendanceToMembers.None,
125
+ [GroupConfigKey.ShowAttendanceToMembers]: GroupConfigKey.ShowAttendanceToMembers in this.data.config
126
+ ? this.data.config[GroupConfigKey.ShowAttendanceToMembers]
127
+ : GroupConfigShowAttendanceToMembers.None,
142
128
  };
143
129
  }
144
130
  get status() {
@@ -151,7 +137,7 @@ class Group extends basic_1.default {
151
137
  return this.data.templates || {};
152
138
  }
153
139
  get templatesList() {
154
- return (0, objects_1.mapToArray)(this.templates);
140
+ return mapToArray(this.templates);
155
141
  }
156
142
  get satisfactionIndex() {
157
143
  return this.data.satisfactionIndex || { current: 0, last: 0 };
@@ -159,11 +145,20 @@ class Group extends basic_1.default {
159
145
  get metadata() {
160
146
  return this.data.metadata || {};
161
147
  }
148
+ getPlayer = (userId) => {
149
+ return userId in this.players ? this.players[userId] : null;
150
+ };
151
+ isAdmin = (userId) => {
152
+ return this.admins.includes(userId);
153
+ };
154
+ isPlayer = (userId) => {
155
+ return this.playerIds.includes(userId);
156
+ };
162
157
  get isExpiredTrial() {
163
- const isOutDateTrial = (0, date_fns_1.isPast)(this.trialEndAt);
158
+ const isOutDateTrial = isPast(this.trialEndAt);
164
159
  const members = this.activePlayers.length;
165
- const isAboveMembersLimitPlanFree = members > plans_1.membersPerPlan[plans_1.PlansGroup.Piano];
166
- return this.status !== types_1.GroupStatus.Premium && isOutDateTrial && isAboveMembersLimitPlanFree;
160
+ const isAboveMembersLimitPlanFree = members > membersPerPlan[PlansGroup.Piano];
161
+ return this.status !== GroupStatus.Premium && isOutDateTrial && isAboveMembersLimitPlanFree;
167
162
  }
168
163
  get firstAnswerAt() {
169
164
  return this.data.firstAnswerAt || null;
@@ -172,22 +167,22 @@ class Group extends basic_1.default {
172
167
  return this.data.repertoireTags || {};
173
168
  }
174
169
  get repertoireTagsList() {
175
- return (0, objects_1.mapToArray)(this.repertoireTags);
170
+ return mapToArray(this.repertoireTags);
176
171
  }
177
172
  getRepertoireTagName(id) {
178
173
  if (!(id in this.repertoireTags))
179
174
  return null;
180
175
  const tag = this.repertoireTags[id];
181
- return tag.default ? (0, lang_1.getTranslation)(tag.title, this.lang) : tag.title;
176
+ return tag.default ? getTranslation(tag.title, this.lang) : tag.title;
182
177
  }
183
178
  get trialEndAt() {
184
179
  if (this.data.trialEndAt) {
185
180
  return this.data.trialEndAt.toDate();
186
181
  }
187
- return (0, date_fns_1.addMonths)(this.createdAt.toDate(), 1);
182
+ return addMonths(this.createdAt.toDate(), 1);
188
183
  }
189
184
  get glissandooAdminUrl() {
190
- return (0, glissandooAdmin_1.getGlissandooAdminEntityURL)(collections_1.CollectionNames.Group, this.id);
185
+ return getGlissandooAdminEntityURL(CollectionNames.Group, this.id);
191
186
  }
192
187
  get createdOn() {
193
188
  return this.data.createdOn;
@@ -196,7 +191,7 @@ class Group extends basic_1.default {
196
191
  return this.data.instruments || {};
197
192
  }
198
193
  get instrumentsList() {
199
- return (0, objects_1.orderedMapToArray)(this.instruments);
194
+ return orderedMapToArray(this.instruments);
200
195
  }
201
196
  get instrumentsIds() {
202
197
  return this.instrumentsList.map(({ id }) => id);
@@ -208,4 +203,3 @@ class Group extends basic_1.default {
208
203
  return this.data.onboardingMessages || [];
209
204
  }
210
205
  }
211
- exports.default = Group;
@@ -1,47 +1,44 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupRepertoireTagDefault = exports.GroupRepertoireTagReserved = exports.SocialNetwork = exports.GroupStatus = exports.GroupConfigShowAttendanceToMembers = exports.GroupConfigKey = exports.GroupCreatedOn = void 0;
4
- var GroupCreatedOn;
1
+ export var GroupCreatedOn;
5
2
  (function (GroupCreatedOn) {
6
3
  GroupCreatedOn["Web"] = "web";
7
4
  GroupCreatedOn["App"] = "app";
8
5
  GroupCreatedOn["Dashboard"] = "dashboard";
9
- })(GroupCreatedOn = exports.GroupCreatedOn || (exports.GroupCreatedOn = {}));
10
- var GroupConfigKey;
6
+ })(GroupCreatedOn || (GroupCreatedOn = {}));
7
+ export var GroupConfigKey;
11
8
  (function (GroupConfigKey) {
12
9
  GroupConfigKey["IncludesMembersToEventsWhenJoined"] = "includesMembersToEventsWhenJoined";
13
10
  GroupConfigKey["ShowAttendanceToMembers"] = "showAttendanceToMembers";
14
- })(GroupConfigKey = exports.GroupConfigKey || (exports.GroupConfigKey = {}));
15
- var GroupConfigShowAttendanceToMembers;
11
+ })(GroupConfigKey || (GroupConfigKey = {}));
12
+ export var GroupConfigShowAttendanceToMembers;
16
13
  (function (GroupConfigShowAttendanceToMembers) {
17
14
  GroupConfigShowAttendanceToMembers["None"] = "none";
18
15
  GroupConfigShowAttendanceToMembers["OnlyConfirmed"] = "onlyConfirmed";
19
16
  GroupConfigShowAttendanceToMembers["OnlyToSection"] = "onlyToSection";
20
17
  GroupConfigShowAttendanceToMembers["All"] = "all";
21
- })(GroupConfigShowAttendanceToMembers = exports.GroupConfigShowAttendanceToMembers || (exports.GroupConfigShowAttendanceToMembers = {}));
22
- var GroupStatus;
18
+ })(GroupConfigShowAttendanceToMembers || (GroupConfigShowAttendanceToMembers = {}));
19
+ export var GroupStatus;
23
20
  (function (GroupStatus) {
24
21
  GroupStatus["Premium"] = "premium";
25
22
  GroupStatus["Trial"] = "trial";
26
23
  GroupStatus["Inactive"] = "inactive";
27
24
  GroupStatus["Deleted"] = "deleted";
28
- })(GroupStatus = exports.GroupStatus || (exports.GroupStatus = {}));
29
- var SocialNetwork;
25
+ })(GroupStatus || (GroupStatus = {}));
26
+ export var SocialNetwork;
30
27
  (function (SocialNetwork) {
31
28
  SocialNetwork["Facebook"] = "facebook";
32
29
  SocialNetwork["Twitter"] = "twitter";
33
30
  SocialNetwork["Instagram"] = "instagram";
34
31
  SocialNetwork["YouTube"] = "youtube";
35
- })(SocialNetwork = exports.SocialNetwork || (exports.SocialNetwork = {}));
36
- var GroupRepertoireTagReserved;
32
+ })(SocialNetwork || (SocialNetwork = {}));
33
+ export var GroupRepertoireTagReserved;
37
34
  (function (GroupRepertoireTagReserved) {
38
35
  GroupRepertoireTagReserved["NoTag"] = "$noTag";
39
- })(GroupRepertoireTagReserved = exports.GroupRepertoireTagReserved || (exports.GroupRepertoireTagReserved = {}));
40
- var GroupRepertoireTagDefault;
36
+ })(GroupRepertoireTagReserved || (GroupRepertoireTagReserved = {}));
37
+ export var GroupRepertoireTagDefault;
41
38
  (function (GroupRepertoireTagDefault) {
42
39
  GroupRepertoireTagDefault["First"] = "repertoireTags.1";
43
40
  GroupRepertoireTagDefault["Second"] = "repertoireTags.2";
44
41
  GroupRepertoireTagDefault["Third"] = "repertoireTags.3";
45
42
  GroupRepertoireTagDefault["Fourth"] = "repertoireTags.4";
46
43
  GroupRepertoireTagDefault["Principal"] = "repertoireTags.principal";
47
- })(GroupRepertoireTagDefault = exports.GroupRepertoireTagDefault || (exports.GroupRepertoireTagDefault = {}));
44
+ })(GroupRepertoireTagDefault || (GroupRepertoireTagDefault = {}));
@@ -1,12 +1,8 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const _1 = __importDefault(require("."));
7
- const lang_1 = require("../../lang");
8
- class GroupInstrument extends _1.default {
9
- constructor(id, lang = lang_1.defaultLocale, groupInstruments) {
1
+ import Instrument from '.';
2
+ import { defaultLocale, getTranslation } from '../../lang';
3
+ export default class GroupInstrument extends Instrument {
4
+ groupInstruments;
5
+ constructor(id, lang = defaultLocale, groupInstruments) {
10
6
  super(id, lang);
11
7
  this.groupInstruments = groupInstruments;
12
8
  }
@@ -22,7 +18,7 @@ class GroupInstrument extends _1.default {
22
18
  if (this.id in this.groupInstruments) {
23
19
  return this.groupInstruments[this.id].name;
24
20
  }
25
- return (0, lang_1.getTranslation)('instruments.unknown', this.lang) || this.id;
21
+ return getTranslation('instruments.unknown', this.lang) || this.id;
26
22
  }
27
23
  get icon() {
28
24
  return GroupInstrument.isCustom(this.id) && this.id in this.groupInstruments
@@ -30,4 +26,3 @@ class GroupInstrument extends _1.default {
30
26
  : super.icon;
31
27
  }
32
28
  }
33
- exports.default = GroupInstrument;
@@ -1,18 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const instruments_1 = require("../../helpers/instruments");
4
- const lang_1 = require("../../lang");
5
- class Instrument {
6
- constructor(id, lang = lang_1.defaultLocale) {
1
+ import { InstrumentIcons } from '../../helpers/instruments';
2
+ import { defaultLocale, getTranslation } from '../../lang';
3
+ export default class Instrument {
4
+ id;
5
+ lang;
6
+ constructor(id, lang = defaultLocale) {
7
7
  this.id = id;
8
8
  this.lang = lang;
9
9
  }
10
10
  get name() {
11
- const translation = (0, lang_1.getTranslation)(`instruments.${this.id}`, this.lang);
11
+ const translation = getTranslation(`instruments.${this.id}`, this.lang);
12
12
  return translation || this.id;
13
13
  }
14
14
  get icon() {
15
- return instruments_1.InstrumentIcons[this.id] || 'warning';
15
+ return InstrumentIcons[this.id] || 'warning';
16
16
  }
17
17
  }
18
- exports.default = Instrument;
@@ -1,9 +1,8 @@
1
- import * as firestore from '@google-cloud/firestore';
2
- import Model from '../Model';
1
+ import Model, { DocumentModel } from '../Model';
3
2
  import { AllowCollections, EntityTypes, MetricsData } from './types';
4
3
  export default class Metrics extends Model<MetricsData> {
5
4
  private defaultEntity;
6
- constructor(doc: firestore.DocumentSnapshot);
5
+ constructor(doc: DocumentModel);
7
6
  getEntity: (entity: AllowCollections) => EntityTypes;
8
7
  get users(): EntityTypes;
9
8
  get groups(): EntityTypes;
@@ -12,6 +11,6 @@ export default class Metrics extends Model<MetricsData> {
12
11
  get repertory(): EntityTypes;
13
12
  get partnerships(): EntityTypes;
14
13
  get partners(): EntityTypes;
15
- get date(): firestore.Timestamp;
16
- get createdAt(): firestore.Timestamp;
14
+ get date(): FirebaseFirestore.Timestamp;
15
+ get createdAt(): FirebaseFirestore.Timestamp;
17
16
  }
@@ -1,21 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Model_1 = __importDefault(require("../Model"));
7
- class Metrics extends Model_1.default {
1
+ import Model from '../Model';
2
+ export default class Metrics extends Model {
3
+ defaultEntity = {
4
+ acc: 0,
5
+ count: 0,
6
+ total: 0,
7
+ };
8
8
  constructor(doc) {
9
9
  super(doc);
10
- this.defaultEntity = {
11
- acc: 0,
12
- count: 0,
13
- total: 0,
14
- };
15
- this.getEntity = (entity) => {
16
- return this.data[entity] || this.defaultEntity;
17
- };
18
10
  }
11
+ getEntity = (entity) => {
12
+ return this.data[entity] || this.defaultEntity;
13
+ };
19
14
  get users() {
20
15
  return this.data.user || this.defaultEntity;
21
16
  }
@@ -44,4 +39,3 @@ class Metrics extends Model_1.default {
44
39
  return this.data.createdAt;
45
40
  }
46
41
  }
47
- exports.default = Metrics;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,10 +1,22 @@
1
1
  import * as firestore from '@google-cloud/firestore';
2
+ export interface DocumentModel {
3
+ id: firestore.DocumentSnapshot['id'];
4
+ exists: firestore.DocumentSnapshot['exists'];
5
+ data: firestore.DocumentSnapshot['data'];
6
+ ref: ReferenceModel;
7
+ get: firestore.DocumentSnapshot['get'];
8
+ }
9
+ type ReferenceModel = {
10
+ id: firestore.DocumentReference['id'];
11
+ path: firestore.DocumentReference['path'];
12
+ };
2
13
  export default class Model<D> {
3
14
  id: string;
4
- ref: firestore.DocumentReference;
5
15
  exists: boolean;
16
+ ref: ReferenceModel;
6
17
  private _data;
7
- constructor(doc: firestore.DocumentSnapshot);
18
+ constructor(doc: DocumentModel);
8
19
  get data(): D;
9
- protected get(name: string): any;
20
+ protected get(name: string): D[keyof D] | null;
10
21
  }
22
+ export {};
@@ -1,11 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class Model {
1
+ import { get } from 'lodash';
2
+ export default class Model {
3
+ id;
4
+ exists;
5
+ ref;
6
+ _data;
4
7
  constructor(doc) {
5
8
  this.id = doc.id;
6
9
  this._data = doc.data();
7
- this.ref = doc.ref;
8
10
  this.exists = doc.exists;
11
+ this.ref = doc.ref;
9
12
  }
10
13
  get data() {
11
14
  return this._data;
@@ -14,8 +17,6 @@ class Model {
14
17
  if (!this._data || !this._data[name]) {
15
18
  return null;
16
19
  }
17
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
18
- return this._data[name];
20
+ return get(this._data, name);
19
21
  }
20
22
  }
21
- exports.default = Model;
@@ -1,8 +1,7 @@
1
- import { DocumentSnapshot } from '@google-cloud/firestore';
2
1
  import { LanguagesTypes } from '../../lang';
3
- import Model from '../Model';
2
+ import Model, { DocumentModel } from '../Model';
4
3
  export default class ModelWithLang<D> extends Model<D> {
5
4
  protected lang: LanguagesTypes;
6
- constructor(doc: DocumentSnapshot, lang?: LanguagesTypes);
5
+ constructor(doc: DocumentModel, lang?: LanguagesTypes);
7
6
  set language(lang: LanguagesTypes);
8
7
  }
@@ -1,12 +1,8 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const lang_1 = require("../../lang");
7
- const Model_1 = __importDefault(require("../Model"));
8
- class ModelWithLang extends Model_1.default {
9
- constructor(doc, lang = lang_1.defaultLocale) {
1
+ import { defaultLocale } from '../../lang';
2
+ import Model from '../Model';
3
+ export default class ModelWithLang extends Model {
4
+ lang;
5
+ constructor(doc, lang = defaultLocale) {
10
6
  super(doc);
11
7
  this.lang = lang;
12
8
  }
@@ -14,4 +10,3 @@ class ModelWithLang extends Model_1.default {
14
10
  this.lang = lang;
15
11
  }
16
12
  }
17
- exports.default = ModelWithLang;
@@ -1,19 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const lodash_1 = require("lodash");
4
- const musicStyles_1 = require("../../helpers/musicStyles");
5
- const lang_1 = require("../../lang");
6
- class MusicStyle {
7
- constructor(id, lang = lang_1.defaultLocale) {
1
+ import { get } from 'lodash';
2
+ import { MusicStylesCover } from '../../helpers/musicStyles';
3
+ import { defaultLocale, getTranslation } from '../../lang';
4
+ export default class MusicStyle {
5
+ id;
6
+ lang;
7
+ constructor(id, lang = defaultLocale) {
8
8
  this.id = id;
9
9
  this.lang = lang;
10
10
  }
11
11
  get name() {
12
- const translation = (0, lang_1.getTranslation)(`musicStyles.${this.id}`, this.lang);
12
+ const translation = getTranslation(`musicStyles.${this.id}`, this.lang);
13
13
  return translation || this.id;
14
14
  }
15
15
  get cover() {
16
- return (0, lodash_1.get)(musicStyles_1.MusicStylesCover, this.id);
16
+ return get(MusicStylesCover, this.id);
17
17
  }
18
18
  }
19
- exports.default = MusicStyle;
@@ -1,10 +1,9 @@
1
- import * as firestore from '@google-cloud/firestore';
2
- import Model from '../Model';
1
+ import Model, { DocumentModel } from '../Model';
3
2
  import { NotificationData } from './types';
4
3
  export default class Notification extends Model<NotificationData> {
5
- constructor(doc: firestore.DocumentSnapshot);
6
- get references(): firestore.DocumentReference<firestore.DocumentData, firestore.DocumentData>[];
4
+ constructor(doc: DocumentModel);
5
+ get references(): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>[];
7
6
  get userIds(): string[];
8
7
  get action(): import("./types").NotificationActions;
9
- get createdAt(): firestore.Timestamp;
8
+ get createdAt(): FirebaseFirestore.Timestamp;
10
9
  }
@@ -1,10 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Model_1 = __importDefault(require("../Model"));
7
- class Notification extends Model_1.default {
1
+ import Model from '../Model';
2
+ export default class Notification extends Model {
8
3
  constructor(doc) {
9
4
  super(doc);
10
5
  }
@@ -21,4 +16,3 @@ class Notification extends Model_1.default {
21
16
  return this.data.createdAt;
22
17
  }
23
18
  }
24
- exports.default = Notification;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotificationActions = void 0;
4
- var NotificationActions;
1
+ export var NotificationActions;
5
2
  (function (NotificationActions) {
6
3
  NotificationActions["BadgeAccPerformancesFirstLevel"] = "badgeAccPerformances.firstLevel";
7
4
  NotificationActions["BadgeAccPerformancesUpLevel"] = "badgeAccPerformances.upLevel";
@@ -90,4 +87,4 @@ var NotificationActions;
90
87
  NotificationActions["GroupOnboardingInvite"] = "group.onboarding.invite";
91
88
  NotificationActions["GroupOnboardingDashboard"] = "group.onboarding.dashboard";
92
89
  NotificationActions["GroupOnboardingEngagement"] = "group.onboarding.engagement";
93
- })(NotificationActions = exports.NotificationActions || (exports.NotificationActions = {}));
90
+ })(NotificationActions || (NotificationActions = {}));
@@ -1,8 +1,8 @@
1
- import { DocumentSnapshot } from '@google-cloud/firestore';
1
+ import { DocumentModel } from '../Model';
2
2
  import PartnerTiny from './tiny';
3
3
  import { PartnerBasicData, PartnerStatus } from './types';
4
4
  export default class PartnerBasic<D> extends PartnerTiny<D & PartnerBasicData> {
5
- constructor(doc: DocumentSnapshot);
5
+ constructor(doc: DocumentModel);
6
6
  get basicInfo(): PartnerBasicData;
7
7
  get status(): PartnerStatus;
8
8
  get createdAt(): FirebaseFirestore.Timestamp;
@@ -1,11 +1,6 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tiny_1 = __importDefault(require("./tiny"));
7
- const types_1 = require("./types");
8
- class PartnerBasic extends tiny_1.default {
1
+ import PartnerTiny from './tiny';
2
+ import { PartnerStatus } from './types';
3
+ export default class PartnerBasic extends PartnerTiny {
9
4
  constructor(doc) {
10
5
  super(doc);
11
6
  }
@@ -19,12 +14,12 @@ class PartnerBasic extends tiny_1.default {
19
14
  }
20
15
  get status() {
21
16
  if (this.isDeleted) {
22
- return types_1.PartnerStatus.Deleted;
17
+ return PartnerStatus.Deleted;
23
18
  }
24
19
  if (this.isVerified) {
25
- return types_1.PartnerStatus.Verified;
20
+ return PartnerStatus.Verified;
26
21
  }
27
- return types_1.PartnerStatus.PendingVerification;
22
+ return PartnerStatus.PendingVerification;
28
23
  }
29
24
  get createdAt() {
30
25
  return this.data.createdAt;
@@ -45,4 +40,3 @@ class PartnerBasic extends tiny_1.default {
45
40
  return this.exists && !this.isDeleted;
46
41
  }
47
42
  }
48
- exports.default = PartnerBasic;
@@ -1,8 +1,8 @@
1
- import { DocumentSnapshot } from '@google-cloud/firestore';
1
+ import { DocumentModel } from '../Model';
2
2
  import PartnerBasic from './basic';
3
3
  import { PartnerData } from './types';
4
4
  export default class Partner extends PartnerBasic<PartnerData> {
5
- constructor(doc: DocumentSnapshot);
5
+ constructor(doc: DocumentModel);
6
6
  get name(): string;
7
7
  get lastname(): string;
8
8
  get email(): string;
@@ -1,11 +1,6 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const isString_1 = __importDefault(require("lodash/isString"));
7
- const basic_1 = __importDefault(require("./basic"));
8
- class Partner extends basic_1.default {
1
+ import isString from 'lodash/isString';
2
+ import PartnerBasic from './basic';
3
+ export default class Partner extends PartnerBasic {
9
4
  constructor(doc) {
10
5
  super(doc);
11
6
  }
@@ -42,7 +37,6 @@ class Partner extends basic_1.default {
42
37
  return null;
43
38
  const { street, city, postalCode, province, country } = this.address;
44
39
  const fields = [street, postalCode, city, province, country];
45
- return fields.filter((field) => (0, isString_1.default)(field)).join(', ');
40
+ return fields.filter((field) => isString(field)).join(', ');
46
41
  }
47
42
  }
48
- exports.default = Partner;
@@ -1,8 +1,7 @@
1
- import { DocumentSnapshot } from '@google-cloud/firestore';
2
- import Model from '../Model';
1
+ import Model, { DocumentModel } from '../Model';
3
2
  import { PartnerTinyData } from './types';
4
3
  export default class PartnerTiny<D> extends Model<D & PartnerTinyData> {
5
- constructor(doc: DocumentSnapshot);
4
+ constructor(doc: DocumentModel);
6
5
  get tinyInfo(): PartnerTinyData;
7
6
  get photoURL(): string | null;
8
7
  get displayName(): string;
@@ -1,10 +1,5 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Model_1 = __importDefault(require("../Model"));
7
- class PartnerTiny extends Model_1.default {
1
+ import Model from '../Model';
2
+ export default class PartnerTiny extends Model {
8
3
  constructor(doc) {
9
4
  super(doc);
10
5
  }
@@ -21,4 +16,3 @@ class PartnerTiny extends Model_1.default {
21
16
  return this.data.displayName;
22
17
  }
23
18
  }
24
- exports.default = PartnerTiny;