@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.
- package/functions/auth.js +1 -2
- package/functions/communication.js +1 -2
- package/functions/communicationComment.js +1 -2
- package/functions/customer.js +1 -2
- package/functions/customerGroup.js +1 -2
- package/functions/event.js +2 -5
- package/functions/eventPlayer.js +2 -5
- package/functions/eventRepertory.js +1 -2
- package/functions/federation.js +1 -2
- package/functions/federationPartnership.js +1 -2
- package/functions/group.js +1 -2
- package/functions/groupPlayer.js +1 -2
- package/functions/groupRepertory.js +1 -2
- package/functions/index.js +2 -5
- package/functions/jwt.js +1 -2
- package/functions/misc.js +1 -2
- package/functions/notification.js +1 -2
- package/functions/partner.js +1 -2
- package/functions/partnership.js +1 -2
- package/functions/partnershipGroup.js +1 -2
- package/functions/partnershipPlan.js +1 -2
- package/functions/regions.js +124 -128
- package/functions/subscription.js +1 -2
- package/functions/user.js +1 -2
- package/helpers/appScenes.js +2 -5
- package/helpers/audios.js +5 -9
- package/helpers/auth.js +5 -9
- package/helpers/badges.js +10 -19
- package/helpers/collections.js +2 -5
- package/helpers/countries.js +1 -4
- package/helpers/dlinks.js +2 -5
- package/helpers/errors.js +2 -5
- package/helpers/fileSections/index.js +5 -8
- package/helpers/fileSections/orders.js +11 -16
- package/helpers/glissandooAdmin.js +2 -6
- package/helpers/instruments/index.js +3 -6
- package/helpers/instruments/lists.js +11 -19
- package/helpers/musicStyles/index.js +29 -36
- package/helpers/musicStyles/orders.js +174 -179
- package/helpers/notifications/index.js +119 -122
- package/helpers/notifications/placeholders.js +18 -26
- package/helpers/objects.js +15 -23
- package/helpers/payments.js +5 -8
- package/helpers/plans.js +6 -9
- package/helpers/rates.js +2 -6
- package/helpers/reasons.js +17 -21
- package/helpers/slate.js +5 -12
- package/helpers/styles.js +1 -4
- package/helpers/ts-extras/array-includes.js +1 -5
- package/helpers/ts-extras/as-mutable.js +1 -5
- package/helpers/ts-extras/assert-error.js +1 -5
- package/helpers/ts-extras/index.js +15 -33
- package/helpers/ts-extras/is-defined.js +1 -5
- package/helpers/ts-extras/is-empty.js +1 -5
- package/helpers/ts-extras/is-finite.js +1 -4
- package/helpers/ts-extras/is-infinite.js +1 -5
- package/helpers/ts-extras/is-integer.js +1 -4
- package/helpers/ts-extras/is-present.js +1 -5
- package/helpers/ts-extras/is-safe-integer.js +1 -4
- package/helpers/ts-extras/object-entries.js +1 -4
- package/helpers/ts-extras/object-from-entries.js +1 -4
- package/helpers/ts-extras/object-has-own.js +1 -5
- package/helpers/ts-extras/object-keys.js +1 -4
- package/helpers/ts-extras/set-has.js +1 -5
- package/helpers/types.js +2 -5
- package/helpers/utils.js +8 -16
- package/lang/index.js +42 -51
- package/models/Communication/Comment/index.d.ts +4 -4
- package/models/Communication/Comment/index.js +5 -12
- package/models/Communication/Comment/types.js +1 -2
- package/models/Communication/index.d.ts +3 -2
- package/models/Communication/index.js +15 -21
- package/models/Communication/types.js +4 -7
- package/models/Counters/Group/Analytics/index.d.ts +2 -3
- package/models/Counters/Group/Analytics/index.js +5 -12
- package/models/Counters/Group/Analytics/types.js +2 -5
- package/models/Counters/Group/index.d.ts +2 -3
- package/models/Counters/Group/index.js +2 -8
- package/models/Counters/Group/types.js +1 -2
- package/models/Counters/event.d.ts +2 -2
- package/models/Counters/event.js +2 -8
- package/models/Counters/index.d.ts +2 -3
- package/models/Counters/index.js +2 -8
- package/models/Counters/types.js +1 -2
- package/models/Customer/Group/index.d.ts +2 -2
- package/models/Customer/Group/index.js +7 -14
- package/models/Customer/Group/types.js +1 -2
- package/models/Customer/basic.d.ts +2 -3
- package/models/Customer/basic.js +4 -10
- package/models/Customer/index.d.ts +2 -2
- package/models/Customer/index.js +5 -11
- package/models/Customer/types.js +2 -5
- package/models/Evento/Player/basic.js +10 -11
- package/models/Evento/Player/index.d.ts +4 -4
- package/models/Evento/Player/index.js +12 -18
- package/models/Evento/Player/types.js +4 -7
- package/models/Evento/Repertory/index.d.ts +3 -3
- package/models/Evento/Repertory/index.js +3 -10
- package/models/Evento/Repertory/types.js +1 -2
- package/models/Evento/basic.d.ts +2 -2
- package/models/Evento/basic.js +12 -18
- package/models/Evento/index.d.ts +3 -2
- package/models/Evento/index.js +32 -38
- package/models/Evento/promoter.d.ts +3 -2
- package/models/Evento/promoter.js +2 -8
- package/models/Evento/tiny.js +9 -9
- package/models/Evento/types.js +14 -17
- package/models/Federation/Partnership/index.d.ts +2 -2
- package/models/Federation/Partnership/index.js +3 -10
- package/models/Federation/Partnership/types.js +1 -2
- package/models/Federation/index.d.ts +2 -3
- package/models/Federation/index.js +7 -13
- package/models/Federation/types.js +1 -2
- package/models/Group/Analytics/index.d.ts +3 -4
- package/models/Group/Analytics/index.js +5 -12
- package/models/Group/Analytics/types.js +2 -5
- package/models/Group/Event/index.d.ts +2 -2
- package/models/Group/Event/index.js +6 -12
- package/models/Group/Event/types.js +1 -2
- package/models/Group/Player/Event/index.d.ts +2 -2
- package/models/Group/Player/Event/index.js +11 -18
- package/models/Group/Player/Event/types.js +1 -2
- package/models/Group/Player/Log/index.d.ts +2 -3
- package/models/Group/Player/Log/index.js +2 -8
- package/models/Group/Player/Log/types.js +1 -2
- package/models/Group/Player/index.d.ts +5 -5
- package/models/Group/Player/index.js +18 -24
- package/models/Group/Player/types.js +2 -5
- package/models/Group/Repertory/File/Section/index.js +12 -16
- package/models/Group/Repertory/File/Section/types.js +2 -5
- package/models/Group/Repertory/File/index.js +11 -12
- package/models/Group/Repertory/File/types.js +1 -2
- package/models/Group/Repertory/FilePath/index.js +12 -15
- package/models/Group/Repertory/index.d.ts +8 -8
- package/models/Group/Repertory/index.js +25 -32
- package/models/Group/Repertory/types.js +2 -5
- package/models/Group/StageTemplate/index.d.ts +2 -3
- package/models/Group/StageTemplate/index.js +2 -8
- package/models/Group/StageTemplate/types.js +1 -2
- package/models/Group/basic.d.ts +2 -2
- package/models/Group/basic.js +5 -11
- package/models/Group/index.d.ts +3 -2
- package/models/Group/index.js +41 -47
- package/models/Group/types.js +14 -17
- package/models/Instrument/group.js +6 -11
- package/models/Instrument/index.js +8 -9
- package/models/Metrics/index.d.ts +4 -5
- package/models/Metrics/index.js +10 -16
- package/models/Metrics/types.js +1 -2
- package/models/Model/index.d.ts +15 -3
- package/models/Model/index.js +8 -7
- package/models/Model/lang.d.ts +2 -3
- package/models/Model/lang.js +5 -10
- package/models/MusicStyle/index.js +9 -10
- package/models/Notification/index.d.ts +4 -5
- package/models/Notification/index.js +2 -8
- package/models/Notification/types.js +2 -5
- package/models/Partner/basic.d.ts +2 -2
- package/models/Partner/basic.js +6 -12
- package/models/Partner/index.d.ts +2 -2
- package/models/Partner/index.js +4 -10
- package/models/Partner/tiny.d.ts +2 -3
- package/models/Partner/tiny.js +2 -8
- package/models/Partner/types.js +2 -5
- package/models/Partnership/Group/index.d.ts +2 -2
- package/models/Partnership/Group/index.js +5 -12
- package/models/Partnership/Group/types.js +1 -2
- package/models/Partnership/Partner/Subscription/index.d.ts +2 -2
- package/models/Partnership/Partner/Subscription/index.js +8 -15
- package/models/Partnership/Partner/Subscription/types.js +2 -5
- package/models/Partnership/Partner/index.d.ts +2 -2
- package/models/Partnership/Partner/index.js +3 -10
- package/models/Partnership/Partner/types.js +1 -2
- package/models/Partnership/Payment/index.d.ts +2 -2
- package/models/Partnership/Payment/index.js +2 -8
- package/models/Partnership/Payment/types.js +1 -2
- package/models/Partnership/Plan/basic.d.ts +2 -3
- package/models/Partnership/Plan/basic.js +12 -18
- package/models/Partnership/Plan/index.d.ts +2 -2
- package/models/Partnership/Plan/index.js +3 -10
- package/models/Partnership/Plan/types.js +2 -5
- package/models/Partnership/basic.d.ts +2 -3
- package/models/Partnership/basic.js +4 -10
- package/models/Partnership/index.d.ts +2 -2
- package/models/Partnership/index.js +5 -11
- package/models/Partnership/types.js +4 -7
- package/models/Payment/basic.d.ts +3 -4
- package/models/Payment/basic.js +7 -13
- package/models/Payment/index.d.ts +2 -2
- package/models/Payment/index.js +2 -8
- package/models/Payment/types.js +4 -7
- package/models/Player/basic.d.ts +2 -2
- package/models/Player/basic.js +4 -10
- package/models/Player/types.js +1 -2
- package/models/Repertory/basic.d.ts +2 -3
- package/models/Repertory/basic.js +2 -8
- package/models/Repertory/types.js +1 -2
- package/models/User/Group/index.d.ts +2 -2
- package/models/User/Group/index.js +8 -15
- package/models/User/Group/types.js +1 -2
- package/models/User/Notification/index.d.ts +6 -6
- package/models/User/Notification/index.js +18 -20
- package/models/User/Notification/types.js +1 -2
- package/models/User/basic.d.ts +2 -2
- package/models/User/basic.js +4 -10
- package/models/User/index.d.ts +2 -2
- package/models/User/index.js +18 -24
- package/models/User/types.js +12 -15
- package/models/WebhookEvent/index.d.ts +2 -3
- package/models/WebhookEvent/index.js +2 -8
- package/models/WebhookEvent/types.js +2 -5
- package/package.json +1 -1
- package/types/firestore.js +2 -5
- package/types/messagebirdChatWidget.js +1 -2
package/models/Group/index.js
CHANGED
|
@@ -1,30 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
|
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 || !
|
|
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
|
-
[
|
|
123
|
-
[
|
|
124
|
-
[
|
|
125
|
-
[
|
|
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
|
-
[
|
|
137
|
-
? this.data.config[
|
|
122
|
+
[GroupConfigKey.IncludesMembersToEventsWhenJoined]: GroupConfigKey.IncludesMembersToEventsWhenJoined in this.data.config
|
|
123
|
+
? this.data.config[GroupConfigKey.IncludesMembersToEventsWhenJoined]
|
|
138
124
|
: true,
|
|
139
|
-
[
|
|
140
|
-
? this.data.config[
|
|
141
|
-
:
|
|
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
|
|
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 =
|
|
158
|
+
const isOutDateTrial = isPast(this.trialEndAt);
|
|
164
159
|
const members = this.activePlayers.length;
|
|
165
|
-
const isAboveMembersLimitPlanFree = members >
|
|
166
|
-
return this.status !==
|
|
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
|
|
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 ?
|
|
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
|
|
182
|
+
return addMonths(this.createdAt.toDate(), 1);
|
|
188
183
|
}
|
|
189
184
|
get glissandooAdminUrl() {
|
|
190
|
-
return
|
|
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
|
|
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;
|
package/models/Group/types.js
CHANGED
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
36
|
-
var GroupRepertoireTagReserved;
|
|
32
|
+
})(SocialNetwork || (SocialNetwork = {}));
|
|
33
|
+
export var GroupRepertoireTagReserved;
|
|
37
34
|
(function (GroupRepertoireTagReserved) {
|
|
38
35
|
GroupRepertoireTagReserved["NoTag"] = "$noTag";
|
|
39
|
-
})(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
|
|
44
|
+
})(GroupRepertoireTagDefault || (GroupRepertoireTagDefault = {}));
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(id, lang =
|
|
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 =
|
|
11
|
+
const translation = getTranslation(`instruments.${this.id}`, this.lang);
|
|
12
12
|
return translation || this.id;
|
|
13
13
|
}
|
|
14
14
|
get icon() {
|
|
15
|
-
return
|
|
15
|
+
return InstrumentIcons[this.id] || 'warning';
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
exports.default = Instrument;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
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:
|
|
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():
|
|
16
|
-
get createdAt():
|
|
14
|
+
get date(): FirebaseFirestore.Timestamp;
|
|
15
|
+
get createdAt(): FirebaseFirestore.Timestamp;
|
|
17
16
|
}
|
package/models/Metrics/index.js
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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;
|
package/models/Metrics/types.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
package/models/Model/index.d.ts
CHANGED
|
@@ -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:
|
|
18
|
+
constructor(doc: DocumentModel);
|
|
8
19
|
get data(): D;
|
|
9
|
-
protected get(name: string):
|
|
20
|
+
protected get(name: string): D[keyof D] | null;
|
|
10
21
|
}
|
|
22
|
+
export {};
|
package/models/Model/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
18
|
-
return this._data[name];
|
|
20
|
+
return get(this._data, name);
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
exports.default = Model;
|
package/models/Model/lang.d.ts
CHANGED
|
@@ -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:
|
|
5
|
+
constructor(doc: DocumentModel, lang?: LanguagesTypes);
|
|
7
6
|
set language(lang: LanguagesTypes);
|
|
8
7
|
}
|
package/models/Model/lang.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(id, lang =
|
|
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 =
|
|
12
|
+
const translation = getTranslation(`musicStyles.${this.id}`, this.lang);
|
|
13
13
|
return translation || this.id;
|
|
14
14
|
}
|
|
15
15
|
get cover() {
|
|
16
|
-
return
|
|
16
|
+
return get(MusicStylesCover, this.id);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
exports.default = MusicStyle;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
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:
|
|
6
|
-
get references():
|
|
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():
|
|
8
|
+
get createdAt(): FirebaseFirestore.Timestamp;
|
|
10
9
|
}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
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
|
|
90
|
+
})(NotificationActions || (NotificationActions = {}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
5
|
+
constructor(doc: DocumentModel);
|
|
6
6
|
get basicInfo(): PartnerBasicData;
|
|
7
7
|
get status(): PartnerStatus;
|
|
8
8
|
get createdAt(): FirebaseFirestore.Timestamp;
|
package/models/Partner/basic.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
17
|
+
return PartnerStatus.Deleted;
|
|
23
18
|
}
|
|
24
19
|
if (this.isVerified) {
|
|
25
|
-
return
|
|
20
|
+
return PartnerStatus.Verified;
|
|
26
21
|
}
|
|
27
|
-
return
|
|
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 {
|
|
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:
|
|
5
|
+
constructor(doc: DocumentModel);
|
|
6
6
|
get name(): string;
|
|
7
7
|
get lastname(): string;
|
|
8
8
|
get email(): string;
|
package/models/Partner/index.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) => (
|
|
40
|
+
return fields.filter((field) => isString(field)).join(', ');
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
|
-
exports.default = Partner;
|
package/models/Partner/tiny.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
4
|
+
constructor(doc: DocumentModel);
|
|
6
5
|
get tinyInfo(): PartnerTinyData;
|
|
7
6
|
get photoURL(): string | null;
|
|
8
7
|
get displayName(): string;
|
package/models/Partner/tiny.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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;
|