@glissandoo/lib 1.0.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 (208) hide show
  1. package/functions/communication.d.ts +31 -0
  2. package/functions/communication.js +2 -0
  3. package/functions/event.d.ts +113 -0
  4. package/functions/event.js +18 -0
  5. package/functions/eventPlayer.d.ts +20 -0
  6. package/functions/eventPlayer.js +13 -0
  7. package/functions/eventRepertory.d.ts +9 -0
  8. package/functions/eventRepertory.js +2 -0
  9. package/functions/federation.d.ts +23 -0
  10. package/functions/federation.js +2 -0
  11. package/functions/federationPartnership.d.ts +34 -0
  12. package/functions/federationPartnership.js +2 -0
  13. package/functions/group.d.ts +32 -0
  14. package/functions/group.js +2 -0
  15. package/functions/groupPlayer.d.ts +37 -0
  16. package/functions/groupPlayer.js +2 -0
  17. package/functions/groupRepertory.d.ts +54 -0
  18. package/functions/groupRepertory.js +2 -0
  19. package/functions/index.d.ts +73 -0
  20. package/functions/index.js +77 -0
  21. package/functions/misc.d.ts +9 -0
  22. package/functions/misc.js +2 -0
  23. package/functions/notification.d.ts +4 -0
  24. package/functions/notification.js +2 -0
  25. package/functions/partner.d.ts +63 -0
  26. package/functions/partner.js +2 -0
  27. package/functions/partnership.d.ts +23 -0
  28. package/functions/partnership.js +2 -0
  29. package/functions/partnershipGroup.d.ts +12 -0
  30. package/functions/partnershipGroup.js +2 -0
  31. package/functions/partnershipPlan.d.ts +23 -0
  32. package/functions/partnershipPlan.js +2 -0
  33. package/functions/regions.d.ts +6 -0
  34. package/functions/regions.js +85 -0
  35. package/functions/subscription.d.ts +20 -0
  36. package/functions/subscription.js +2 -0
  37. package/functions/user.d.ts +19 -0
  38. package/functions/user.js +2 -0
  39. package/helpers/appScenes.d.ts +45 -0
  40. package/helpers/appScenes.js +49 -0
  41. package/helpers/badges.d.ts +21 -0
  42. package/helpers/badges.js +162 -0
  43. package/helpers/collections.d.ts +28 -0
  44. package/helpers/collections.js +32 -0
  45. package/helpers/instruments/index.d.ts +67 -0
  46. package/helpers/instruments/index.js +145 -0
  47. package/helpers/musicStyles/index.d.ts +9 -0
  48. package/helpers/musicStyles/index.js +16 -0
  49. package/helpers/musicStyles/orders.d.ts +4 -0
  50. package/helpers/musicStyles/orders.js +128 -0
  51. package/helpers/notifications.d.ts +40 -0
  52. package/helpers/notifications.js +120 -0
  53. package/helpers/payments.d.ts +2 -0
  54. package/helpers/payments.js +9 -0
  55. package/helpers/utils.d.ts +6 -0
  56. package/helpers/utils.js +99 -0
  57. package/index.d.ts +0 -0
  58. package/index.js +1 -0
  59. package/lang/ca.json +194 -0
  60. package/lang/de.json +194 -0
  61. package/lang/en.json +194 -0
  62. package/lang/es.json +194 -0
  63. package/lang/gl.json +194 -0
  64. package/lang/index.d.ts +1078 -0
  65. package/lang/index.js +101 -0
  66. package/models/Communication/index.d.ts +47 -0
  67. package/models/Communication/index.js +138 -0
  68. package/models/Communication/types.d.ts +53 -0
  69. package/models/Communication/types.js +13 -0
  70. package/models/Counters/index.d.ts +7 -0
  71. package/models/Counters/index.js +15 -0
  72. package/models/Counters/types.d.ts +3 -0
  73. package/models/Counters/types.js +2 -0
  74. package/models/Evento/Player/index.d.ts +17 -0
  75. package/models/Evento/Player/index.js +45 -0
  76. package/models/Evento/Player/types.d.ts +15 -0
  77. package/models/Evento/Player/types.js +8 -0
  78. package/models/Evento/Repertory/index.d.ts +9 -0
  79. package/models/Evento/Repertory/index.js +22 -0
  80. package/models/Evento/Repertory/types.d.ts +5 -0
  81. package/models/Evento/Repertory/types.js +2 -0
  82. package/models/Evento/basic.d.ts +22 -0
  83. package/models/Evento/basic.js +72 -0
  84. package/models/Evento/index.d.ts +66 -0
  85. package/models/Evento/index.js +178 -0
  86. package/models/Evento/promoter.d.ts +11 -0
  87. package/models/Evento/promoter.js +24 -0
  88. package/models/Evento/tiny.d.ts +13 -0
  89. package/models/Evento/tiny.js +32 -0
  90. package/models/Evento/types.d.ts +76 -0
  91. package/models/Evento/types.js +22 -0
  92. package/models/Federation/Partnership/index.d.ts +12 -0
  93. package/models/Federation/Partnership/index.js +31 -0
  94. package/models/Federation/Partnership/types.d.ts +8 -0
  95. package/models/Federation/Partnership/types.js +2 -0
  96. package/models/Federation/index.d.ts +20 -0
  97. package/models/Federation/index.js +54 -0
  98. package/models/Federation/types.d.ts +16 -0
  99. package/models/Federation/types.js +2 -0
  100. package/models/Group/Analytics/index.d.ts +11 -0
  101. package/models/Group/Analytics/index.js +29 -0
  102. package/models/Group/Analytics/types.d.ts +20 -0
  103. package/models/Group/Analytics/types.js +13 -0
  104. package/models/Group/Event/index.d.ts +15 -0
  105. package/models/Group/Event/index.js +38 -0
  106. package/models/Group/Event/types.d.ts +11 -0
  107. package/models/Group/Event/types.js +2 -0
  108. package/models/Group/Player/Event/index.d.ts +17 -0
  109. package/models/Group/Player/Event/index.js +42 -0
  110. package/models/Group/Player/Event/types.d.ts +8 -0
  111. package/models/Group/Player/Event/types.js +2 -0
  112. package/models/Group/Player/Log/index.d.ts +12 -0
  113. package/models/Group/Player/Log/index.js +24 -0
  114. package/models/Group/Player/Log/types.d.ts +11 -0
  115. package/models/Group/Player/Log/types.js +2 -0
  116. package/models/Group/Player/index.d.ts +55 -0
  117. package/models/Group/Player/index.js +221 -0
  118. package/models/Group/Player/types.d.ts +43 -0
  119. package/models/Group/Player/types.js +9 -0
  120. package/models/Group/Repertory/index.d.ts +67 -0
  121. package/models/Group/Repertory/index.js +149 -0
  122. package/models/Group/Repertory/types.d.ts +43 -0
  123. package/models/Group/Repertory/types.js +2 -0
  124. package/models/Group/basic.d.ts +17 -0
  125. package/models/Group/basic.js +51 -0
  126. package/models/Group/index.d.ts +43 -0
  127. package/models/Group/index.js +115 -0
  128. package/models/Group/types.d.ts +68 -0
  129. package/models/Group/types.js +21 -0
  130. package/models/Instrument/index.d.ts +9 -0
  131. package/models/Instrument/index.js +17 -0
  132. package/models/Metrics/index.d.ts +17 -0
  133. package/models/Metrics/index.js +47 -0
  134. package/models/Metrics/types.d.ts +12 -0
  135. package/models/Metrics/types.js +2 -0
  136. package/models/Model.d.ts +10 -0
  137. package/models/Model.js +21 -0
  138. package/models/MusicStyle/index.d.ts +8 -0
  139. package/models/MusicStyle/index.js +13 -0
  140. package/models/Notification/index.d.ts +12 -0
  141. package/models/Notification/index.js +26 -0
  142. package/models/Notification/types.d.ts +71 -0
  143. package/models/Notification/types.js +68 -0
  144. package/models/Partner/basic.d.ts +14 -0
  145. package/models/Partner/basic.js +43 -0
  146. package/models/Partner/index.d.ts +16 -0
  147. package/models/Partner/index.js +48 -0
  148. package/models/Partner/tiny.d.ts +9 -0
  149. package/models/Partner/tiny.js +24 -0
  150. package/models/Partner/types.d.ts +43 -0
  151. package/models/Partner/types.js +9 -0
  152. package/models/Partnership/Group/index.d.ts +8 -0
  153. package/models/Partnership/Group/index.js +17 -0
  154. package/models/Partnership/Group/types.d.ts +2 -0
  155. package/models/Partnership/Group/types.js +2 -0
  156. package/models/Partnership/Partner/Subscription/index.d.ts +19 -0
  157. package/models/Partnership/Partner/Subscription/index.js +56 -0
  158. package/models/Partnership/Partner/Subscription/types.d.ts +21 -0
  159. package/models/Partnership/Partner/Subscription/types.js +9 -0
  160. package/models/Partnership/Partner/index.d.ts +9 -0
  161. package/models/Partnership/Partner/index.js +22 -0
  162. package/models/Partnership/Partner/types.d.ts +5 -0
  163. package/models/Partnership/Partner/types.js +2 -0
  164. package/models/Partnership/Payment/index.d.ts +8 -0
  165. package/models/Partnership/Payment/index.js +18 -0
  166. package/models/Partnership/Payment/types.d.ts +6 -0
  167. package/models/Partnership/Payment/types.js +2 -0
  168. package/models/Partnership/Plan/basic.d.ts +19 -0
  169. package/models/Partnership/Plan/basic.js +65 -0
  170. package/models/Partnership/Plan/index.d.ts +12 -0
  171. package/models/Partnership/Plan/index.js +31 -0
  172. package/models/Partnership/Plan/types.d.ts +23 -0
  173. package/models/Partnership/Plan/types.js +10 -0
  174. package/models/Partnership/basic.d.ts +17 -0
  175. package/models/Partnership/basic.js +58 -0
  176. package/models/Partnership/index.d.ts +18 -0
  177. package/models/Partnership/index.js +55 -0
  178. package/models/Partnership/types.d.ts +37 -0
  179. package/models/Partnership/types.js +9 -0
  180. package/models/Payment/basic.d.ts +17 -0
  181. package/models/Payment/basic.js +53 -0
  182. package/models/Payment/index.d.ts +13 -0
  183. package/models/Payment/index.js +33 -0
  184. package/models/Payment/types.d.ts +32 -0
  185. package/models/Payment/types.js +17 -0
  186. package/models/Player/basic.d.ts +10 -0
  187. package/models/Player/basic.js +27 -0
  188. package/models/Player/types.d.ts +8 -0
  189. package/models/Player/types.js +2 -0
  190. package/models/Repertory/basic.d.ts +11 -0
  191. package/models/Repertory/basic.js +32 -0
  192. package/models/Repertory/types.d.ts +21 -0
  193. package/models/Repertory/types.js +2 -0
  194. package/models/User/Group/index.d.ts +15 -0
  195. package/models/User/Group/index.js +36 -0
  196. package/models/User/Group/types.d.ts +10 -0
  197. package/models/User/Group/types.js +2 -0
  198. package/models/User/Notification/index.d.ts +25 -0
  199. package/models/User/Notification/index.js +73 -0
  200. package/models/User/Notification/types.d.ts +25 -0
  201. package/models/User/Notification/types.js +2 -0
  202. package/models/User/basic.d.ts +13 -0
  203. package/models/User/basic.js +35 -0
  204. package/models/User/index.d.ts +46 -0
  205. package/models/User/index.js +119 -0
  206. package/models/User/types.d.ts +68 -0
  207. package/models/User/types.js +26 -0
  208. package/package.json +39 -0
@@ -0,0 +1,12 @@
1
+ import * as firestore from '@google-cloud/firestore';
2
+ import { LanguagesTypes } from '../../lang';
3
+ import Model from '../Model';
4
+ import { NotificationData } from './types';
5
+ export default class Notification extends Model<NotificationData> {
6
+ private lang;
7
+ constructor(doc: firestore.DocumentSnapshot, lang?: LanguagesTypes);
8
+ get references(): firestore.DocumentReference<firestore.DocumentData>[];
9
+ get userIds(): string[];
10
+ get action(): import("./types").NotificationActions;
11
+ get createdAt(): firestore.Timestamp;
12
+ }
@@ -0,0 +1,26 @@
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 Notification extends Model_1.default {
9
+ constructor(doc, lang = lang_1.defaultLocale) {
10
+ super(doc);
11
+ this.lang = lang;
12
+ }
13
+ get references() {
14
+ return this.data.references || [];
15
+ }
16
+ get userIds() {
17
+ return this.data.userIds || [];
18
+ }
19
+ get action() {
20
+ return this.data.action;
21
+ }
22
+ get createdAt() {
23
+ return this.data.createdAt;
24
+ }
25
+ }
26
+ exports.default = Notification;
@@ -0,0 +1,71 @@
1
+ import { DocumentReference, Timestamp } from '@google-cloud/firestore';
2
+ export interface NotificationData {
3
+ userIds: string[];
4
+ action: NotificationActions;
5
+ references: DocumentReference[];
6
+ createdAt: Timestamp;
7
+ }
8
+ export declare enum NotificationActions {
9
+ BadgeAccPerformancesFirstLevel = "badgeAccPerformances.firstLevel",
10
+ BadgeAccPerformancesUpLevel = "badgeAccPerformances.upLevel",
11
+ BadgeAccPracticesFirstLevel = "badgeAccPractices.firstLevel",
12
+ BadgeAccPracticesUpLevel = "badgeAccPractices.upLevel",
13
+ BadgeAnswerEventsFirstLevel = "badgeAnswerEvents.firstLevel",
14
+ BadgeAnswerEventsUpLevel = "badgeAnswerEvents.upLevel",
15
+ BadgeStrikePracticesFirstLevel = "badgeStrikePractices.firstLevel",
16
+ BadgeStrikePracticesUpLevel = "badgeStrikePractices.upLevel",
17
+ CommunicationCreate = "communication.create",
18
+ GroupDelete = "group.delete",
19
+ GroupPlayersAdd = "group.players.add",
20
+ GroupPlayersJoin = "group.players.join",
21
+ GroupPlayersLeave = "group.players.leave",
22
+ GroupPlayersRemove = "group.players.remove",
23
+ PerformanceAssistanceConfirm = "performance.assistance.confirm",
24
+ PerformanceAssistanceDecline = "performance.assistance.decline",
25
+ PerformanceCancel = "performance.cancel",
26
+ PerformanceCreate = "performance.create",
27
+ PerformanceEditAttendance = "performance.edit.attendance",
28
+ PerformanceEditComments = "performance.edit.comments",
29
+ PerformanceEditDatetime = "performance.edit.datetime",
30
+ PerformanceEditLocality = "performance.edit.locality",
31
+ PerformanceEditRepertory = "performance.edit.repertory",
32
+ PerformanceEditTitle = "performance.edit.title",
33
+ PerformanceEveningReminderConfirm = "performance.eveningReminder.confirm",
34
+ PerformanceEveningReminderPending = "performance.eveningReminder.pending",
35
+ PerformanceMorningReminderConfirm = "performance.morningReminder.confirm",
36
+ PerformanceMorningReminderPending = "performance.morningReminder.pending",
37
+ PerformancePlayersAdd = "performance.players.add",
38
+ PerformancePlayersRemove = "performance.players.remove",
39
+ PerformanceReminder = "performance.reminder",
40
+ PerformanceRollCallReminder = "performance.rollCallReminder",
41
+ PracticeAssistanceConfirm = "practice.assistance.confirm",
42
+ PracticeAssistanceDecline = "practice.assistance.decline",
43
+ PracticeCancel = "practice.cancel",
44
+ PracticeCreate = "practice.create",
45
+ PracticeEditAttendance = "practice.edit.attendance",
46
+ PracticeEditComments = "practice.edit.comments",
47
+ PracticeEditDatetime = "practice.edit.datetime",
48
+ PracticeEditLocality = "practice.edit.locality",
49
+ PracticeEditRepertory = "practice.edit.repertory",
50
+ PracticeEditTitle = "practice.edit.title",
51
+ PracticeEveningReminderConfirm = "practice.eveningReminder.confirm",
52
+ PracticeEveningReminderPending = "practice.eveningReminder.pending",
53
+ PracticeMorningReminderConfirm = "practice.morningReminder.confirm",
54
+ PracticeMorningReminderPending = "practice.morningReminder.pending",
55
+ PracticePlayersAdd = "practice.players.add",
56
+ PracticePlayersRemove = "practice.players.remove",
57
+ PracticeReminder = "practice.reminder",
58
+ PracticeRollCallReminder = "practice.rollCallReminder",
59
+ PracticesCancel = "practices.cancel",
60
+ PracticesCreate = "practices.create",
61
+ PracticesEditAttendance = "practices.edit.attendance",
62
+ PracticesEditComments = "practices.edit.comments",
63
+ PracticesEditDatetime = "practices.edit.datetime",
64
+ PracticesEditLocality = "practices.edit.locality",
65
+ PracticesEditRepertory = "practices.edit.repertory",
66
+ PracticesEditTitle = "practices.edit.title",
67
+ PracticesPlayersAdd = "practices.players.add",
68
+ PracticesPlayersRemove = "practices.players.remove",
69
+ ThemeClaimNew = "theme.claim.new",
70
+ ThemeClaimUpdate = "theme.claim.update"
71
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationActions = void 0;
4
+ var NotificationActions;
5
+ (function (NotificationActions) {
6
+ NotificationActions["BadgeAccPerformancesFirstLevel"] = "badgeAccPerformances.firstLevel";
7
+ NotificationActions["BadgeAccPerformancesUpLevel"] = "badgeAccPerformances.upLevel";
8
+ NotificationActions["BadgeAccPracticesFirstLevel"] = "badgeAccPractices.firstLevel";
9
+ NotificationActions["BadgeAccPracticesUpLevel"] = "badgeAccPractices.upLevel";
10
+ NotificationActions["BadgeAnswerEventsFirstLevel"] = "badgeAnswerEvents.firstLevel";
11
+ NotificationActions["BadgeAnswerEventsUpLevel"] = "badgeAnswerEvents.upLevel";
12
+ NotificationActions["BadgeStrikePracticesFirstLevel"] = "badgeStrikePractices.firstLevel";
13
+ NotificationActions["BadgeStrikePracticesUpLevel"] = "badgeStrikePractices.upLevel";
14
+ NotificationActions["CommunicationCreate"] = "communication.create";
15
+ NotificationActions["GroupDelete"] = "group.delete";
16
+ NotificationActions["GroupPlayersAdd"] = "group.players.add";
17
+ NotificationActions["GroupPlayersJoin"] = "group.players.join";
18
+ NotificationActions["GroupPlayersLeave"] = "group.players.leave";
19
+ NotificationActions["GroupPlayersRemove"] = "group.players.remove";
20
+ NotificationActions["PerformanceAssistanceConfirm"] = "performance.assistance.confirm";
21
+ NotificationActions["PerformanceAssistanceDecline"] = "performance.assistance.decline";
22
+ NotificationActions["PerformanceCancel"] = "performance.cancel";
23
+ NotificationActions["PerformanceCreate"] = "performance.create";
24
+ NotificationActions["PerformanceEditAttendance"] = "performance.edit.attendance";
25
+ NotificationActions["PerformanceEditComments"] = "performance.edit.comments";
26
+ NotificationActions["PerformanceEditDatetime"] = "performance.edit.datetime";
27
+ NotificationActions["PerformanceEditLocality"] = "performance.edit.locality";
28
+ NotificationActions["PerformanceEditRepertory"] = "performance.edit.repertory";
29
+ NotificationActions["PerformanceEditTitle"] = "performance.edit.title";
30
+ NotificationActions["PerformanceEveningReminderConfirm"] = "performance.eveningReminder.confirm";
31
+ NotificationActions["PerformanceEveningReminderPending"] = "performance.eveningReminder.pending";
32
+ NotificationActions["PerformanceMorningReminderConfirm"] = "performance.morningReminder.confirm";
33
+ NotificationActions["PerformanceMorningReminderPending"] = "performance.morningReminder.pending";
34
+ NotificationActions["PerformancePlayersAdd"] = "performance.players.add";
35
+ NotificationActions["PerformancePlayersRemove"] = "performance.players.remove";
36
+ NotificationActions["PerformanceReminder"] = "performance.reminder";
37
+ NotificationActions["PerformanceRollCallReminder"] = "performance.rollCallReminder";
38
+ NotificationActions["PracticeAssistanceConfirm"] = "practice.assistance.confirm";
39
+ NotificationActions["PracticeAssistanceDecline"] = "practice.assistance.decline";
40
+ NotificationActions["PracticeCancel"] = "practice.cancel";
41
+ NotificationActions["PracticeCreate"] = "practice.create";
42
+ NotificationActions["PracticeEditAttendance"] = "practice.edit.attendance";
43
+ NotificationActions["PracticeEditComments"] = "practice.edit.comments";
44
+ NotificationActions["PracticeEditDatetime"] = "practice.edit.datetime";
45
+ NotificationActions["PracticeEditLocality"] = "practice.edit.locality";
46
+ NotificationActions["PracticeEditRepertory"] = "practice.edit.repertory";
47
+ NotificationActions["PracticeEditTitle"] = "practice.edit.title";
48
+ NotificationActions["PracticeEveningReminderConfirm"] = "practice.eveningReminder.confirm";
49
+ NotificationActions["PracticeEveningReminderPending"] = "practice.eveningReminder.pending";
50
+ NotificationActions["PracticeMorningReminderConfirm"] = "practice.morningReminder.confirm";
51
+ NotificationActions["PracticeMorningReminderPending"] = "practice.morningReminder.pending";
52
+ NotificationActions["PracticePlayersAdd"] = "practice.players.add";
53
+ NotificationActions["PracticePlayersRemove"] = "practice.players.remove";
54
+ NotificationActions["PracticeReminder"] = "practice.reminder";
55
+ NotificationActions["PracticeRollCallReminder"] = "practice.rollCallReminder";
56
+ NotificationActions["PracticesCancel"] = "practices.cancel";
57
+ NotificationActions["PracticesCreate"] = "practices.create";
58
+ NotificationActions["PracticesEditAttendance"] = "practices.edit.attendance";
59
+ NotificationActions["PracticesEditComments"] = "practices.edit.comments";
60
+ NotificationActions["PracticesEditDatetime"] = "practices.edit.datetime";
61
+ NotificationActions["PracticesEditLocality"] = "practices.edit.locality";
62
+ NotificationActions["PracticesEditRepertory"] = "practices.edit.repertory";
63
+ NotificationActions["PracticesEditTitle"] = "practices.edit.title";
64
+ NotificationActions["PracticesPlayersAdd"] = "practices.players.add";
65
+ NotificationActions["PracticesPlayersRemove"] = "practices.players.remove";
66
+ NotificationActions["ThemeClaimNew"] = "theme.claim.new";
67
+ NotificationActions["ThemeClaimUpdate"] = "theme.claim.update";
68
+ })(NotificationActions = exports.NotificationActions || (exports.NotificationActions = {}));
@@ -0,0 +1,14 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import PartnerTiny from './tiny';
3
+ import { PartnerBasicData, PartnerStatus } from './types';
4
+ export default class PartnerBasic<D> extends PartnerTiny<D & PartnerBasicData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get basicInfo(): PartnerBasicData;
7
+ get status(): PartnerStatus;
8
+ get createdAt(): FirebaseFirestore.Timestamp;
9
+ get deletedAt(): FirebaseFirestore.Timestamp | null;
10
+ get isDeleted(): boolean;
11
+ get verifiedAt(): FirebaseFirestore.Timestamp | null;
12
+ get isVerified(): boolean;
13
+ get isActive(): boolean;
14
+ }
@@ -0,0 +1,43 @@
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 {
9
+ constructor(doc) {
10
+ super(doc);
11
+ }
12
+ get basicInfo() {
13
+ return Object.assign(Object.assign({}, this.tinyInfo), { verifiedAt: this.verifiedAt, deletedAt: this.deletedAt, createdAt: this.createdAt });
14
+ }
15
+ get status() {
16
+ if (this.isDeleted) {
17
+ return types_1.PartnerStatus.Deleted;
18
+ }
19
+ if (this.isVerified) {
20
+ return types_1.PartnerStatus.Verified;
21
+ }
22
+ return types_1.PartnerStatus.PendingVerification;
23
+ }
24
+ get createdAt() {
25
+ return this.data.createdAt;
26
+ }
27
+ get deletedAt() {
28
+ return this.data.deletedAt || null;
29
+ }
30
+ get isDeleted() {
31
+ return this.deletedAt !== null;
32
+ }
33
+ get verifiedAt() {
34
+ return this.data.verifiedAt || null;
35
+ }
36
+ get isVerified() {
37
+ return this.verifiedAt !== null;
38
+ }
39
+ get isActive() {
40
+ return this.exists && !this.isDeleted;
41
+ }
42
+ }
43
+ exports.default = PartnerBasic;
@@ -0,0 +1,16 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import PartnerBasic from './basic';
3
+ import { PartnerData } from './types';
4
+ export default class Partner extends PartnerBasic<PartnerData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get name(): string;
7
+ get lastname(): string;
8
+ get email(): string;
9
+ get phone(): string | null;
10
+ get birthdate(): FirebaseFirestore.Timestamp | null;
11
+ get partnershipId(): string;
12
+ get mandateId(): number | null;
13
+ get address(): import("./types").BasicAddressData | null;
14
+ get displayIBAN(): string | null;
15
+ get displayAddress(): string | null;
16
+ }
@@ -0,0 +1,48 @@
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 {
9
+ constructor(doc) {
10
+ super(doc);
11
+ }
12
+ get name() {
13
+ return this.data.name;
14
+ }
15
+ get lastname() {
16
+ return this.data.lastname;
17
+ }
18
+ get email() {
19
+ return this.data.email;
20
+ }
21
+ get phone() {
22
+ return this.data.phone;
23
+ }
24
+ get birthdate() {
25
+ return this.data.birthdate;
26
+ }
27
+ get partnershipId() {
28
+ return this.data.partnershipId;
29
+ }
30
+ get mandateId() {
31
+ return this.data.mandateId;
32
+ }
33
+ get address() {
34
+ return this.data.address;
35
+ }
36
+ get displayIBAN() {
37
+ const { iban } = this.data;
38
+ return iban ? `${iban.first} **** **** **** **** ${iban.last}` : null;
39
+ }
40
+ get displayAddress() {
41
+ if (!this.address)
42
+ return null;
43
+ const { street, city, postalCode, province, country } = this.address;
44
+ const fields = [street, postalCode, city, province, country];
45
+ return fields.filter((field) => isString_1.default(field)).join(', ');
46
+ }
47
+ }
48
+ exports.default = Partner;
@@ -0,0 +1,9 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import Model from '../Model';
3
+ import { PartnerTinyData } from './types';
4
+ export default class PartnerTiny<D> extends Model<D & PartnerTinyData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get tinyInfo(): PartnerTinyData;
7
+ get photoURL(): string | null;
8
+ get displayName(): string;
9
+ }
@@ -0,0 +1,24 @@
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 {
8
+ constructor(doc) {
9
+ super(doc);
10
+ }
11
+ get tinyInfo() {
12
+ return {
13
+ displayName: this.displayName,
14
+ photoURL: this.photoURL,
15
+ };
16
+ }
17
+ get photoURL() {
18
+ return this.data.photoURL || null;
19
+ }
20
+ get displayName() {
21
+ return this.data.displayName;
22
+ }
23
+ }
24
+ exports.default = PartnerTiny;
@@ -0,0 +1,43 @@
1
+ import { Timestamp } from '@google-cloud/firestore';
2
+ export declare enum PartnerStatus {
3
+ Verified = "verified",
4
+ PendingVerification = "pendingVerification",
5
+ Deleted = "deleted"
6
+ }
7
+ export interface BasicAddressData {
8
+ street?: string;
9
+ city?: string;
10
+ postalCode?: string;
11
+ province?: string;
12
+ country?: string;
13
+ }
14
+ export interface PartnerPartialIban {
15
+ first: string;
16
+ last: string;
17
+ }
18
+ export interface PartnerAlgoliaData extends Pick<PartnerData, 'photoURL' | 'partnershipId'> {
19
+ status: PartnerStatus;
20
+ displayName: string;
21
+ createdAt: number;
22
+ }
23
+ export interface PartnerTinyData {
24
+ photoURL: string | null;
25
+ displayName: string;
26
+ }
27
+ export interface PartnerBasicData extends PartnerTinyData {
28
+ verifiedAt: Timestamp | null;
29
+ createdAt: Timestamp;
30
+ deletedAt: Timestamp | null;
31
+ }
32
+ export interface PartnerData extends PartnerBasicData {
33
+ name: string;
34
+ lastname: string;
35
+ email: string;
36
+ iban: PartnerPartialIban | null;
37
+ address: BasicAddressData | null;
38
+ phone: string | null;
39
+ birthdate: Timestamp | null;
40
+ partnershipId: string;
41
+ mandateId: number | null;
42
+ token: string | null;
43
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PartnerStatus = void 0;
4
+ var PartnerStatus;
5
+ (function (PartnerStatus) {
6
+ PartnerStatus["Verified"] = "verified";
7
+ PartnerStatus["PendingVerification"] = "pendingVerification";
8
+ PartnerStatus["Deleted"] = "deleted";
9
+ })(PartnerStatus = exports.PartnerStatus || (exports.PartnerStatus = {}));
@@ -0,0 +1,8 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import { LanguagesTypes } from '../../../lang';
3
+ import GroupBasic from '../../Group/basic';
4
+ import { PartnershipGroupData } from './types';
5
+ export default class PartnershipGroup extends GroupBasic<PartnershipGroupData> {
6
+ constructor(doc: DocumentSnapshot, lang?: LanguagesTypes);
7
+ get partnershipId(): string;
8
+ }
@@ -0,0 +1,17 @@
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 get_1 = __importDefault(require("lodash/get"));
7
+ const lang_1 = require("../../../lang");
8
+ const basic_1 = __importDefault(require("../../Group/basic"));
9
+ class PartnershipGroup extends basic_1.default {
10
+ constructor(doc, lang = lang_1.defaultLocale) {
11
+ super(doc, lang);
12
+ }
13
+ get partnershipId() {
14
+ return get_1.default(this.ref, 'parent.parent.id');
15
+ }
16
+ }
17
+ exports.default = PartnershipGroup;
@@ -0,0 +1,2 @@
1
+ import { GroupBasicData } from '../../Group/types';
2
+ export declare type PartnershipGroupData = GroupBasicData;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import PartnershipPlanBasic from '../../Plan/basic';
3
+ import { SubscriptionData, SubscriptionStatus } from './types';
4
+ export default class PartnerSubscription extends PartnershipPlanBasic<SubscriptionData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get planRef(): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData>;
7
+ get partnerId(): string;
8
+ get partnershipId(): string;
9
+ get status(): SubscriptionStatus;
10
+ get lastPayment(): import("./types").LastPaymentType | null;
11
+ get hasPayments(): boolean;
12
+ get isLastPaymentAnError(): boolean;
13
+ get paymentDate(): FirebaseFirestore.Timestamp;
14
+ get createdAt(): FirebaseFirestore.Timestamp;
15
+ get createdBy(): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData>;
16
+ get isStatusActive(): boolean;
17
+ get isActive(): boolean;
18
+ get isAllowPayment(): boolean;
19
+ }
@@ -0,0 +1,56 @@
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 get_1 = __importDefault(require("lodash/get"));
7
+ const payments_1 = require("../../../../helpers/payments");
8
+ const basic_1 = __importDefault(require("../../Plan/basic"));
9
+ const types_1 = require("./types");
10
+ class PartnerSubscription extends basic_1.default {
11
+ constructor(doc) {
12
+ super(doc);
13
+ }
14
+ get planRef() {
15
+ return this.data.planRef;
16
+ }
17
+ get partnerId() {
18
+ return get_1.default(this.ref, 'parent.parent.id');
19
+ }
20
+ get partnershipId() {
21
+ return get_1.default(this.ref, 'parent.parent.parent.parent.id');
22
+ }
23
+ get status() {
24
+ return this.data.status;
25
+ }
26
+ get lastPayment() {
27
+ return this.data.lastPayment;
28
+ }
29
+ get hasPayments() {
30
+ return this.lastPayment !== null;
31
+ }
32
+ get isLastPaymentAnError() {
33
+ if (!this.lastPayment)
34
+ return false;
35
+ return payments_1.paymentStatusErrors.includes(this.lastPayment.status);
36
+ }
37
+ get paymentDate() {
38
+ return this.data.paymentDate;
39
+ }
40
+ get createdAt() {
41
+ return this.data.createdAt;
42
+ }
43
+ get createdBy() {
44
+ return this.data.createdBy;
45
+ }
46
+ get isStatusActive() {
47
+ return this.status === types_1.SubscriptionStatus.Active;
48
+ }
49
+ get isActive() {
50
+ return this.exists;
51
+ }
52
+ get isAllowPayment() {
53
+ return this.isActive && this.isStatusActive;
54
+ }
55
+ }
56
+ exports.default = PartnerSubscription;
@@ -0,0 +1,21 @@
1
+ import { DocumentReference, Timestamp } from '@google-cloud/firestore';
2
+ import { PaymentStatus } from '../../../Payment/types';
3
+ import { PartnershipPlanBasicData } from '../../Plan/types';
4
+ export declare enum SubscriptionStatus {
5
+ Active = "active",
6
+ Pause = "pause",
7
+ Cancel = "cancel"
8
+ }
9
+ export interface LastPaymentType {
10
+ id: string;
11
+ status: PaymentStatus;
12
+ timestamp: number;
13
+ }
14
+ export interface SubscriptionData extends PartnershipPlanBasicData {
15
+ paymentDate: Timestamp;
16
+ status: SubscriptionStatus;
17
+ lastPayment: LastPaymentType | null;
18
+ readonly planRef: DocumentReference;
19
+ readonly createdBy: DocumentReference;
20
+ readonly createdAt: Timestamp;
21
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubscriptionStatus = void 0;
4
+ var SubscriptionStatus;
5
+ (function (SubscriptionStatus) {
6
+ SubscriptionStatus["Active"] = "active";
7
+ SubscriptionStatus["Pause"] = "pause";
8
+ SubscriptionStatus["Cancel"] = "cancel";
9
+ })(SubscriptionStatus = exports.SubscriptionStatus || (exports.SubscriptionStatus = {}));
@@ -0,0 +1,9 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import PartnerBasic from '../../Partner/basic';
3
+ import { PartnershipPartnerData } from './types';
4
+ export default class PartnershipPartner extends PartnerBasic<PartnershipPartnerData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get partnershipId(): string;
7
+ get subscriptionIds(): string[];
8
+ get subscriptionActivesIds(): string[];
9
+ }
@@ -0,0 +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 get_1 = __importDefault(require("lodash/get"));
7
+ const basic_1 = __importDefault(require("../../Partner/basic"));
8
+ class PartnershipPartner extends basic_1.default {
9
+ constructor(doc) {
10
+ super(doc);
11
+ }
12
+ get partnershipId() {
13
+ return get_1.default(this.ref, 'parent.parent.id');
14
+ }
15
+ get subscriptionIds() {
16
+ return this.data.subscriptionIds || [];
17
+ }
18
+ get subscriptionActivesIds() {
19
+ return this.data.subscriptionActivesIds || [];
20
+ }
21
+ }
22
+ exports.default = PartnershipPartner;
@@ -0,0 +1,5 @@
1
+ import { PartnerBasicData } from '../../Partner/types';
2
+ export interface PartnershipPartnerData extends PartnerBasicData {
3
+ subscriptionIds: string[];
4
+ subscriptionActivesIds: string[];
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import PaymentBasic from '../../Payment/basic';
3
+ import { PartnershipPaymentsData } from './types';
4
+ export default class PartnershipPayments extends PaymentBasic<PartnershipPaymentsData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get partnerId(): string;
7
+ get partnerInfo(): import("../../Partner/types").PartnerTinyData;
8
+ }
@@ -0,0 +1,18 @@
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 basic_1 = __importDefault(require("../../Payment/basic"));
7
+ class PartnershipPayments extends basic_1.default {
8
+ constructor(doc) {
9
+ super(doc);
10
+ }
11
+ get partnerId() {
12
+ return this.data.partnerId;
13
+ }
14
+ get partnerInfo() {
15
+ return this.data.partnerInfo;
16
+ }
17
+ }
18
+ exports.default = PartnershipPayments;
@@ -0,0 +1,6 @@
1
+ import { PartnerTinyData } from '../../Partner/types';
2
+ import { PaymentBasicData } from '../../Payment/types';
3
+ export interface PartnershipPaymentsData extends PaymentBasicData {
4
+ partnerId: string;
5
+ partnerInfo: PartnerTinyData;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ import { DocumentSnapshot } from '@google-cloud/firestore';
2
+ import Model from '../../Model';
3
+ import { PartnershipPlanBasicData } from './types';
4
+ export default class PartnershipPlanBasic<D> extends Model<D & PartnershipPlanBasicData> {
5
+ constructor(doc: DocumentSnapshot);
6
+ get basicInfo(): PartnershipPlanBasicData;
7
+ private setPaymentDay;
8
+ private setPaymentMonth;
9
+ private setPaymentDate;
10
+ getNextPaymentDate(base: Date): Date;
11
+ getFirstPaymentDate(): Date;
12
+ get name(): string;
13
+ get price(): number;
14
+ get displayPrice(): string;
15
+ get description(): string;
16
+ get schedule(): import("./types").PlanScheduleType;
17
+ get isAnnuallySchedule(): boolean;
18
+ get isPaymentDayEndOfMonth(): boolean;
19
+ }