@glissandoo/lib 1.59.2 → 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 (246) 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.d.ts +1 -1
  71. package/models/Communication/Comment/types.js +1 -2
  72. package/models/Communication/index.d.ts +6 -5
  73. package/models/Communication/index.js +15 -21
  74. package/models/Communication/types.d.ts +1 -1
  75. package/models/Communication/types.js +4 -7
  76. package/models/Counters/Group/Analytics/index.d.ts +3 -4
  77. package/models/Counters/Group/Analytics/index.js +5 -12
  78. package/models/Counters/Group/Analytics/types.d.ts +1 -1
  79. package/models/Counters/Group/Analytics/types.js +2 -5
  80. package/models/Counters/Group/index.d.ts +3 -4
  81. package/models/Counters/Group/index.js +2 -8
  82. package/models/Counters/Group/types.d.ts +1 -1
  83. package/models/Counters/Group/types.js +1 -2
  84. package/models/Counters/event.d.ts +2 -2
  85. package/models/Counters/event.js +2 -8
  86. package/models/Counters/index.d.ts +2 -3
  87. package/models/Counters/index.js +2 -8
  88. package/models/Counters/types.js +1 -2
  89. package/models/Customer/Group/index.d.ts +6 -6
  90. package/models/Customer/Group/index.js +7 -14
  91. package/models/Customer/Group/types.d.ts +1 -1
  92. package/models/Customer/Group/types.js +1 -2
  93. package/models/Customer/basic.d.ts +2 -3
  94. package/models/Customer/basic.js +4 -10
  95. package/models/Customer/index.d.ts +3 -3
  96. package/models/Customer/index.js +5 -11
  97. package/models/Customer/types.d.ts +1 -1
  98. package/models/Customer/types.js +2 -5
  99. package/models/Evento/Player/basic.js +10 -11
  100. package/models/Evento/Player/index.d.ts +4 -4
  101. package/models/Evento/Player/index.js +12 -18
  102. package/models/Evento/Player/types.d.ts +1 -1
  103. package/models/Evento/Player/types.js +4 -7
  104. package/models/Evento/Repertory/index.d.ts +3 -3
  105. package/models/Evento/Repertory/index.js +3 -10
  106. package/models/Evento/Repertory/types.d.ts +1 -1
  107. package/models/Evento/Repertory/types.js +1 -2
  108. package/models/Evento/basic.d.ts +5 -5
  109. package/models/Evento/basic.js +12 -18
  110. package/models/Evento/index.d.ts +11 -10
  111. package/models/Evento/index.js +32 -38
  112. package/models/Evento/promoter.d.ts +3 -2
  113. package/models/Evento/promoter.js +2 -8
  114. package/models/Evento/tiny.d.ts +1 -1
  115. package/models/Evento/tiny.js +9 -9
  116. package/models/Evento/types.d.ts +1 -1
  117. package/models/Evento/types.js +14 -17
  118. package/models/Federation/Partnership/index.d.ts +4 -4
  119. package/models/Federation/Partnership/index.js +3 -10
  120. package/models/Federation/Partnership/types.d.ts +1 -1
  121. package/models/Federation/Partnership/types.js +1 -2
  122. package/models/Federation/index.d.ts +5 -6
  123. package/models/Federation/index.js +7 -13
  124. package/models/Federation/types.d.ts +1 -1
  125. package/models/Federation/types.js +1 -2
  126. package/models/Group/Analytics/index.d.ts +3 -4
  127. package/models/Group/Analytics/index.js +5 -12
  128. package/models/Group/Analytics/types.d.ts +1 -1
  129. package/models/Group/Analytics/types.js +2 -5
  130. package/models/Group/Event/index.d.ts +3 -3
  131. package/models/Group/Event/index.js +6 -12
  132. package/models/Group/Event/types.d.ts +1 -1
  133. package/models/Group/Event/types.js +1 -2
  134. package/models/Group/Player/Event/index.d.ts +3 -3
  135. package/models/Group/Player/Event/index.js +11 -18
  136. package/models/Group/Player/Event/types.d.ts +1 -1
  137. package/models/Group/Player/Event/types.js +1 -2
  138. package/models/Group/Player/Log/index.d.ts +3 -4
  139. package/models/Group/Player/Log/index.js +2 -8
  140. package/models/Group/Player/Log/types.d.ts +1 -1
  141. package/models/Group/Player/Log/types.js +1 -2
  142. package/models/Group/Player/index.d.ts +5 -5
  143. package/models/Group/Player/index.js +18 -24
  144. package/models/Group/Player/types.d.ts +1 -1
  145. package/models/Group/Player/types.js +2 -5
  146. package/models/Group/Repertory/File/Section/index.js +12 -16
  147. package/models/Group/Repertory/File/Section/types.js +2 -5
  148. package/models/Group/Repertory/File/index.js +11 -12
  149. package/models/Group/Repertory/File/types.js +1 -2
  150. package/models/Group/Repertory/FilePath/index.js +12 -15
  151. package/models/Group/Repertory/index.d.ts +8 -8
  152. package/models/Group/Repertory/index.js +25 -32
  153. package/models/Group/Repertory/types.d.ts +1 -1
  154. package/models/Group/Repertory/types.js +2 -5
  155. package/models/Group/StageTemplate/index.d.ts +4 -5
  156. package/models/Group/StageTemplate/index.js +2 -8
  157. package/models/Group/StageTemplate/types.d.ts +1 -1
  158. package/models/Group/StageTemplate/types.js +1 -2
  159. package/models/Group/basic.d.ts +3 -3
  160. package/models/Group/basic.js +5 -11
  161. package/models/Group/index.d.ts +7 -6
  162. package/models/Group/index.js +41 -47
  163. package/models/Group/types.d.ts +1 -1
  164. package/models/Group/types.js +14 -17
  165. package/models/Instrument/group.js +6 -11
  166. package/models/Instrument/index.js +8 -9
  167. package/models/Metrics/index.d.ts +4 -5
  168. package/models/Metrics/index.js +10 -16
  169. package/models/Metrics/types.d.ts +1 -1
  170. package/models/Metrics/types.js +1 -2
  171. package/models/Model/index.d.ts +16 -4
  172. package/models/Model/index.js +8 -7
  173. package/models/Model/lang.d.ts +2 -3
  174. package/models/Model/lang.js +5 -10
  175. package/models/MusicStyle/index.js +9 -10
  176. package/models/Notification/index.d.ts +4 -5
  177. package/models/Notification/index.js +2 -8
  178. package/models/Notification/types.d.ts +1 -1
  179. package/models/Notification/types.js +2 -5
  180. package/models/Partner/basic.d.ts +5 -5
  181. package/models/Partner/basic.js +6 -12
  182. package/models/Partner/index.d.ts +3 -3
  183. package/models/Partner/index.js +4 -10
  184. package/models/Partner/tiny.d.ts +2 -3
  185. package/models/Partner/tiny.js +2 -8
  186. package/models/Partner/types.d.ts +1 -1
  187. package/models/Partner/types.js +2 -5
  188. package/models/Partnership/Group/index.d.ts +4 -4
  189. package/models/Partnership/Group/index.js +5 -12
  190. package/models/Partnership/Group/types.d.ts +1 -1
  191. package/models/Partnership/Group/types.js +1 -2
  192. package/models/Partnership/Partner/Subscription/index.d.ts +6 -6
  193. package/models/Partnership/Partner/Subscription/index.js +8 -15
  194. package/models/Partnership/Partner/Subscription/types.d.ts +1 -1
  195. package/models/Partnership/Partner/Subscription/types.js +2 -5
  196. package/models/Partnership/Partner/index.d.ts +2 -2
  197. package/models/Partnership/Partner/index.js +3 -10
  198. package/models/Partnership/Partner/types.js +1 -2
  199. package/models/Partnership/Payment/index.d.ts +2 -2
  200. package/models/Partnership/Payment/index.js +2 -8
  201. package/models/Partnership/Payment/types.js +1 -2
  202. package/models/Partnership/Plan/basic.d.ts +2 -3
  203. package/models/Partnership/Plan/basic.js +12 -18
  204. package/models/Partnership/Plan/index.d.ts +4 -4
  205. package/models/Partnership/Plan/index.js +3 -10
  206. package/models/Partnership/Plan/types.d.ts +1 -1
  207. package/models/Partnership/Plan/types.js +2 -5
  208. package/models/Partnership/basic.d.ts +2 -3
  209. package/models/Partnership/basic.js +4 -10
  210. package/models/Partnership/index.d.ts +5 -5
  211. package/models/Partnership/index.js +5 -11
  212. package/models/Partnership/types.d.ts +1 -1
  213. package/models/Partnership/types.js +4 -7
  214. package/models/Payment/basic.d.ts +3 -4
  215. package/models/Payment/basic.js +7 -13
  216. package/models/Payment/index.d.ts +2 -2
  217. package/models/Payment/index.js +2 -8
  218. package/models/Payment/types.d.ts +1 -1
  219. package/models/Payment/types.js +4 -7
  220. package/models/Player/basic.d.ts +2 -2
  221. package/models/Player/basic.js +4 -10
  222. package/models/Player/types.js +1 -2
  223. package/models/Repertory/basic.d.ts +2 -3
  224. package/models/Repertory/basic.js +2 -8
  225. package/models/Repertory/types.js +1 -2
  226. package/models/User/Group/index.d.ts +3 -3
  227. package/models/User/Group/index.js +8 -15
  228. package/models/User/Group/types.d.ts +1 -1
  229. package/models/User/Group/types.js +1 -2
  230. package/models/User/Notification/index.d.ts +6 -6
  231. package/models/User/Notification/index.js +18 -20
  232. package/models/User/Notification/types.d.ts +1 -1
  233. package/models/User/Notification/types.js +1 -2
  234. package/models/User/basic.d.ts +2 -2
  235. package/models/User/basic.js +4 -10
  236. package/models/User/index.d.ts +8 -8
  237. package/models/User/index.js +18 -24
  238. package/models/User/types.d.ts +1 -1
  239. package/models/User/types.js +12 -15
  240. package/models/WebhookEvent/index.d.ts +3 -4
  241. package/models/WebhookEvent/index.js +2 -8
  242. package/models/WebhookEvent/types.d.ts +1 -1
  243. package/models/WebhookEvent/types.js +2 -5
  244. package/package.json +2 -1
  245. package/types/firestore.js +2 -5
  246. package/types/messagebirdChatWidget.js +1 -2
@@ -1,28 +1,22 @@
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 endOfDay_1 = __importDefault(require("date-fns/endOfDay"));
7
- const isFuture_1 = __importDefault(require("date-fns/isFuture"));
8
- const lodash_1 = require("lodash");
9
- const get_1 = __importDefault(require("lodash/get"));
10
- const orderBy_1 = __importDefault(require("lodash/orderBy"));
11
- const objects_1 = require("../../../helpers/objects");
12
- const ts_extras_1 = require("../../../helpers/ts-extras");
13
- const lang_1 = require("../../../lang");
14
- const tiny_1 = __importDefault(require("../../Evento/tiny"));
15
- const basic_1 = __importDefault(require("../../Repertory/basic"));
16
- const types_1 = require("./File/Section/types");
17
- const types_2 = require("./types");
18
- class GroupRepertory extends basic_1.default {
19
- constructor(doc, lang = lang_1.defaultLocale) {
1
+ import endOfDay from 'date-fns/endOfDay';
2
+ import isFuture from 'date-fns/isFuture';
3
+ import { uniq } from 'lodash';
4
+ import orderBy from 'lodash/orderBy';
5
+ import { mapToArray } from '../../../helpers/objects';
6
+ import { objectEntries } from '../../../helpers/ts-extras';
7
+ import { defaultLocale } from '../../../lang';
8
+ import EventoTiny from '../../Evento/tiny';
9
+ import Theme from '../../Repertory/basic';
10
+ import { FileSectionIdReserved } from './File/Section/types';
11
+ import { GroupRepertoireVisibility } from './types';
12
+ export default class GroupRepertory extends Theme {
13
+ lang = defaultLocale;
14
+ constructor(doc, lang = defaultLocale) {
20
15
  super(doc);
21
- this.lang = lang_1.defaultLocale;
22
16
  this.lang = lang;
23
17
  }
24
18
  get groupId() {
25
- return (0, get_1.default)(this.ref, ['parent', 'parent', 'id']);
19
+ return this.ref.path.split('/').at(-3);
26
20
  }
27
21
  get tagsAlgolia() {
28
22
  return this.data.tagsAlgolia || [];
@@ -39,10 +33,10 @@ class GroupRepertory extends basic_1.default {
39
33
  return this.data.files || {};
40
34
  }
41
35
  get fileList() {
42
- return (0, objects_1.mapToArray)(this.files);
36
+ return mapToArray(this.files);
43
37
  }
44
38
  get sectionIds() {
45
- return (0, lodash_1.uniq)(this.fileList.map((file) => Object.keys(file.sections)).flat());
39
+ return uniq(this.fileList.map((file) => Object.keys(file.sections)).flat());
46
40
  }
47
41
  get filesPath() {
48
42
  return this.data.filesPath || {};
@@ -57,7 +51,7 @@ class GroupRepertory extends basic_1.default {
57
51
  return this.data.mainFilePath;
58
52
  }
59
53
  get visibility() {
60
- return this.data.visibility || types_2.GroupRepertoireVisibility.ByEvent;
54
+ return this.data.visibility || GroupRepertoireVisibility.ByEvent;
61
55
  }
62
56
  get votes() {
63
57
  return this.data.votes || {};
@@ -81,11 +75,11 @@ class GroupRepertory extends basic_1.default {
81
75
  return this.data.eventsTL || {};
82
76
  }
83
77
  get eventsList() {
84
- return Object.keys(this.eventsTL).map((id) => new tiny_1.default(id, this.eventsTL[id], this.lang));
78
+ return Object.keys(this.eventsTL).map((id) => new EventoTiny(id, this.eventsTL[id], this.lang));
85
79
  }
86
80
  /** @deprecated use getNextEvents */
87
81
  get nextEvents() {
88
- return this.getEventsByOrder().filter((ev) => (0, isFuture_1.default)(ev.datetime.toDate()));
82
+ return this.getEventsByOrder().filter((ev) => isFuture(ev.datetime.toDate()));
89
83
  }
90
84
  /** @deprecated use getNextEvent */
91
85
  get nextEvent() {
@@ -132,8 +126,8 @@ class GroupRepertory extends basic_1.default {
132
126
  return this.data.claims || {};
133
127
  }
134
128
  get claimsList() {
135
- return (0, ts_extras_1.objectEntries)(this.claims)
136
- .map(([iId, users]) => (0, ts_extras_1.objectEntries)(users || {}).map(([userId, claim]) => ({
129
+ return objectEntries(this.claims)
130
+ .map(([iId, users]) => objectEntries(users || {}).map(([userId, claim]) => ({
137
131
  userId,
138
132
  instrumentId: iId,
139
133
  hasFile: this.hasInstrumentAFile(iId),
@@ -142,7 +136,7 @@ class GroupRepertory extends basic_1.default {
142
136
  .flat();
143
137
  }
144
138
  hasInstrumentAFile(instrumentId) {
145
- return (this.sectionIds.includes(types_1.FileSectionIdReserved.All) ||
139
+ return (this.sectionIds.includes(FileSectionIdReserved.All) ||
146
140
  this.sectionIds.includes(instrumentId));
147
141
  }
148
142
  claimsByInstrument(instrumentId) {
@@ -172,10 +166,10 @@ class GroupRepertory extends basic_1.default {
172
166
  return this.instruments.find((i) => i.id === id);
173
167
  }
174
168
  getEventsByOrder(order = 'desc') {
175
- return (0, orderBy_1.default)(this.eventsList, (e) => e.datetime.toDate(), [order]);
169
+ return orderBy(this.eventsList, (e) => e.datetime.toDate(), [order]);
176
170
  }
177
171
  getNextEvents(endDay = false) {
178
- return this.getEventsByOrder().filter((ev) => endDay ? (0, isFuture_1.default)((0, endOfDay_1.default)(ev.datetime.toDate())) : (0, isFuture_1.default)(ev.datetime.toDate()));
172
+ return this.getEventsByOrder().filter((ev) => endDay ? isFuture(endOfDay(ev.datetime.toDate())) : isFuture(ev.datetime.toDate()));
179
173
  }
180
174
  getNextEvent(endDay = false) {
181
175
  const events = this.getNextEvents(endDay);
@@ -185,4 +179,3 @@ class GroupRepertory extends basic_1.default {
185
179
  return events[events.length - 1];
186
180
  }
187
181
  }
188
- exports.default = GroupRepertory;
@@ -1,5 +1,5 @@
1
+ import { DocumentReference, Timestamp } from '@google-cloud/firestore';
1
2
  import { InstrumentId } from '../../../helpers/instruments';
2
- import { DocumentReference, Timestamp } from '../../../types/firestore';
3
3
  import { EventTinyData } from '../../Evento/types';
4
4
  import { ThemeBasicData } from '../../Repertory/types';
5
5
  import { FileSectionId } from './File/Section/types';
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupRepertoireVisibility = void 0;
4
- var GroupRepertoireVisibility;
1
+ export var GroupRepertoireVisibility;
5
2
  (function (GroupRepertoireVisibility) {
6
3
  GroupRepertoireVisibility["Always"] = "always";
7
4
  GroupRepertoireVisibility["ByEvent"] = "byEvent";
8
- })(GroupRepertoireVisibility = exports.GroupRepertoireVisibility || (exports.GroupRepertoireVisibility = {}));
5
+ })(GroupRepertoireVisibility || (GroupRepertoireVisibility = {}));
@@ -1,13 +1,12 @@
1
- import { DocumentSnapshot } from '../../../types/firestore';
2
- import Model from '../../Model';
1
+ import Model, { DocumentModel } from '../../Model';
3
2
  import { StageTemplateData } from './types';
4
3
  export default class GroupStageTemplate extends Model<StageTemplateData> {
5
- constructor(doc: DocumentSnapshot);
4
+ constructor(doc: DocumentModel);
6
5
  get title(): string;
7
6
  get boardMap(): Record<string, import("./types").BoardCoordinates>;
8
7
  get boardSettings(): import("./types").BoardSettings;
9
8
  get updatedBy(): string;
10
- get updatedAt(): import("../../../types/firestore").Timestamp;
9
+ get updatedAt(): FirebaseFirestore.Timestamp;
11
10
  get createdBy(): string;
12
- get createdAt(): import("../../../types/firestore").Timestamp;
11
+ get createdAt(): FirebaseFirestore.Timestamp;
13
12
  }
@@ -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 GroupStageTemplate extends Model_1.default {
1
+ import Model from '../../Model';
2
+ export default class GroupStageTemplate extends Model {
8
3
  constructor(doc) {
9
4
  super(doc);
10
5
  }
@@ -30,4 +25,3 @@ class GroupStageTemplate extends Model_1.default {
30
25
  return this.data.createdAt;
31
26
  }
32
27
  }
33
- exports.default = GroupStageTemplate;
@@ -1,4 +1,4 @@
1
- import { Timestamp } from '../../../types/firestore';
1
+ import { Timestamp } from '@google-cloud/firestore';
2
2
  export interface BoardSettings {
3
3
  numberStraight: number;
4
4
  podium: boolean;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,15 +1,15 @@
1
1
  import { LanguagesTypes } from '../../lang';
2
- import { DocumentSnapshot } from '../../types/firestore';
2
+ import { DocumentModel } from '../Model';
3
3
  import ModelWithLang from '../Model/lang';
4
4
  import { GroupBasicData, GroupTinyData } from './types';
5
5
  export default class GroupBasic<D> extends ModelWithLang<D & GroupBasicData> {
6
- constructor(doc: DocumentSnapshot, lang?: LanguagesTypes);
6
+ constructor(doc: DocumentModel, lang?: LanguagesTypes);
7
7
  get tinyInfo(): GroupTinyData;
8
8
  get basicInfo(): GroupBasicData;
9
9
  get displayName(): string;
10
10
  get photoURL(): string;
11
11
  get locality(): string;
12
- get location(): import("../../types/firestore").GeoPoint;
12
+ get location(): FirebaseFirestore.GeoPoint;
13
13
  get username(): string;
14
14
  get musicStyle(): string;
15
15
  get musicStyleString(): string;
@@ -1,12 +1,7 @@
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 lang_2 = __importDefault(require("../Model/lang"));
8
- class GroupBasic extends lang_2.default {
9
- constructor(doc, lang = lang_1.defaultLocale) {
1
+ import { defaultLocale, getTranslation } from '../../lang';
2
+ import ModelWithLang from '../Model/lang';
3
+ export default class GroupBasic extends ModelWithLang {
4
+ constructor(doc, lang = defaultLocale) {
10
5
  super(doc, lang);
11
6
  }
12
7
  get tinyInfo() {
@@ -44,8 +39,7 @@ class GroupBasic extends lang_2.default {
44
39
  return this.data.musicStyle;
45
40
  }
46
41
  get musicStyleString() {
47
- const translation = (0, lang_1.getTranslation)(`musicStyles.${this.musicStyle}`, this.lang);
42
+ const translation = getTranslation(`musicStyles.${this.musicStyle}`, this.lang);
48
43
  return translation || this.musicStyle;
49
44
  }
50
45
  }
51
- exports.default = GroupBasic;
@@ -1,10 +1,11 @@
1
+ import { DocumentReference } from '@google-cloud/firestore';
1
2
  import { PlansGroup } from '../../helpers/plans';
2
3
  import { LanguagesTypes } from '../../lang';
3
- import { DocumentReference, DocumentSnapshot } from '../../types/firestore';
4
+ import { DocumentModel } from '../Model';
4
5
  import GroupBasic from './basic';
5
6
  import { GroupConfigShowAttendanceToMembers, GroupData, GroupStatus, SocialNetwork } from './types';
6
7
  export default class Group extends GroupBasic<GroupData> {
7
- constructor(doc: DocumentSnapshot, lang?: LanguagesTypes);
8
+ constructor(doc: DocumentModel, lang?: LanguagesTypes);
8
9
  get owner(): DocumentReference;
9
10
  get playerIds(): string[];
10
11
  get players(): Record<string, import("../Player/types").PlayerBasicData>;
@@ -17,8 +18,8 @@ export default class Group extends GroupBasic<GroupData> {
17
18
  get invitationEmails(): string[];
18
19
  get shortDynamicLink(): string;
19
20
  get admins(): string[];
20
- get createdAt(): import("../../types/firestore").Timestamp;
21
- get deletedAt(): import("../../types/firestore").Timestamp | null;
21
+ get createdAt(): FirebaseFirestore.Timestamp;
22
+ get deletedAt(): FirebaseFirestore.Timestamp | null;
22
23
  get repertoryCount(): number;
23
24
  get eventCount(): Record<import("../Evento/types").EventType, number>;
24
25
  get performanceCount(): number;
@@ -60,7 +61,7 @@ export default class Group extends GroupBasic<GroupData> {
60
61
  isAdmin: (userId: string) => boolean;
61
62
  isPlayer: (userId: string) => boolean;
62
63
  get isExpiredTrial(): boolean;
63
- get firstAnswerAt(): import("../../types/firestore").Timestamp | null;
64
+ get firstAnswerAt(): FirebaseFirestore.Timestamp | null;
64
65
  get repertoireTags(): Record<string, import("./types").GroupRepertoireTag>;
65
66
  get repertoireTagsList(): (import("./types").GroupRepertoireTag & {
66
67
  id: string;
@@ -76,6 +77,6 @@ export default class Group extends GroupBasic<GroupData> {
76
77
  id: import("../../helpers/instruments").DefaultInstrumentId | `customInstrument-${string}`;
77
78
  }), "id">[];
78
79
  get instrumentsIds(): (import("../../helpers/instruments").DefaultInstrumentId | `customInstrument-${string}`)[];
79
- get visitedDashboardAt(): Record<string, import("../../types/firestore").Timestamp>;
80
+ get visitedDashboardAt(): Record<string, FirebaseFirestore.Timestamp>;
80
81
  get onboardingMessages(): import("./types").GroupOnboardingMessage[];
81
82
  }
@@ -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,7 +1,7 @@
1
+ import { DocumentReference, GeoPoint, Timestamp } from '@google-cloud/firestore';
1
2
  import { CustomInstrumentId, DefaultInstrumentId } from '../../helpers/instruments';
2
3
  import { MusicStyleType } from '../../helpers/musicStyles';
3
4
  import { PlansGroup } from '../../helpers/plans';
4
- import { DocumentReference, GeoPoint, Timestamp } from '../../types/firestore';
5
5
  import { EventType } from '../Evento/types';
6
6
  import { PlayerBasicData } from '../Player/types';
7
7
  export interface GroupOnboardingMessage {
@@ -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 '../../types/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,5 +1,5 @@
1
+ import { Timestamp } from '@google-cloud/firestore';
1
2
  import { CollectionNames } from '../../helpers/collections';
2
- import { Timestamp } from '../../types/firestore';
3
3
  export type AllowCollections = CollectionNames.User | CollectionNames.Group | CollectionNames.Event | CollectionNames.Communication | CollectionNames.GroupRepertory | CollectionNames.Partner | CollectionNames.Partnership | CollectionNames.Customer;
4
4
  export interface EntityTypes {
5
5
  total: number;