gemcap-be-common 1.4.6 → 1.4.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemcap-be-common",
3
- "version": "1.4.6",
3
+ "version": "1.4.7",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -49,7 +49,7 @@ export declare class SignsService {
49
49
  private readonly usersService;
50
50
  constructor(lockService: LockService, loanTransactionsService: LoanTransactionsService, loanStatementService: LoanStatementService, usersService: UsersService);
51
51
  getAvailabilitiesSigns(bbcDateIds: string[]): Promise<IAvailabilitySignView[]>;
52
- getAvailabilitySigns(bbcDateId: string): Promise<IAvailabilitySignView>;
52
+ getAvailabilitySigns(bbcDateIds: string[]): Promise<IAvailabilitySignView[]>;
53
53
  revokeAvailability(bbcDateId: string, userId: string, userIdRevoked: string): Promise<void>;
54
54
  signAvailability(bbcDateId: string, user: IUser): Promise<IResult>;
55
55
  isBBCLocked(bbcDateId: string): Promise<boolean>;
@@ -45,32 +45,37 @@ class SignsService {
45
45
  ...sign,
46
46
  userSigned: usersMap[sign.userSignedId],
47
47
  userRevoked: usersMap[sign.userRevokedId],
48
- }))
48
+ })),
49
49
  };
50
50
  });
51
51
  }
52
- async getAvailabilitySigns(bbcDateId) {
53
- const availabilitiesSigns = await this.getAvailabilitiesSigns([bbcDateId]);
54
- if (!availabilitiesSigns.length) {
52
+ async getAvailabilitySigns(bbcDateIds) {
53
+ const availabilitiesSigns = await this.getAvailabilitiesSigns(bbcDateIds);
54
+ const availabilitiesSignsFull = bbcDateIds.map((bbcDateId) => {
55
+ const foundAvailabilitySigns = availabilitiesSigns.find((signs) => signs.bbcDateId.toString() === bbcDateId);
56
+ if (foundAvailabilitySigns) {
57
+ return foundAvailabilitySigns;
58
+ }
55
59
  return {
56
60
  _id: null,
57
61
  bbcDateId: new mongoose_1.default.Types.ObjectId(bbcDateId),
58
62
  requiredSigns: AvailabilitySigns_model_1.REQUIRED_SIGNS,
59
63
  signs: [],
60
64
  };
61
- }
62
- const availabilitySigns = availabilitiesSigns[0];
63
- availabilitySigns.signs = availabilitySigns.signs.reduce((acc, userSign) => {
64
- if (!userSign.userSigned) {
65
- return acc;
66
- }
67
- userSign.userSigned = (lodash_1.default.pick(userSign.userSigned, ['_id', 'firstName', 'lastName']));
68
- if (userSign.userRevoked) {
69
- userSign.userRevoked = (lodash_1.default.pick(userSign.userRevoked, ['_id', 'firstName', 'lastName']));
70
- }
71
- return [...acc, lodash_1.default.pick(userSign, ['userSigned', 'signedAt', 'userRevoked', 'revokedAt'])];
72
- }, []);
73
- return availabilitySigns;
65
+ });
66
+ return availabilitiesSignsFull.map((availabilitySigns) => {
67
+ const signs = availabilitySigns.signs.reduce((acc, userSign) => {
68
+ if (!userSign.userSigned) {
69
+ return acc;
70
+ }
71
+ userSign.userSigned = (lodash_1.default.pick(userSign.userSigned, ['_id', 'firstName', 'lastName']));
72
+ if (userSign.userRevoked) {
73
+ userSign.userRevoked = (lodash_1.default.pick(userSign.userRevoked, ['_id', 'firstName', 'lastName']));
74
+ }
75
+ return [...acc, lodash_1.default.pick(userSign, ['userSigned', 'signedAt', 'userRevoked', 'revokedAt'])];
76
+ }, []);
77
+ return { ...availabilitySigns, signs };
78
+ });
74
79
  }
75
80
  async revokeAvailability(bbcDateId, userId, userIdRevoked) {
76
81
  const availability = await (0, availability_db_1.findAvailabilitySignsByBBCDateId)(bbcDateId);
@@ -159,7 +164,12 @@ class SignsService {
159
164
  const loanBalances = await this.loanTransactionsService.getLoanBalanceForBBCDateId(bbcDateId);
160
165
  const accruedStatement = await this.loanStatementService.calculateAccruedStatementForBBC(bbcDateId);
161
166
  console.log({ bbcDateId });
162
- await AvilabilitySignedData_model_1.AvailabilitySignedData.findOneAndUpdate({ bbcDateId }, { data: { loanBalances, accruedStatement } }, { upsert: true });
167
+ await AvilabilitySignedData_model_1.AvailabilitySignedData.findOneAndUpdate({ bbcDateId }, {
168
+ data: {
169
+ loanBalances,
170
+ accruedStatement,
171
+ },
172
+ }, { upsert: true });
163
173
  }
164
174
  async clearAvailabilityStoredData(bbcDateId) {
165
175
  await AvilabilitySignedData_model_1.AvailabilitySignedData.findOneAndDelete({ bbcDateId });
@@ -63,33 +63,38 @@ export class SignsService {
63
63
  ...sign,
64
64
  userSigned: usersMap[sign.userSignedId],
65
65
  userRevoked: usersMap[sign.userRevokedId],
66
- }))
67
- }
66
+ })),
67
+ };
68
68
  }) as unknown as IAvailabilitySignView[];
69
69
  }
70
70
 
71
- async getAvailabilitySigns(bbcDateId: string): Promise<IAvailabilitySignView> {
72
- const availabilitiesSigns = await this.getAvailabilitiesSigns([bbcDateId]);
73
- if (!availabilitiesSigns.length) {
71
+ async getAvailabilitySigns(bbcDateIds: string[]): Promise<IAvailabilitySignView[]> {
72
+ const availabilitiesSigns = await this.getAvailabilitiesSigns(bbcDateIds);
73
+ const availabilitiesSignsFull = bbcDateIds.map((bbcDateId) => {
74
+ const foundAvailabilitySigns = availabilitiesSigns.find((signs) => signs.bbcDateId.toString() === bbcDateId);
75
+ if (foundAvailabilitySigns) {
76
+ return foundAvailabilitySigns;
77
+ }
74
78
  return <IAvailabilitySignView>{
75
79
  _id: null,
76
80
  bbcDateId: new mongoose.Types.ObjectId(bbcDateId),
77
81
  requiredSigns: REQUIRED_SIGNS,
78
82
  signs: [],
79
83
  };
80
- }
81
- const availabilitySigns = availabilitiesSigns[0];
82
- availabilitySigns.signs = availabilitySigns.signs.reduce((acc, userSign) => {
83
- if (!userSign.userSigned) {
84
- return acc;
85
- }
86
- userSign.userSigned = (_.pick(userSign.userSigned, ['_id', 'firstName', 'lastName'])) as IUser;
87
- if (userSign.userRevoked) {
88
- userSign.userRevoked = (_.pick(userSign.userRevoked, ['_id', 'firstName', 'lastName'])) as IUser;
89
- }
90
- return [...acc, _.pick(userSign, ['userSigned', 'signedAt', 'userRevoked', 'revokedAt'])];
91
- }, []);
92
- return availabilitySigns;
84
+ });
85
+ return availabilitiesSignsFull.map((availabilitySigns) => {
86
+ const signs = availabilitySigns.signs.reduce((acc, userSign) => {
87
+ if (!userSign.userSigned) {
88
+ return acc;
89
+ }
90
+ userSign.userSigned = (_.pick(userSign.userSigned, ['_id', 'firstName', 'lastName'])) as IUser;
91
+ if (userSign.userRevoked) {
92
+ userSign.userRevoked = (_.pick(userSign.userRevoked, ['_id', 'firstName', 'lastName'])) as IUser;
93
+ }
94
+ return [...acc, _.pick(userSign, ['userSigned', 'signedAt', 'userRevoked', 'revokedAt'])];
95
+ }, []);
96
+ return { ...availabilitySigns, signs };
97
+ });
93
98
  }
94
99
 
95
100
  async revokeAvailability(bbcDateId: string, userId: string, userIdRevoked: string): Promise<void> {
@@ -184,7 +189,12 @@ export class SignsService {
184
189
  const loanBalances = await this.loanTransactionsService.getLoanBalanceForBBCDateId(bbcDateId);
185
190
  const accruedStatement = await this.loanStatementService.calculateAccruedStatementForBBC(bbcDateId);
186
191
  console.log({ bbcDateId });
187
- await AvailabilitySignedData.findOneAndUpdate({ bbcDateId }, { data: { loanBalances, accruedStatement } }, { upsert: true });
192
+ await AvailabilitySignedData.findOneAndUpdate({ bbcDateId }, {
193
+ data: {
194
+ loanBalances,
195
+ accruedStatement,
196
+ },
197
+ }, { upsert: true });
188
198
  }
189
199
 
190
200
  async clearAvailabilityStoredData(bbcDateId: string) {
@@ -229,7 +239,7 @@ export class SignsService {
229
239
 
230
240
  const availabilitiesSigns = await this.getAvailabilitiesSigns(BBCDates.map((bbcDate) => bbcDate._id.toString()));
231
241
  await Promise.all(BBCDates.slice().map(async (bbcDate) => {
232
- const foundAvailabilitySigns = availabilitiesSigns.find((aSigns) => aSigns.bbcDateId.toString() ===bbcDate._id.toString());
242
+ const foundAvailabilitySigns = availabilitiesSigns.find((aSigns) => aSigns.bbcDateId.toString() === bbcDate._id.toString());
233
243
  if (!foundAvailabilitySigns) {
234
244
  bbcDate.signStatus = ESignStatus.STARTED;
235
245
  }