@glissandoo/lib 1.32.0 → 1.32.1

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.
@@ -1,4 +1,4 @@
1
- import { DocumentReference, DocumentSnapshot } from '@google-cloud/firestore';
1
+ import { DocumentReference, DocumentSnapshot, Timestamp } from '@google-cloud/firestore';
2
2
  import { PlansGroup } from '../../helpers/plans';
3
3
  import { LanguagesTypes } from '../../lang';
4
4
  import GroupBasic from './basic';
@@ -17,8 +17,8 @@ export default class Group extends GroupBasic<GroupData> {
17
17
  get invitationEmails(): string[];
18
18
  get shortDynamicLink(): string;
19
19
  get admins(): string[];
20
- get createdAt(): FirebaseFirestore.Timestamp;
21
- get deletedAt(): FirebaseFirestore.Timestamp | null;
20
+ get createdAt(): Timestamp;
21
+ get deletedAt(): Timestamp | null;
22
22
  get repertoryCount(): number;
23
23
  get eventCount(): Record<import("../Evento/types").EventType, number>;
24
24
  get performanceCount(): number;
@@ -60,10 +60,11 @@ export default class Group extends GroupBasic<GroupData> {
60
60
  get stageTemplatesList(): (import("../../helpers/types").StageTemplate & {
61
61
  id: string;
62
62
  })[];
63
- get firstAnswerAt(): FirebaseFirestore.Timestamp | null;
63
+ get firstAnswerAt(): Timestamp | null;
64
64
  get repertoireTags(): Record<string, import("./types").GroupRepertoireTag>;
65
65
  get repertoireTagsList(): (import("./types").GroupRepertoireTag & {
66
66
  id: string;
67
67
  })[];
68
68
  getRepertoireTagName(id: string): string | null;
69
+ get trialEndAt(): Timestamp;
69
70
  }
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const firestore_1 = require("@google-cloud/firestore");
6
7
  const date_fns_1 = require("date-fns");
7
8
  const lodash_1 = require("lodash");
8
9
  const orders_1 = require("../../helpers/musicStyles/orders");
@@ -148,7 +149,7 @@ class Group extends basic_1.default {
148
149
  return this.data.metadata || {};
149
150
  }
150
151
  get isExpiredTrial() {
151
- const isOutDateTrial = (0, date_fns_1.isBefore)(this.createdAt.toDate(), (0, date_fns_1.subMonths)(new Date(), 1));
152
+ const isOutDateTrial = (0, date_fns_1.isPast)(this.trialEndAt.toDate());
152
153
  const members = this.activePlayers.length;
153
154
  const isAboveMembersLimitPlanFree = members > plans_1.membersPerPlan[plans_1.PlansGroup.Piano];
154
155
  return this.status !== types_1.GroupStatus.Premium && isOutDateTrial && isAboveMembersLimitPlanFree;
@@ -174,5 +175,8 @@ class Group extends basic_1.default {
174
175
  const tag = this.repertoireTags[id];
175
176
  return tag.default ? (0, lang_1.getTranslation)(tag.title, this.lang) : tag.title;
176
177
  }
178
+ get trialEndAt() {
179
+ return this.data.trialEndAt || firestore_1.Timestamp.fromDate((0, date_fns_1.addMonths)(this.createdAt.toDate(), 1));
180
+ }
177
181
  }
178
182
  exports.default = Group;
@@ -110,6 +110,7 @@ export interface GroupData extends GroupBasicData {
110
110
  metadata: Record<string, string>;
111
111
  firstAnswerAt: Timestamp | null;
112
112
  repertoireTags: Record<string, GroupRepertoireTag>;
113
+ trialEndAt: Timestamp | null;
113
114
  readonly owner: DocumentReference;
114
115
  readonly createdAt: Timestamp;
115
116
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glissandoo/lib",
3
- "version": "1.32.0",
3
+ "version": "1.32.1",
4
4
  "description": "Glissandoo library js",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",