@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.
- 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.d.ts +1 -1
- package/models/Communication/Comment/types.js +1 -2
- package/models/Communication/index.d.ts +6 -5
- package/models/Communication/index.js +15 -21
- package/models/Communication/types.d.ts +1 -1
- package/models/Communication/types.js +4 -7
- package/models/Counters/Group/Analytics/index.d.ts +3 -4
- package/models/Counters/Group/Analytics/index.js +5 -12
- package/models/Counters/Group/Analytics/types.d.ts +1 -1
- package/models/Counters/Group/Analytics/types.js +2 -5
- package/models/Counters/Group/index.d.ts +3 -4
- package/models/Counters/Group/index.js +2 -8
- package/models/Counters/Group/types.d.ts +1 -1
- 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 +6 -6
- package/models/Customer/Group/index.js +7 -14
- package/models/Customer/Group/types.d.ts +1 -1
- 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 +3 -3
- package/models/Customer/index.js +5 -11
- package/models/Customer/types.d.ts +1 -1
- 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.d.ts +1 -1
- 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.d.ts +1 -1
- package/models/Evento/Repertory/types.js +1 -2
- package/models/Evento/basic.d.ts +5 -5
- package/models/Evento/basic.js +12 -18
- package/models/Evento/index.d.ts +11 -10
- 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.d.ts +1 -1
- package/models/Evento/tiny.js +9 -9
- package/models/Evento/types.d.ts +1 -1
- package/models/Evento/types.js +14 -17
- package/models/Federation/Partnership/index.d.ts +4 -4
- package/models/Federation/Partnership/index.js +3 -10
- package/models/Federation/Partnership/types.d.ts +1 -1
- package/models/Federation/Partnership/types.js +1 -2
- package/models/Federation/index.d.ts +5 -6
- package/models/Federation/index.js +7 -13
- package/models/Federation/types.d.ts +1 -1
- 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.d.ts +1 -1
- package/models/Group/Analytics/types.js +2 -5
- package/models/Group/Event/index.d.ts +3 -3
- package/models/Group/Event/index.js +6 -12
- package/models/Group/Event/types.d.ts +1 -1
- package/models/Group/Event/types.js +1 -2
- package/models/Group/Player/Event/index.d.ts +3 -3
- package/models/Group/Player/Event/index.js +11 -18
- package/models/Group/Player/Event/types.d.ts +1 -1
- package/models/Group/Player/Event/types.js +1 -2
- package/models/Group/Player/Log/index.d.ts +3 -4
- package/models/Group/Player/Log/index.js +2 -8
- package/models/Group/Player/Log/types.d.ts +1 -1
- 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.d.ts +1 -1
- 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.d.ts +1 -1
- package/models/Group/Repertory/types.js +2 -5
- package/models/Group/StageTemplate/index.d.ts +4 -5
- package/models/Group/StageTemplate/index.js +2 -8
- package/models/Group/StageTemplate/types.d.ts +1 -1
- package/models/Group/StageTemplate/types.js +1 -2
- package/models/Group/basic.d.ts +3 -3
- package/models/Group/basic.js +5 -11
- package/models/Group/index.d.ts +7 -6
- package/models/Group/index.js +41 -47
- package/models/Group/types.d.ts +1 -1
- 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.d.ts +1 -1
- package/models/Metrics/types.js +1 -2
- package/models/Model/index.d.ts +16 -4
- 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.d.ts +1 -1
- package/models/Notification/types.js +2 -5
- package/models/Partner/basic.d.ts +5 -5
- package/models/Partner/basic.js +6 -12
- package/models/Partner/index.d.ts +3 -3
- 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.d.ts +1 -1
- package/models/Partner/types.js +2 -5
- package/models/Partnership/Group/index.d.ts +4 -4
- package/models/Partnership/Group/index.js +5 -12
- package/models/Partnership/Group/types.d.ts +1 -1
- package/models/Partnership/Group/types.js +1 -2
- package/models/Partnership/Partner/Subscription/index.d.ts +6 -6
- package/models/Partnership/Partner/Subscription/index.js +8 -15
- package/models/Partnership/Partner/Subscription/types.d.ts +1 -1
- 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 +4 -4
- package/models/Partnership/Plan/index.js +3 -10
- package/models/Partnership/Plan/types.d.ts +1 -1
- 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 +5 -5
- package/models/Partnership/index.js +5 -11
- package/models/Partnership/types.d.ts +1 -1
- 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.d.ts +1 -1
- 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 +3 -3
- package/models/User/Group/index.js +8 -15
- package/models/User/Group/types.d.ts +1 -1
- 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.d.ts +1 -1
- 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 +8 -8
- package/models/User/index.js +18 -24
- package/models/User/types.d.ts +1 -1
- package/models/User/types.js +12 -15
- package/models/WebhookEvent/index.d.ts +3 -4
- package/models/WebhookEvent/index.js +2 -8
- package/models/WebhookEvent/types.d.ts +1 -1
- package/models/WebhookEvent/types.js +2 -5
- package/package.json +2 -1
- package/types/firestore.js +2 -5
- package/types/messagebirdChatWidget.js +1 -2
package/models/Evento/basic.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { LanguagesTypes } from '../../lang';
|
|
2
|
-
import {
|
|
2
|
+
import { DocumentModel } from '../Model';
|
|
3
3
|
import ModelWithLang from '../Model/lang';
|
|
4
4
|
import { EventBasicData, EventTinyData, EventType } from './types';
|
|
5
5
|
export default class EventoBasic<D> extends ModelWithLang<EventBasicData & D> {
|
|
6
|
-
constructor(doc:
|
|
6
|
+
constructor(doc: DocumentModel, lang?: LanguagesTypes);
|
|
7
7
|
get tinyInfo(): EventTinyData;
|
|
8
8
|
get basicInfo(): EventBasicData;
|
|
9
9
|
get displayName(): string | null;
|
|
@@ -13,13 +13,13 @@ export default class EventoBasic<D> extends ModelWithLang<EventBasicData & D> {
|
|
|
13
13
|
get isPerformance(): boolean;
|
|
14
14
|
get locality(): string | null;
|
|
15
15
|
get online(): boolean;
|
|
16
|
-
get datetime():
|
|
17
|
-
get datetimeEnd():
|
|
16
|
+
get datetime(): FirebaseFirestore.Timestamp;
|
|
17
|
+
get datetimeEnd(): FirebaseFirestore.Timestamp;
|
|
18
18
|
get duration(): number;
|
|
19
19
|
get isOutDate(): boolean;
|
|
20
20
|
get isHappening(): boolean;
|
|
21
21
|
get timezone(): string;
|
|
22
|
-
get responseDeadlineAt():
|
|
22
|
+
get responseDeadlineAt(): FirebaseFirestore.Timestamp;
|
|
23
23
|
get isResponseAllowed(): boolean;
|
|
24
24
|
get selectionMode(): import("./types").EventSelectionMode | null;
|
|
25
25
|
}
|
package/models/Evento/basic.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const lang_1 = require("../../lang");
|
|
8
|
-
const lang_2 = __importDefault(require("../Model/lang"));
|
|
9
|
-
const types_1 = require("./types");
|
|
10
|
-
class EventoBasic extends lang_2.default {
|
|
11
|
-
constructor(doc, lang = lang_1.defaultLocale) {
|
|
1
|
+
import { isFuture, isPast } from 'date-fns';
|
|
2
|
+
import { defaultLocale, getTranslation } from '../../lang';
|
|
3
|
+
import ModelWithLang from '../Model/lang';
|
|
4
|
+
import { EventType } from './types';
|
|
5
|
+
export default class EventoBasic extends ModelWithLang {
|
|
6
|
+
constructor(doc, lang = defaultLocale) {
|
|
12
7
|
super(doc, lang);
|
|
13
8
|
}
|
|
14
9
|
get tinyInfo() {
|
|
@@ -39,16 +34,16 @@ class EventoBasic extends lang_2.default {
|
|
|
39
34
|
if (this.displayName) {
|
|
40
35
|
return this.displayName;
|
|
41
36
|
}
|
|
42
|
-
return (
|
|
37
|
+
return (getTranslation(this.type, this.lang) || getTranslation('event', this.lang) || 'event');
|
|
43
38
|
}
|
|
44
39
|
get type() {
|
|
45
40
|
return this.data.type;
|
|
46
41
|
}
|
|
47
42
|
get isPractice() {
|
|
48
|
-
return this.type ===
|
|
43
|
+
return this.type === EventType.Practice;
|
|
49
44
|
}
|
|
50
45
|
get isPerformance() {
|
|
51
|
-
return this.type ===
|
|
46
|
+
return this.type === EventType.Performance;
|
|
52
47
|
}
|
|
53
48
|
get locality() {
|
|
54
49
|
return this.data.locality;
|
|
@@ -66,10 +61,10 @@ class EventoBasic extends lang_2.default {
|
|
|
66
61
|
return this.datetimeEnd.seconds - this.datetime.seconds;
|
|
67
62
|
}
|
|
68
63
|
get isOutDate() {
|
|
69
|
-
return
|
|
64
|
+
return isPast(this.datetimeEnd.toDate());
|
|
70
65
|
}
|
|
71
66
|
get isHappening() {
|
|
72
|
-
return
|
|
67
|
+
return isPast(this.datetime.toDate()) && isFuture(this.datetimeEnd.toDate());
|
|
73
68
|
}
|
|
74
69
|
get timezone() {
|
|
75
70
|
return this.data.timezone || 'Europe/Madrid';
|
|
@@ -78,10 +73,9 @@ class EventoBasic extends lang_2.default {
|
|
|
78
73
|
return this.data.responseDeadlineAt || this.datetime;
|
|
79
74
|
}
|
|
80
75
|
get isResponseAllowed() {
|
|
81
|
-
return
|
|
76
|
+
return isFuture(this.responseDeadlineAt.toDate());
|
|
82
77
|
}
|
|
83
78
|
get selectionMode() {
|
|
84
79
|
return this.data.selectionMode || null;
|
|
85
80
|
}
|
|
86
81
|
}
|
|
87
|
-
exports.default = EventoBasic;
|
package/models/Evento/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { DocumentReference } from '@google-cloud/firestore';
|
|
1
2
|
import { InstrumentId } from '../../helpers/instruments';
|
|
2
3
|
import { LanguagesTypes } from '../../lang';
|
|
3
|
-
import {
|
|
4
|
+
import { DocumentModel } from '../Model';
|
|
4
5
|
import EventoPlayerBasic from './Player/basic';
|
|
5
6
|
import EventoPromoter from './promoter';
|
|
6
7
|
import { AEventPlayerBasicData, EventData, EventResponseDeadlineOptions, EventStatusByTime } from './types';
|
|
@@ -10,10 +11,10 @@ interface PlayerListOptions {
|
|
|
10
11
|
asObject?: boolean;
|
|
11
12
|
}
|
|
12
13
|
export default class Evento extends EventoPromoter<EventData> {
|
|
13
|
-
constructor(doc:
|
|
14
|
+
constructor(doc: DocumentModel, lang?: LanguagesTypes);
|
|
14
15
|
get maxAttendance(): number | null;
|
|
15
16
|
get isCapacityCompleted(): boolean;
|
|
16
|
-
get location():
|
|
17
|
+
get location(): FirebaseFirestore.GeoPoint | null;
|
|
17
18
|
get videoURL(): string | null;
|
|
18
19
|
get coverURL(): string | null;
|
|
19
20
|
get description(): string | null;
|
|
@@ -30,14 +31,14 @@ export default class Evento extends EventoPromoter<EventData> {
|
|
|
30
31
|
get activeInvitationLink(): boolean;
|
|
31
32
|
get invitationLink(): string;
|
|
32
33
|
get shortDynamicLink(): string;
|
|
33
|
-
get deletedAt():
|
|
34
|
-
get createdAt():
|
|
34
|
+
get deletedAt(): FirebaseFirestore.Timestamp | null;
|
|
35
|
+
get createdAt(): FirebaseFirestore.Timestamp;
|
|
35
36
|
get createdOn(): import("./types").EventCreatedOn;
|
|
36
|
-
get rollCalledAt():
|
|
37
|
+
get rollCalledAt(): FirebaseFirestore.Timestamp | null;
|
|
37
38
|
get rollCalledBy(): string | null;
|
|
38
|
-
get rollCallReminderAt():
|
|
39
|
+
get rollCallReminderAt(): FirebaseFirestore.Timestamp | null;
|
|
39
40
|
get rollCallHistory(): import("./types").EventRollcallHistory[];
|
|
40
|
-
get notifyAt():
|
|
41
|
+
get notifyAt(): FirebaseFirestore.Timestamp;
|
|
41
42
|
get isActive(): boolean;
|
|
42
43
|
get isDeleted(): boolean;
|
|
43
44
|
get stage(): import("./types").EventStage | null;
|
|
@@ -66,10 +67,10 @@ export default class Evento extends EventoPromoter<EventData> {
|
|
|
66
67
|
getPlayer: (userId: string) => EventoPlayerBasic | null;
|
|
67
68
|
get responseDeadline(): {
|
|
68
69
|
option: EventResponseDeadlineOptions;
|
|
69
|
-
customAt:
|
|
70
|
+
customAt: FirebaseFirestore.Timestamp | null;
|
|
70
71
|
};
|
|
71
72
|
get isSelectionMode(): boolean;
|
|
72
|
-
get selectionModeClosedAt():
|
|
73
|
+
get selectionModeClosedAt(): FirebaseFirestore.Timestamp | null;
|
|
73
74
|
get isSelectionModeClosed(): boolean;
|
|
74
75
|
get isSelectionModeOpen(): boolean;
|
|
75
76
|
}
|
package/models/Evento/index.js
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const basic_1 = __importDefault(require("./Player/basic"));
|
|
12
|
-
const promoter_1 = __importDefault(require("./promoter"));
|
|
13
|
-
const types_1 = require("./types");
|
|
14
|
-
class Evento extends promoter_1.default {
|
|
15
|
-
constructor(doc, lang = lang_1.defaultLocale) {
|
|
1
|
+
import { addHours, isPast } from 'date-fns';
|
|
2
|
+
import { isNull, isNumber, orderBy } from 'lodash';
|
|
3
|
+
import { orderByMusicStyle } from '../../helpers/musicStyles/orders';
|
|
4
|
+
import { sortByMatch } from '../../helpers/utils';
|
|
5
|
+
import { defaultLocale } from '../../lang';
|
|
6
|
+
import EventoPlayerBasic from './Player/basic';
|
|
7
|
+
import EventoPromoter from './promoter';
|
|
8
|
+
import { EventResponseDeadlineOptions, EventSelectionMode, EventStatusByTime, } from './types';
|
|
9
|
+
export default class Evento extends EventoPromoter {
|
|
10
|
+
constructor(doc, lang = defaultLocale) {
|
|
16
11
|
super(doc, lang);
|
|
17
|
-
this.isPlayer = (userId) => {
|
|
18
|
-
return this.playerIds.includes(userId);
|
|
19
|
-
};
|
|
20
|
-
this.getPlayer = (userId) => {
|
|
21
|
-
return userId in this.players
|
|
22
|
-
? new basic_1.default(this.id, { id: userId, ...this.players[userId] })
|
|
23
|
-
: null;
|
|
24
|
-
};
|
|
25
12
|
}
|
|
26
13
|
get maxAttendance() {
|
|
27
14
|
return this.data.maxAttendance;
|
|
28
15
|
}
|
|
29
16
|
get isCapacityCompleted() {
|
|
30
|
-
return
|
|
17
|
+
return isNumber(this.maxAttendance) && this.confirmedPlayers.length >= this.maxAttendance;
|
|
31
18
|
}
|
|
32
19
|
get location() {
|
|
33
20
|
return this.data.location;
|
|
@@ -109,7 +96,7 @@ class Evento extends promoter_1.default {
|
|
|
109
96
|
return !this.isDeleted && !this.isOutDate;
|
|
110
97
|
}
|
|
111
98
|
get isDeleted() {
|
|
112
|
-
return !this.exists || !
|
|
99
|
+
return !this.exists || !isNull(this.deletedAt);
|
|
113
100
|
}
|
|
114
101
|
get stage() {
|
|
115
102
|
return this.data.stage || null;
|
|
@@ -119,19 +106,19 @@ class Evento extends promoter_1.default {
|
|
|
119
106
|
}
|
|
120
107
|
get statusByTime() {
|
|
121
108
|
if (this.isOutDate) {
|
|
122
|
-
return
|
|
109
|
+
return EventStatusByTime.Past;
|
|
123
110
|
}
|
|
124
111
|
if (this.isHappening) {
|
|
125
|
-
return
|
|
112
|
+
return EventStatusByTime.Now;
|
|
126
113
|
}
|
|
127
|
-
return
|
|
114
|
+
return EventStatusByTime.Future;
|
|
128
115
|
}
|
|
129
116
|
get repertoryList() {
|
|
130
117
|
const repertory = Object.keys(this.repertory).map((themeId) => ({
|
|
131
118
|
...this.repertory[themeId],
|
|
132
119
|
id: themeId,
|
|
133
120
|
}));
|
|
134
|
-
return
|
|
121
|
+
return orderBy(repertory, 'order', 'asc');
|
|
135
122
|
}
|
|
136
123
|
playersList({ showAll, order, asObject } = {}) {
|
|
137
124
|
const players = asObject
|
|
@@ -139,10 +126,10 @@ class Evento extends promoter_1.default {
|
|
|
139
126
|
id,
|
|
140
127
|
...player,
|
|
141
128
|
}))
|
|
142
|
-
: Object.entries(this.players).map(([id, player]) => new
|
|
129
|
+
: Object.entries(this.players).map(([id, player]) => new EventoPlayerBasic(this.id, { id, ...player }));
|
|
143
130
|
const orderedPlayers = order
|
|
144
|
-
?
|
|
145
|
-
:
|
|
131
|
+
? sortByMatch(players, 'mainInstrument', order)
|
|
132
|
+
: orderByMusicStyle(players, 'mainInstrument', this.promoterInfo.musicStyle);
|
|
146
133
|
if (showAll)
|
|
147
134
|
return orderedPlayers;
|
|
148
135
|
return orderedPlayers.filter((player) => player.selected !== false);
|
|
@@ -169,7 +156,7 @@ class Evento extends promoter_1.default {
|
|
|
169
156
|
return this.rollCalledAt !== null;
|
|
170
157
|
}
|
|
171
158
|
get isActiveRollCall() {
|
|
172
|
-
return
|
|
159
|
+
return isPast(addHours(this.datetime.toDate(), -1));
|
|
173
160
|
}
|
|
174
161
|
get templateId() {
|
|
175
162
|
return this.data.templateId || null;
|
|
@@ -177,23 +164,30 @@ class Evento extends promoter_1.default {
|
|
|
177
164
|
get repeat() {
|
|
178
165
|
return this.data.repeat || null;
|
|
179
166
|
}
|
|
167
|
+
isPlayer = (userId) => {
|
|
168
|
+
return this.playerIds.includes(userId);
|
|
169
|
+
};
|
|
170
|
+
getPlayer = (userId) => {
|
|
171
|
+
return userId in this.players
|
|
172
|
+
? new EventoPlayerBasic(this.id, { id: userId, ...this.players[userId] })
|
|
173
|
+
: null;
|
|
174
|
+
};
|
|
180
175
|
get responseDeadline() {
|
|
181
176
|
return (this.data.responseDeadline || {
|
|
182
|
-
option:
|
|
177
|
+
option: EventResponseDeadlineOptions.BeforeEvent,
|
|
183
178
|
customAt: null,
|
|
184
179
|
});
|
|
185
180
|
}
|
|
186
181
|
get isSelectionMode() {
|
|
187
|
-
return !
|
|
182
|
+
return !isNull(this.selectionMode);
|
|
188
183
|
}
|
|
189
184
|
get selectionModeClosedAt() {
|
|
190
185
|
return this.data.selectionModeClosedAt || null;
|
|
191
186
|
}
|
|
192
187
|
get isSelectionModeClosed() {
|
|
193
|
-
return (!
|
|
188
|
+
return (!isNull(this.selectionModeClosedAt) && this.selectionMode === EventSelectionMode.Closed);
|
|
194
189
|
}
|
|
195
190
|
get isSelectionModeOpen() {
|
|
196
|
-
return
|
|
191
|
+
return isNull(this.selectionModeClosedAt) && this.selectionMode === EventSelectionMode.Open;
|
|
197
192
|
}
|
|
198
193
|
}
|
|
199
|
-
exports.default = Evento;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { DocumentReference } from '@google-cloud/firestore';
|
|
1
2
|
import { LanguagesTypes } from '../../lang';
|
|
2
|
-
import {
|
|
3
|
+
import { DocumentModel } from '../Model';
|
|
3
4
|
import EventoBasic from './basic';
|
|
4
5
|
import { EventPromoterData } from './types';
|
|
5
6
|
export default class EventoPromoter<D> extends EventoBasic<EventPromoterData & D> {
|
|
6
|
-
constructor(doc:
|
|
7
|
+
constructor(doc: DocumentModel, lang: LanguagesTypes);
|
|
7
8
|
get promoter(): DocumentReference;
|
|
8
9
|
get groupId(): string;
|
|
9
10
|
get photoURL(): string;
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const basic_1 = __importDefault(require("./basic"));
|
|
7
|
-
class EventoPromoter extends basic_1.default {
|
|
1
|
+
import EventoBasic from './basic';
|
|
2
|
+
export default class EventoPromoter extends EventoBasic {
|
|
8
3
|
constructor(doc, lang) {
|
|
9
4
|
super(doc, lang);
|
|
10
5
|
}
|
|
@@ -21,4 +16,3 @@ class EventoPromoter extends basic_1.default {
|
|
|
21
16
|
return this.data.promoterInfo;
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
|
-
exports.default = EventoPromoter;
|
package/models/Evento/tiny.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export default class EventoTiny {
|
|
|
10
10
|
get type(): EventType;
|
|
11
11
|
get isPractice(): boolean;
|
|
12
12
|
get isPerformance(): boolean;
|
|
13
|
-
get datetime():
|
|
13
|
+
get datetime(): FirebaseFirestore.Timestamp;
|
|
14
14
|
get timezone(): string;
|
|
15
15
|
}
|
package/models/Evento/tiny.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { getTranslation } from '../../lang';
|
|
2
|
+
import { EventType } from './types';
|
|
3
|
+
export default class EventoTiny {
|
|
4
|
+
lang;
|
|
5
|
+
data;
|
|
6
|
+
id;
|
|
6
7
|
constructor(id, data, lang) {
|
|
7
8
|
this.id = id;
|
|
8
9
|
this.data = data;
|
|
@@ -15,16 +16,16 @@ class EventoTiny {
|
|
|
15
16
|
if (this.displayName) {
|
|
16
17
|
return this.displayName;
|
|
17
18
|
}
|
|
18
|
-
return (
|
|
19
|
+
return (getTranslation(this.type, this.lang) || getTranslation('event', this.lang) || this.type);
|
|
19
20
|
}
|
|
20
21
|
get type() {
|
|
21
22
|
return this.data.type;
|
|
22
23
|
}
|
|
23
24
|
get isPractice() {
|
|
24
|
-
return this.type ===
|
|
25
|
+
return this.type === EventType.Practice;
|
|
25
26
|
}
|
|
26
27
|
get isPerformance() {
|
|
27
|
-
return this.type ===
|
|
28
|
+
return this.type === EventType.Performance;
|
|
28
29
|
}
|
|
29
30
|
get datetime() {
|
|
30
31
|
return this.data.datetime;
|
|
@@ -33,4 +34,3 @@ class EventoTiny {
|
|
|
33
34
|
return this.data.timezone || 'Europe/Madrid';
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
|
-
exports.default = EventoTiny;
|
package/models/Evento/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DocumentReference, GeoPoint, Timestamp } from '@google-cloud/firestore';
|
|
1
2
|
import { Descendant } from '../../helpers/slate';
|
|
2
|
-
import { DocumentReference, GeoPoint, Timestamp } from '../../types/firestore';
|
|
3
3
|
import { StageTemplate } from '../Group/StageTemplate/types';
|
|
4
4
|
import { GroupBasicData } from '../Group/types';
|
|
5
5
|
import { PlayerBasicData } from '../Player/types';
|
package/models/Evento/types.js
CHANGED
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EventSelectionMode = exports.EventStatusByTime = exports.EventRepeatPeriod = exports.EventType = exports.EventFiles = exports.EventCreatedOn = exports.EventResponseDeadlineOptions = void 0;
|
|
4
|
-
var EventResponseDeadlineOptions;
|
|
1
|
+
export var EventResponseDeadlineOptions;
|
|
5
2
|
(function (EventResponseDeadlineOptions) {
|
|
6
3
|
EventResponseDeadlineOptions["BeforeEvent"] = "BeforeEvent";
|
|
7
4
|
EventResponseDeadlineOptions["OneHourBefore"] = "OneHourBefore";
|
|
8
5
|
EventResponseDeadlineOptions["OneDayBefore"] = "OneDayBefore";
|
|
9
6
|
EventResponseDeadlineOptions["OneWeekBefore"] = "OneWeekBefore";
|
|
10
7
|
EventResponseDeadlineOptions["Custom"] = "Custom";
|
|
11
|
-
})(EventResponseDeadlineOptions
|
|
12
|
-
var EventCreatedOn;
|
|
8
|
+
})(EventResponseDeadlineOptions || (EventResponseDeadlineOptions = {}));
|
|
9
|
+
export var EventCreatedOn;
|
|
13
10
|
(function (EventCreatedOn) {
|
|
14
11
|
EventCreatedOn["App"] = "app";
|
|
15
12
|
EventCreatedOn["Dashboard"] = "dashboard";
|
|
16
13
|
EventCreatedOn["Auth"] = "auth";
|
|
17
|
-
})(EventCreatedOn
|
|
18
|
-
var EventFiles;
|
|
14
|
+
})(EventCreatedOn || (EventCreatedOn = {}));
|
|
15
|
+
export var EventFiles;
|
|
19
16
|
(function (EventFiles) {
|
|
20
17
|
EventFiles["StageThumbnail"] = "stageThumbnail.png";
|
|
21
18
|
EventFiles["StagePDF"] = "stage.pdf";
|
|
22
19
|
EventFiles["Cover"] = "cover.jpeg";
|
|
23
|
-
})(EventFiles
|
|
24
|
-
var EventType;
|
|
20
|
+
})(EventFiles || (EventFiles = {}));
|
|
21
|
+
export var EventType;
|
|
25
22
|
(function (EventType) {
|
|
26
23
|
EventType["Practice"] = "practice";
|
|
27
24
|
EventType["Performance"] = "performance";
|
|
28
|
-
})(EventType
|
|
29
|
-
var EventRepeatPeriod;
|
|
25
|
+
})(EventType || (EventType = {}));
|
|
26
|
+
export var EventRepeatPeriod;
|
|
30
27
|
(function (EventRepeatPeriod) {
|
|
31
28
|
EventRepeatPeriod["None"] = "none";
|
|
32
29
|
EventRepeatPeriod["Weekly"] = "weekly";
|
|
33
30
|
EventRepeatPeriod["Biweekly"] = "biweekly";
|
|
34
31
|
EventRepeatPeriod["Monthly"] = "monthly";
|
|
35
|
-
})(EventRepeatPeriod
|
|
32
|
+
})(EventRepeatPeriod || (EventRepeatPeriod = {}));
|
|
36
33
|
// Se usa en la cabecera de la vista de evento de la app
|
|
37
|
-
var EventStatusByTime;
|
|
34
|
+
export var EventStatusByTime;
|
|
38
35
|
(function (EventStatusByTime) {
|
|
39
36
|
EventStatusByTime["Future"] = "future";
|
|
40
37
|
EventStatusByTime["Now"] = "now";
|
|
41
38
|
EventStatusByTime["Past"] = "past";
|
|
42
|
-
})(EventStatusByTime
|
|
43
|
-
var EventSelectionMode;
|
|
39
|
+
})(EventStatusByTime || (EventStatusByTime = {}));
|
|
40
|
+
export var EventSelectionMode;
|
|
44
41
|
(function (EventSelectionMode) {
|
|
45
42
|
EventSelectionMode["Open"] = "open";
|
|
46
43
|
EventSelectionMode["Closed"] = "closed";
|
|
47
|
-
})(EventSelectionMode
|
|
44
|
+
})(EventSelectionMode || (EventSelectionMode = {}));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DocumentModel } from '../../Model';
|
|
2
2
|
import PartnershipBasic from '../../Partnership/basic';
|
|
3
3
|
import { FederationPartnershipData } from './types';
|
|
4
4
|
export default class FederationPartnership extends PartnershipBasic<FederationPartnershipData> {
|
|
5
|
-
constructor(doc:
|
|
6
|
-
get connectedAt():
|
|
5
|
+
constructor(doc: DocumentModel);
|
|
6
|
+
get connectedAt(): FirebaseFirestore.Timestamp | null;
|
|
7
7
|
get federationId(): string;
|
|
8
8
|
get isConnected(): boolean;
|
|
9
9
|
get memberCount(): number;
|
|
@@ -13,5 +13,5 @@ export default class FederationPartnership extends PartnershipBasic<FederationPa
|
|
|
13
13
|
get hasSchool(): boolean;
|
|
14
14
|
get teacherCount(): number;
|
|
15
15
|
get studentCount(): number;
|
|
16
|
-
get updatedAt():
|
|
16
|
+
get updatedAt(): FirebaseFirestore.Timestamp | null;
|
|
17
17
|
}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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("../../Partnership/basic"));
|
|
8
|
-
class FederationPartnership extends basic_1.default {
|
|
1
|
+
import PartnershipBasic from '../../Partnership/basic';
|
|
2
|
+
export default class FederationPartnership extends PartnershipBasic {
|
|
9
3
|
constructor(doc) {
|
|
10
4
|
super(doc);
|
|
11
5
|
}
|
|
@@ -13,7 +7,7 @@ class FederationPartnership extends basic_1.default {
|
|
|
13
7
|
return this.data.connectedAt || null;
|
|
14
8
|
}
|
|
15
9
|
get federationId() {
|
|
16
|
-
return
|
|
10
|
+
return this.ref.path.split('/').at(-3);
|
|
17
11
|
}
|
|
18
12
|
get isConnected() {
|
|
19
13
|
return this.connectedAt !== null;
|
|
@@ -43,4 +37,3 @@ class FederationPartnership extends basic_1.default {
|
|
|
43
37
|
return this.data.updatedAt || null;
|
|
44
38
|
}
|
|
45
39
|
}
|
|
46
|
-
exports.default = FederationPartnership;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Timestamp } from '
|
|
1
|
+
import { Timestamp } from '@google-cloud/firestore';
|
|
2
2
|
import { PartnershipBasicData } from '../../Partnership/types';
|
|
3
3
|
export interface FederationPartnershipData extends PartnershipBasicData {
|
|
4
4
|
connectedAt: Timestamp | null;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { AdminItemStatus } from '../../helpers/types';
|
|
2
|
-
import {
|
|
3
|
-
import Model from '../Model';
|
|
2
|
+
import Model, { DocumentModel } from '../Model';
|
|
4
3
|
import { FederationData } from './types';
|
|
5
4
|
export default class Federation extends Model<FederationData> {
|
|
6
|
-
constructor(doc:
|
|
5
|
+
constructor(doc: DocumentModel);
|
|
7
6
|
get displayName(): string;
|
|
8
7
|
get email(): string | null;
|
|
9
8
|
get partnershipIds(): string[];
|
|
@@ -17,9 +16,9 @@ export default class Federation extends Model<FederationData> {
|
|
|
17
16
|
get address(): import("../Partner/types").BasicAddressData | null;
|
|
18
17
|
get displayAddress(): string;
|
|
19
18
|
get partnershipConnectedIds(): string[];
|
|
20
|
-
get createdAt():
|
|
21
|
-
get createdBy():
|
|
22
|
-
get deletedAt():
|
|
19
|
+
get createdAt(): FirebaseFirestore.Timestamp;
|
|
20
|
+
get createdBy(): FirebaseFirestore.DocumentReference<FirebaseFirestore.DocumentData, FirebaseFirestore.DocumentData>;
|
|
21
|
+
get deletedAt(): FirebaseFirestore.Timestamp | null;
|
|
23
22
|
get isActive(): boolean;
|
|
24
23
|
get glissandooAdminUrl(): string;
|
|
25
24
|
get besm(): boolean;
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const lodash_1 = require("lodash");
|
|
7
|
-
const collections_1 = require("../../helpers/collections");
|
|
8
|
-
const glissandooAdmin_1 = require("../../helpers/glissandooAdmin");
|
|
9
|
-
const Model_1 = __importDefault(require("../Model"));
|
|
10
|
-
class Federation extends Model_1.default {
|
|
1
|
+
import { isString } from 'lodash';
|
|
2
|
+
import { CollectionNames } from '../../helpers/collections';
|
|
3
|
+
import { getGlissandooAdminEntityURL } from '../../helpers/glissandooAdmin';
|
|
4
|
+
import Model from '../Model';
|
|
5
|
+
export default class Federation extends Model {
|
|
11
6
|
constructor(doc) {
|
|
12
7
|
super(doc);
|
|
13
8
|
}
|
|
@@ -47,7 +42,7 @@ class Federation extends Model_1.default {
|
|
|
47
42
|
get displayAddress() {
|
|
48
43
|
const { street, city, postalCode, province, country } = this.address || {};
|
|
49
44
|
const fields = [street, postalCode, city, province, country];
|
|
50
|
-
return fields.filter((field) =>
|
|
45
|
+
return fields.filter((field) => isString(field) && field.trim() !== '').join(', ');
|
|
51
46
|
}
|
|
52
47
|
get partnershipConnectedIds() {
|
|
53
48
|
return this.data.partnershipConnectedIds || [];
|
|
@@ -65,10 +60,9 @@ class Federation extends Model_1.default {
|
|
|
65
60
|
return !this.deletedAt && this.exists;
|
|
66
61
|
}
|
|
67
62
|
get glissandooAdminUrl() {
|
|
68
|
-
return
|
|
63
|
+
return getGlissandooAdminEntityURL(CollectionNames.Federation, this.id);
|
|
69
64
|
}
|
|
70
65
|
get besm() {
|
|
71
66
|
return this.data.besm || false;
|
|
72
67
|
}
|
|
73
68
|
}
|
|
74
|
-
exports.default = Federation;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DocumentReference, Timestamp } from '@google-cloud/firestore';
|
|
1
2
|
import { AdminItem } from '../../helpers/types';
|
|
2
|
-
import { DocumentReference, Timestamp } from '../../types/firestore';
|
|
3
3
|
import { BasicAddressData } from '../Partner/types';
|
|
4
4
|
export interface FederationData {
|
|
5
5
|
displayName: string;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Model from '../../Model';
|
|
1
|
+
import Model, { DocumentModel } from '../../Model';
|
|
3
2
|
import { GroupAnalyticsData } from './types';
|
|
4
3
|
export default class GroupAnalytics extends Model<GroupAnalyticsData> {
|
|
5
|
-
constructor(doc:
|
|
4
|
+
constructor(doc: DocumentModel);
|
|
6
5
|
get groupId(): string;
|
|
7
6
|
get satisfactionIndex(): number;
|
|
8
7
|
get satisfactionIndexElements(): Record<import("./types").SatisfactionIndexElements, import("./types").SITypes>;
|
|
9
|
-
get createdAt():
|
|
8
|
+
get createdAt(): FirebaseFirestore.Timestamp;
|
|
10
9
|
get weekDate(): Date;
|
|
11
10
|
}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 get_1 = __importDefault(require("lodash/get"));
|
|
8
|
-
const Model_1 = __importDefault(require("../../Model"));
|
|
1
|
+
import { parse } from 'date-fns';
|
|
2
|
+
import Model from '../../Model';
|
|
9
3
|
// @deprecate -> usar Counter/Group/Analytics
|
|
10
|
-
class GroupAnalytics extends
|
|
4
|
+
export default class GroupAnalytics extends Model {
|
|
11
5
|
constructor(doc) {
|
|
12
6
|
super(doc);
|
|
13
7
|
}
|
|
14
8
|
get groupId() {
|
|
15
|
-
return
|
|
9
|
+
return this.ref.path.split('/').at(-3);
|
|
16
10
|
}
|
|
17
11
|
get satisfactionIndex() {
|
|
18
12
|
return this.data.satisfactionIndex || 0;
|
|
@@ -24,7 +18,6 @@ class GroupAnalytics extends Model_1.default {
|
|
|
24
18
|
return this.data.createdAt;
|
|
25
19
|
}
|
|
26
20
|
get weekDate() {
|
|
27
|
-
return
|
|
21
|
+
return parse(this.id, 'yyyyMMdd', new Date());
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
|
-
exports.default = GroupAnalytics;
|