@glissandoo/lib 1.104.12 → 1.104.14

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.
@@ -7,6 +7,7 @@ export declare enum CollectionNames {
7
7
  User = "user",
8
8
  UserGroups = "groups",
9
9
  UserNotifications = "notifications",
10
+ UserOfferAlarms = "offerAlarms",
10
11
  Counters = "database",
11
12
  Records = "records",
12
13
  Event = "event",
@@ -11,6 +11,7 @@ var CollectionNames;
11
11
  CollectionNames["User"] = "user";
12
12
  CollectionNames["UserGroups"] = "groups";
13
13
  CollectionNames["UserNotifications"] = "notifications";
14
+ CollectionNames["UserOfferAlarms"] = "offerAlarms";
14
15
  CollectionNames["Counters"] = "database";
15
16
  CollectionNames["Records"] = "records";
16
17
  CollectionNames["Event"] = "event";
package/helpers/utils.js CHANGED
@@ -10,7 +10,10 @@ const sortByMatch = (list, field, order) => {
10
10
  const [match, noMatch] = (0, lodash_1.partition)(list, (item) => order.includes((0, get_1.default)(item, field)));
11
11
  const sortedmatch = (0, lodash_1.sortBy)(match, [
12
12
  (player) => order.indexOf((0, get_1.default)(player, field)),
13
- 'displayName',
13
+ (player) => {
14
+ const displayName = (0, get_1.default)(player, 'displayName');
15
+ return typeof displayName === 'string' ? displayName.toLowerCase() : '';
16
+ },
14
17
  ]);
15
18
  const sortedNoMatch = (0, lodash_1.orderBy)(noMatch, field, 'asc');
16
19
  return [...sortedmatch, ...sortedNoMatch];
@@ -73,7 +73,9 @@ class Offer extends lang_2.default {
73
73
  return this.data.timezone || 'Europe/Madrid';
74
74
  }
75
75
  get isResponseAllowed() {
76
- return (!this.isSelectionClosed && (this.deadlineAt ? (0, date_fns_1.isFuture)(this.deadlineAt.toDate()) : true));
76
+ return (this.isActive &&
77
+ !this.isSelectionClosed &&
78
+ (this.deadlineAt ? (0, date_fns_1.isFuture)(this.deadlineAt.toDate()) : true));
77
79
  }
78
80
  get selectionClosedAt() {
79
81
  return this.data.selectionClosedAt || null;
@@ -0,0 +1,15 @@
1
+ import { LanguagesTypes } from '../../../lang';
2
+ import Model, { DocumentModel } from '../../Model';
3
+ import { UserOfferAlarmData } from './types';
4
+ export default class UserOfferAlarm extends Model<UserOfferAlarmData> {
5
+ private lang;
6
+ constructor(doc: DocumentModel, lang?: LanguagesTypes);
7
+ get userId(): string;
8
+ get locality(): string | null;
9
+ get location(): FirebaseFirestore.GeoPoint;
10
+ get country(): string | null;
11
+ get instrument(): import("../../../helpers/instruments").DefaultInstrumentId | null;
12
+ get musicStyle(): string | null;
13
+ get distance(): number | null;
14
+ get createdAt(): FirebaseFirestore.Timestamp;
15
+ }
@@ -0,0 +1,39 @@
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 utils_1 = require("../../../helpers/utils");
7
+ const lang_1 = require("../../../lang");
8
+ const Model_1 = __importDefault(require("../../Model"));
9
+ class UserOfferAlarm extends Model_1.default {
10
+ constructor(doc, lang = lang_1.defaultLocale) {
11
+ super(doc);
12
+ this.lang = lang;
13
+ }
14
+ get userId() {
15
+ return (0, utils_1.at)(this.ref.path.split('/'), 1) || '';
16
+ }
17
+ get locality() {
18
+ return this.data.locality || null;
19
+ }
20
+ get location() {
21
+ return this.data.location || null;
22
+ }
23
+ get country() {
24
+ return this.data.country || null;
25
+ }
26
+ get instrument() {
27
+ return this.data.instrument || null;
28
+ }
29
+ get musicStyle() {
30
+ return this.data.musicStyle || null;
31
+ }
32
+ get distance() {
33
+ return this.data.distance || null;
34
+ }
35
+ get createdAt() {
36
+ return this.data.createdAt;
37
+ }
38
+ }
39
+ exports.default = UserOfferAlarm;
@@ -0,0 +1,11 @@
1
+ import { GeoPoint, Timestamp } from '@google-cloud/firestore';
2
+ import { DefaultInstrumentId } from '../../../helpers/instruments';
3
+ export interface UserOfferAlarmData {
4
+ locality: string;
5
+ location: GeoPoint;
6
+ country: string;
7
+ distance: number;
8
+ instrument: DefaultInstrumentId | null;
9
+ musicStyle: string | null;
10
+ readonly createdAt: Timestamp;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -35,6 +35,15 @@ export default class User extends UserExtended<UserData> {
35
35
  default_events_filter: UserEventsFilter;
36
36
  repertoire_order_by: RepertoireFilterBy;
37
37
  repertoire_order_direction: RepertoireFilterDirection;
38
+ offers_filter_locality: string | null;
39
+ offers_filter_location: {
40
+ latitude: number;
41
+ longitude: number;
42
+ } | null;
43
+ offers_filter_country: string | null;
44
+ offers_filter_distance: number;
45
+ offers_filter_instrument: import("../../helpers/instruments").InstrumentId | null;
46
+ offers_filter_music_style: import("../../helpers/musicStyles").MusicStyleId | null;
38
47
  };
39
48
  get dashboardConfig(): {
40
49
  default_group_id: string | null;
@@ -55,6 +64,15 @@ export default class User extends UserExtended<UserData> {
55
64
  default_events_filter: UserEventsFilter;
56
65
  repertoire_order_by: RepertoireFilterBy;
57
66
  repertoire_order_direction: RepertoireFilterDirection;
67
+ offers_filter_locality: string | null;
68
+ offers_filter_location: {
69
+ latitude: number;
70
+ longitude: number;
71
+ } | null;
72
+ offers_filter_country: string | null;
73
+ offers_filter_distance: number;
74
+ offers_filter_instrument: import("../../helpers/instruments").InstrumentId | null;
75
+ offers_filter_music_style: import("../../helpers/musicStyles").MusicStyleId | null;
58
76
  }[T];
59
77
  getNotificationSetting(key: UserNotificationSettings): boolean;
60
78
  getNotificationByGroup(groupId: string): number;
@@ -90,52 +90,47 @@ class User extends extended_1.default {
90
90
  return !this.exists || !(0, lodash_1.isNull)(this.deletedAt);
91
91
  }
92
92
  get appConfig() {
93
- const { appConfig = {
93
+ const defaultConfig = {
94
94
  [types_2.UserAppConfig.DefaultGroupId]: null,
95
95
  [types_2.UserAppConfig.DefaultEventsFilter]: types_2.UserEventsFilter.Trimonth,
96
96
  [types_2.UserAppConfig.RepertoireOrderBy]: types_1.RepertoireFilterBy.CreatedAt,
97
97
  [types_2.UserAppConfig.RepertoireOrderDirection]: types_1.RepertoireFilterDirection.Desc,
98
- }, } = this.data;
99
- return {
100
- [types_2.UserAppConfig.DefaultGroupId]: types_2.UserAppConfig.DefaultGroupId in appConfig
101
- ? appConfig[types_2.UserAppConfig.DefaultGroupId]
102
- : null,
103
- [types_2.UserAppConfig.DefaultEventsFilter]: types_2.UserAppConfig.DefaultEventsFilter in appConfig
104
- ? appConfig[types_2.UserAppConfig.DefaultEventsFilter]
105
- : types_2.UserEventsFilter.Trimonth,
106
- [types_2.UserAppConfig.RepertoireOrderBy]: types_2.UserAppConfig.RepertoireOrderBy in appConfig
107
- ? appConfig[types_2.UserAppConfig.RepertoireOrderBy]
108
- : types_1.RepertoireFilterBy.CreatedAt,
109
- [types_2.UserAppConfig.RepertoireOrderDirection]: types_2.UserAppConfig.RepertoireOrderDirection in appConfig
110
- ? appConfig[types_2.UserAppConfig.RepertoireOrderDirection]
111
- : types_1.RepertoireFilterDirection.Desc,
98
+ [types_2.UserAppConfig.OffersFilterLocality]: null,
99
+ [types_2.UserAppConfig.OffersFilterLocation]: null,
100
+ [types_2.UserAppConfig.OffersFilterDistance]: 1000,
101
+ [types_2.UserAppConfig.OffersFilterInstrument]: null,
102
+ [types_2.UserAppConfig.OffersFilterMusicStyle]: null,
103
+ [types_2.UserAppConfig.OffersFilterCountry]: null,
112
104
  };
105
+ const { appConfig = defaultConfig } = this.data;
106
+ const values = Object.values(types_2.UserAppConfig).reduce((acc, key) => {
107
+ if (key in acc)
108
+ return acc;
109
+ return {
110
+ ...acc,
111
+ [key]: defaultConfig[key],
112
+ };
113
+ }, appConfig);
114
+ return values;
113
115
  }
114
116
  get dashboardConfig() {
115
- const { dashboardConfig = {
117
+ const defaultConfig = {
116
118
  [types_2.UserDashboardConfig.DefaultGroupId]: null,
117
119
  [types_2.UserDashboardConfig.DefaultPartnershipId]: null,
118
120
  [types_2.UserDashboardConfig.RepertoireOrderBy]: types_1.RepertoireFilterBy.CreatedAt,
119
121
  [types_2.UserDashboardConfig.RepertoireOrderDirection]: types_1.RepertoireFilterDirection.Desc,
120
122
  [types_2.UserDashboardConfig.EventsType]: null,
121
- }, } = this.data;
122
- return {
123
- [types_2.UserDashboardConfig.DefaultGroupId]: types_2.UserDashboardConfig.DefaultGroupId in dashboardConfig
124
- ? dashboardConfig[types_2.UserDashboardConfig.DefaultGroupId]
125
- : null,
126
- [types_2.UserDashboardConfig.DefaultPartnershipId]: types_2.UserDashboardConfig.DefaultPartnershipId in dashboardConfig
127
- ? dashboardConfig[types_2.UserDashboardConfig.DefaultPartnershipId]
128
- : null,
129
- [types_2.UserDashboardConfig.RepertoireOrderBy]: types_2.UserDashboardConfig.RepertoireOrderBy in dashboardConfig
130
- ? dashboardConfig[types_2.UserDashboardConfig.RepertoireOrderBy]
131
- : types_1.RepertoireFilterBy.CreatedAt,
132
- [types_2.UserDashboardConfig.RepertoireOrderDirection]: types_2.UserDashboardConfig.RepertoireOrderDirection in dashboardConfig
133
- ? dashboardConfig[types_2.UserDashboardConfig.RepertoireOrderDirection]
134
- : types_1.RepertoireFilterDirection.Desc,
135
- [types_2.UserDashboardConfig.EventsType]: types_2.UserDashboardConfig.EventsType in dashboardConfig
136
- ? dashboardConfig[types_2.UserDashboardConfig.EventsType]
137
- : null,
138
123
  };
124
+ const { dashboardConfig = defaultConfig } = this.data;
125
+ const values = Object.values(types_2.UserDashboardConfig).reduce((acc, key) => {
126
+ if (key in acc)
127
+ return acc;
128
+ return {
129
+ ...acc,
130
+ [key]: defaultConfig[key],
131
+ };
132
+ }, dashboardConfig);
133
+ return values;
139
134
  }
140
135
  getDashboardConfig(value) {
141
136
  return this.dashboardConfig[value];
@@ -1,4 +1,6 @@
1
1
  import { GeoPoint, Timestamp } from '@google-cloud/firestore';
2
+ import { InstrumentId } from '../../helpers/instruments';
3
+ import { MusicStyleId } from '../../helpers/musicStyles';
2
4
  import { LanguagesTypes } from '../../lang';
3
5
  import { EventType } from '../Evento/types';
4
6
  import { RepertoireFilterBy, RepertoireFilterDirection } from '../Repertory/types';
@@ -14,7 +16,13 @@ export declare enum UserAppConfig {
14
16
  DefaultGroupId = "default_group_id",
15
17
  DefaultEventsFilter = "default_events_filter",
16
18
  RepertoireOrderBy = "repertoire_order_by",
17
- RepertoireOrderDirection = "repertoire_order_direction"
19
+ RepertoireOrderDirection = "repertoire_order_direction",
20
+ OffersFilterLocality = "offers_filter_locality",
21
+ OffersFilterLocation = "offers_filter_location",
22
+ OffersFilterDistance = "offers_filter_distance",
23
+ OffersFilterCountry = "offers_filter_country",
24
+ OffersFilterInstrument = "offers_filter_instrument",
25
+ OffersFilterMusicStyle = "offers_filter_music_style"
18
26
  }
19
27
  export declare enum UserDashboardConfig {
20
28
  DefaultGroupId = "default_group_id",
@@ -97,6 +105,15 @@ export interface UserData extends UserExtendedData {
97
105
  [UserAppConfig.DefaultEventsFilter]: UserEventsFilter;
98
106
  [UserAppConfig.RepertoireOrderBy]: RepertoireFilterBy;
99
107
  [UserAppConfig.RepertoireOrderDirection]: RepertoireFilterDirection;
108
+ [UserAppConfig.OffersFilterLocality]: string | null;
109
+ [UserAppConfig.OffersFilterLocation]: {
110
+ latitude: number;
111
+ longitude: number;
112
+ } | null;
113
+ [UserAppConfig.OffersFilterCountry]: string | null;
114
+ [UserAppConfig.OffersFilterDistance]: number;
115
+ [UserAppConfig.OffersFilterInstrument]: InstrumentId | null;
116
+ [UserAppConfig.OffersFilterMusicStyle]: MusicStyleId | null;
100
117
  };
101
118
  analyticsEnabled: boolean;
102
119
  registerVia: UserRegisterVia;
@@ -17,6 +17,12 @@ var UserAppConfig;
17
17
  UserAppConfig["DefaultEventsFilter"] = "default_events_filter";
18
18
  UserAppConfig["RepertoireOrderBy"] = "repertoire_order_by";
19
19
  UserAppConfig["RepertoireOrderDirection"] = "repertoire_order_direction";
20
+ UserAppConfig["OffersFilterLocality"] = "offers_filter_locality";
21
+ UserAppConfig["OffersFilterLocation"] = "offers_filter_location";
22
+ UserAppConfig["OffersFilterDistance"] = "offers_filter_distance";
23
+ UserAppConfig["OffersFilterCountry"] = "offers_filter_country";
24
+ UserAppConfig["OffersFilterInstrument"] = "offers_filter_instrument";
25
+ UserAppConfig["OffersFilterMusicStyle"] = "offers_filter_music_style";
20
26
  })(UserAppConfig = exports.UserAppConfig || (exports.UserAppConfig = {}));
21
27
  var UserDashboardConfig;
22
28
  (function (UserDashboardConfig) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.104.12",
3
+ "version": "1.104.14",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",