@campxdev/server-shared 1.2.36 → 1.2.38

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.
Files changed (99) hide show
  1. package/dist/common/config/mongo.config.d.ts +3 -3
  2. package/dist/common/config/mongo.config.js +23 -23
  3. package/dist/common/decorators/request.decorators.d.ts +5 -5
  4. package/dist/common/decorators/request.decorators.js +36 -36
  5. package/dist/common/decorators/time-validation.decorator.d.ts +2 -2
  6. package/dist/common/decorators/time-validation.decorator.js +26 -26
  7. package/dist/common/filters/unhandled-exception.filter.d.ts +4 -4
  8. package/dist/common/filters/unhandled-exception.filter.js +37 -38
  9. package/dist/common/filters/unhandled-exception.filter.js.map +1 -1
  10. package/dist/common/guards/guard.d.ts +8 -8
  11. package/dist/common/guards/guard.js +24 -24
  12. package/dist/common/index.d.ts +10 -10
  13. package/dist/common/index.js +26 -26
  14. package/dist/common/interceptors/request.interceptor.d.ts +20 -20
  15. package/dist/common/interceptors/request.interceptor.js +142 -143
  16. package/dist/common/interceptors/request.interceptor.js.map +1 -1
  17. package/dist/common/interfaces/context.interface.d.ts +125 -125
  18. package/dist/common/interfaces/context.interface.js +2 -2
  19. package/dist/common/store/request-store.d.ts +44 -44
  20. package/dist/common/store/request-store.js +166 -166
  21. package/dist/common/store/store-config.d.ts +6 -6
  22. package/dist/common/store/store-config.js +23 -23
  23. package/dist/common/store/store.interceptor.d.ts +5 -5
  24. package/dist/common/store/store.interceptor.js +36 -37
  25. package/dist/common/store/store.interceptor.js.map +1 -1
  26. package/dist/domain/db-connection.module.d.ts +3 -3
  27. package/dist/domain/db-connection.module.js +28 -29
  28. package/dist/domain/db-connection.module.js.map +1 -1
  29. package/dist/domain/entities/evaluator.entity.d.ts +17 -17
  30. package/dist/domain/entities/evaluator.entity.js +111 -112
  31. package/dist/domain/entities/evaluator.entity.js.map +1 -1
  32. package/dist/domain/entities/leads.entity.d.ts +26 -26
  33. package/dist/domain/entities/leads.entity.js +160 -161
  34. package/dist/domain/entities/leads.entity.js.map +1 -1
  35. package/dist/domain/entities/profile-permission.entity.d.ts +13 -13
  36. package/dist/domain/entities/profile-permission.entity.js +69 -70
  37. package/dist/domain/entities/profile-permission.entity.js.map +1 -1
  38. package/dist/domain/entities/profile.entity.d.ts +26 -26
  39. package/dist/domain/entities/profile.entity.js +98 -99
  40. package/dist/domain/entities/profile.entity.js.map +1 -1
  41. package/dist/domain/entities/student.entity.d.ts +26 -26
  42. package/dist/domain/entities/student.entity.js +123 -124
  43. package/dist/domain/entities/student.entity.js.map +1 -1
  44. package/dist/domain/entities/user.entity.d.ts +20 -20
  45. package/dist/domain/entities/user.entity.js +135 -136
  46. package/dist/domain/entities/user.entity.js.map +1 -1
  47. package/dist/domain/index.d.ts +10 -10
  48. package/dist/domain/index.js +26 -26
  49. package/dist/domain/schemas/global-users.schema.d.ts +60 -60
  50. package/dist/domain/schemas/global-users.schema.d.ts.map +1 -1
  51. package/dist/domain/schemas/global-users.schema.js +156 -158
  52. package/dist/domain/schemas/global-users.schema.js.map +1 -1
  53. package/dist/domain/schemas/tenant.schema.d.ts +109 -106
  54. package/dist/domain/schemas/tenant.schema.d.ts.map +1 -1
  55. package/dist/domain/schemas/tenant.schema.js +349 -347
  56. package/dist/domain/schemas/tenant.schema.js.map +1 -1
  57. package/dist/domain/shared-domain.module.d.ts +2 -2
  58. package/dist/domain/shared-domain.module.js +26 -27
  59. package/dist/domain/shared-domain.module.js.map +1 -1
  60. package/dist/index.d.ts +5 -5
  61. package/dist/index.js +21 -21
  62. package/dist/permissions/app-permissions/commute-x-permissions.d.ts +118 -118
  63. package/dist/permissions/app-permissions/commute-x-permissions.js +128 -128
  64. package/dist/permissions/app-permissions/enroll-x-permissions.d.ts +498 -498
  65. package/dist/permissions/app-permissions/enroll-x-permissions.js +816 -816
  66. package/dist/permissions/app-permissions/exams-permissions.d.ts +745 -745
  67. package/dist/permissions/app-permissions/exams-permissions.js +1218 -1218
  68. package/dist/permissions/app-permissions/hostels-permissions.d.ts +424 -424
  69. package/dist/permissions/app-permissions/hostels-permissions.js +537 -537
  70. package/dist/permissions/app-permissions/payments-permissions.d.ts +364 -364
  71. package/dist/permissions/app-permissions/payments-permissions.js +486 -486
  72. package/dist/permissions/app-permissions/people-x-permissions.d.ts +346 -346
  73. package/dist/permissions/app-permissions/people-x-permissions.js +356 -356
  74. package/dist/permissions/app-permissions/square-permissions.d.ts +1240 -1219
  75. package/dist/permissions/app-permissions/square-permissions.d.ts.map +1 -1
  76. package/dist/permissions/app-permissions/square-permissions.js +2263 -2235
  77. package/dist/permissions/app-permissions/square-permissions.js.map +1 -1
  78. package/dist/permissions/check-permission.guard.d.ts +9 -9
  79. package/dist/permissions/check-permission.guard.js +60 -60
  80. package/dist/permissions/index.d.ts +9 -9
  81. package/dist/permissions/index.js +32 -32
  82. package/dist/permissions/permissions.d.ts +7464 -7422
  83. package/dist/permissions/permissions.d.ts.map +1 -1
  84. package/dist/permissions/permissions.js +122 -122
  85. package/dist/shared-module/index.d.ts +2 -2
  86. package/dist/shared-module/index.js +7 -7
  87. package/dist/shared-module/shared.module.d.ts +10 -10
  88. package/dist/shared-module/shared.module.js +36 -37
  89. package/dist/shared-module/shared.module.js.map +1 -1
  90. package/dist/shared-module/shared.service.d.ts +67 -67
  91. package/dist/shared-module/shared.service.js +211 -212
  92. package/dist/shared-module/shared.service.js.map +1 -1
  93. package/dist/utils/constants.d.ts +25 -25
  94. package/dist/utils/constants.js +28 -28
  95. package/dist/utils/index.d.ts +2 -2
  96. package/dist/utils/index.js +18 -18
  97. package/dist/utils/utils.d.ts +26 -26
  98. package/dist/utils/utils.js +250 -250
  99. package/package.json +46 -46
@@ -1,27 +1,27 @@
1
- /// <reference types="multer" />
2
- import Joi from 'joi';
3
- import * as mongoose from 'mongoose';
4
- export declare function getReceiptNo(letter: string): string;
5
- export declare function getXLSXDate(date: string | Date | number): Date;
6
- export declare function xlsxToJson<T>(file: Express.Multer.File, schema?: Joi.ArraySchema<any[]>): Promise<T[]>;
7
- export declare function joiDefault(val: any): Joi.StringSchema<string>;
8
- export declare function validateBatch(input: string): string;
9
- export declare function validateBatches(batches: string[]): string[];
10
- export declare function getBool(str: string, defaultValue: boolean): boolean;
11
- export declare function getGenderWithDefault(str: string, defaultValue: string): "other" | "male" | "female";
12
- export declare function getGender(str: string): "other" | "male" | "female";
13
- export declare function getValue(val: any, defaultValue: any): any;
14
- export declare function getDate(date: any, defaultValue: any): any;
15
- export declare function romanize(num: any): string | false;
16
- export declare function ordinalSuffixOf(i: number): string;
17
- export declare function getYearFromSem(sem: number): number;
18
- export declare function convertKeysToCamelCase(obj: any): any;
19
- export declare const removeSpecialChars: (str: string) => string;
20
- export declare function getObjectId(id: any): mongoose.Types.ObjectId;
21
- export declare function getTitle(val: string): string;
22
- export declare function generateObjectId(): mongoose.Types.ObjectId;
23
- export declare function getTime(date: any): number;
24
- export declare function getMonth(date: any): number;
25
- export declare function timeLessThan(time1: string, time2: string): boolean;
26
- export declare function checkEqual(id1: any, id2: any): boolean;
1
+ /// <reference types="multer" />
2
+ import Joi from 'joi';
3
+ import * as mongoose from 'mongoose';
4
+ export declare function getReceiptNo(letter: string): string;
5
+ export declare function getXLSXDate(date: string | Date | number): Date;
6
+ export declare function xlsxToJson<T>(file: Express.Multer.File, schema?: Joi.ArraySchema<any[]>): Promise<T[]>;
7
+ export declare function joiDefault(val: any): Joi.StringSchema<string>;
8
+ export declare function validateBatch(input: string): string;
9
+ export declare function validateBatches(batches: string[]): string[];
10
+ export declare function getBool(str: string, defaultValue: boolean): boolean;
11
+ export declare function getGenderWithDefault(str: string, defaultValue: string): "other" | "male" | "female";
12
+ export declare function getGender(str: string): "other" | "male" | "female";
13
+ export declare function getValue(val: any, defaultValue: any): any;
14
+ export declare function getDate(date: any, defaultValue: any): any;
15
+ export declare function romanize(num: any): string | false;
16
+ export declare function ordinalSuffixOf(i: number): string;
17
+ export declare function getYearFromSem(sem: number): number;
18
+ export declare function convertKeysToCamelCase(obj: any): any;
19
+ export declare const removeSpecialChars: (str: string) => string;
20
+ export declare function getObjectId(id: any): mongoose.Types.ObjectId;
21
+ export declare function getTitle(val: string): string;
22
+ export declare function generateObjectId(): mongoose.Types.ObjectId;
23
+ export declare function getTime(date: any): number;
24
+ export declare function getMonth(date: any): number;
25
+ export declare function timeLessThan(time1: string, time2: string): boolean;
26
+ export declare function checkEqual(id1: any, id2: any): boolean;
27
27
  //# sourceMappingURL=utils.d.ts.map
@@ -1,251 +1,251 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.checkEqual = exports.timeLessThan = exports.getMonth = exports.getTime = exports.generateObjectId = exports.getTitle = exports.getObjectId = exports.removeSpecialChars = exports.convertKeysToCamelCase = exports.getYearFromSem = exports.ordinalSuffixOf = exports.romanize = exports.getDate = exports.getValue = exports.getGender = exports.getGenderWithDefault = exports.getBool = exports.validateBatches = exports.validateBatch = exports.joiDefault = exports.xlsxToJson = exports.getXLSXDate = exports.getReceiptNo = void 0;
30
- const common_1 = require("@nestjs/common");
31
- const joi_1 = __importDefault(require("joi"));
32
- const lodash_1 = require("lodash");
33
- const moment_1 = __importDefault(require("moment"));
34
- const mongoose = __importStar(require("mongoose"));
35
- const XLSX = __importStar(require("xlsx"));
36
- function getReceiptNo(letter) {
37
- const year = `${new Date().getFullYear()}`.slice(2);
38
- const receiptNo = year + letter;
39
- return receiptNo;
40
- }
41
- exports.getReceiptNo = getReceiptNo;
42
- function getXLSXDate(date) {
43
- const value = new Date(date);
44
- value.setSeconds(value.getSeconds() + 10);
45
- return value;
46
- }
47
- exports.getXLSXDate = getXLSXDate;
48
- async function xlsxToJson(file, schema) {
49
- if (!file)
50
- throw new common_1.UnprocessableEntityException('File not found');
51
- const workbook = XLSX.read(Buffer.from(file.buffer), { cellDates: true });
52
- const sheet_name_list = workbook.SheetNames;
53
- let xlData = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
54
- if (schema) {
55
- try {
56
- xlData = await schema.validateAsync(xlData);
57
- }
58
- catch (err) {
59
- console.log(err);
60
- throw new common_1.UnprocessableEntityException(err.message);
61
- }
62
- }
63
- return xlData;
64
- }
65
- exports.xlsxToJson = xlsxToJson;
66
- function joiDefault(val) {
67
- return joi_1.default.string()
68
- .custom(() => val)
69
- .default(val);
70
- }
71
- exports.joiDefault = joiDefault;
72
- function validateBatch(input) {
73
- const batch = input.split('-');
74
- const first = parseInt(batch[0]?.trim(), 10);
75
- const last = parseInt(batch[1]?.trim(), 10);
76
- if (batch.length !== 2 || isNaN(first) || isNaN(last)) {
77
- throw new common_1.BadRequestException(`Invalid batch: ${input}`);
78
- }
79
- return `${first} - ${last}`;
80
- }
81
- exports.validateBatch = validateBatch;
82
- function validateBatches(batches) {
83
- const invalidBatches = batches.filter((e) => {
84
- const batch = e.split(' - ');
85
- return batch.length !== 2 || isNaN(+batch[0]) || isNaN(+batch[1]);
86
- });
87
- if (invalidBatches.length) {
88
- throw new common_1.BadRequestException(`Invalid batches: ${(0, lodash_1.uniq)(invalidBatches).join(', ')}`);
89
- }
90
- return (0, lodash_1.uniq)(batches);
91
- }
92
- exports.validateBatches = validateBatches;
93
- function getBool(str, defaultValue) {
94
- if (!str)
95
- return defaultValue;
96
- return str.toLowerCase() == 'yes' ? true : false;
97
- }
98
- exports.getBool = getBool;
99
- function getGenderWithDefault(str, defaultValue) {
100
- const value = !str ? defaultValue : str;
101
- return getGender(value);
102
- }
103
- exports.getGenderWithDefault = getGenderWithDefault;
104
- function getGender(str) {
105
- switch (str.toUpperCase()) {
106
- case 'M':
107
- case 'MALE':
108
- return 'male';
109
- case 'F':
110
- case 'FEMALE':
111
- return 'female';
112
- default:
113
- return 'other';
114
- }
115
- }
116
- exports.getGender = getGender;
117
- function getValue(val, defaultValue) {
118
- if (!val)
119
- return defaultValue;
120
- return `${val}`.trim();
121
- }
122
- exports.getValue = getValue;
123
- function getDate(date, defaultValue) {
124
- if (!date)
125
- return defaultValue;
126
- return (0, moment_1.default)(new Date(date)).format('YYYY-MM-DD');
127
- }
128
- exports.getDate = getDate;
129
- function romanize(num) {
130
- if (!+num)
131
- return false;
132
- const digits = String(+num).split('');
133
- const key = [
134
- '',
135
- 'C',
136
- 'CC',
137
- 'CCC',
138
- 'CD',
139
- 'D',
140
- 'DC',
141
- 'DCC',
142
- 'DCCC',
143
- 'CM',
144
- '',
145
- 'X',
146
- 'XX',
147
- 'XXX',
148
- 'XL',
149
- 'L',
150
- 'LX',
151
- 'LXX',
152
- 'LXXX',
153
- 'XC',
154
- '',
155
- 'I',
156
- 'II',
157
- 'III',
158
- 'IV',
159
- 'V',
160
- 'VI',
161
- 'VII',
162
- 'VIII',
163
- 'IX',
164
- ];
165
- let roman = '', i = 3;
166
- while (i--)
167
- roman = (key[+digits.pop() + i * 10] || '') + roman;
168
- return Array(+digits.join('') + 1).join('M') + roman;
169
- }
170
- exports.romanize = romanize;
171
- function ordinalSuffixOf(i) {
172
- const j = i % 10, k = i % 100;
173
- if (j == 1 && k != 11) {
174
- return i + 'st';
175
- }
176
- if (j == 2 && k != 12) {
177
- return i + 'nd';
178
- }
179
- if (j == 3 && k != 13) {
180
- return i + 'rd';
181
- }
182
- return i + 'th';
183
- }
184
- exports.ordinalSuffixOf = ordinalSuffixOf;
185
- function getYearFromSem(sem) {
186
- return Math.ceil(sem / 2);
187
- }
188
- exports.getYearFromSem = getYearFromSem;
189
- function convertKeysToCamelCase(obj) {
190
- const newObj = {};
191
- for (const key in obj) {
192
- newObj[(0, lodash_1.camelCase)(key)] = obj[key];
193
- }
194
- return newObj;
195
- }
196
- exports.convertKeysToCamelCase = convertKeysToCamelCase;
197
- const removeSpecialChars = (str) => str?.replace(/[^\w\s]/gi, '');
198
- exports.removeSpecialChars = removeSpecialChars;
199
- function getObjectId(id) {
200
- if (id instanceof mongoose.Types.ObjectId) {
201
- return id;
202
- }
203
- try {
204
- return new mongoose.Types.ObjectId(id);
205
- }
206
- catch (e) {
207
- throw new common_1.UnprocessableEntityException('Invalid ID');
208
- }
209
- }
210
- exports.getObjectId = getObjectId;
211
- function getTitle(val) {
212
- return val
213
- .toLowerCase()
214
- .split('_')
215
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
216
- .join(' ');
217
- }
218
- exports.getTitle = getTitle;
219
- function generateObjectId() {
220
- return new mongoose.Types.ObjectId();
221
- }
222
- exports.generateObjectId = generateObjectId;
223
- function getTime(date) {
224
- return new Date(date).getTime();
225
- }
226
- exports.getTime = getTime;
227
- function getMonth(date) {
228
- return new Date(date).getMonth();
229
- }
230
- exports.getMonth = getMonth;
231
- function timeLessThan(time1, time2) {
232
- const [h1, m1, s1] = time1.split(':').map((e) => +e);
233
- const [h2, m2, s2] = time2.split(':').map((e) => +e);
234
- if (h1 !== h2)
235
- return h1 < h2;
236
- if (m1 !== m2)
237
- return m1 < m2;
238
- return s1 < s2;
239
- }
240
- exports.timeLessThan = timeLessThan;
241
- function checkEqual(id1, id2) {
242
- if (id1 instanceof mongoose.Types.ObjectId) {
243
- return id1.equals(id2);
244
- }
245
- if (id2 instanceof mongoose.Types.ObjectId) {
246
- return id2.equals(id1);
247
- }
248
- return id1 === id2;
249
- }
250
- exports.checkEqual = checkEqual;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.checkEqual = exports.timeLessThan = exports.getMonth = exports.getTime = exports.generateObjectId = exports.getTitle = exports.getObjectId = exports.removeSpecialChars = exports.convertKeysToCamelCase = exports.getYearFromSem = exports.ordinalSuffixOf = exports.romanize = exports.getDate = exports.getValue = exports.getGender = exports.getGenderWithDefault = exports.getBool = exports.validateBatches = exports.validateBatch = exports.joiDefault = exports.xlsxToJson = exports.getXLSXDate = exports.getReceiptNo = void 0;
30
+ const common_1 = require("@nestjs/common");
31
+ const joi_1 = __importDefault(require("joi"));
32
+ const lodash_1 = require("lodash");
33
+ const moment_1 = __importDefault(require("moment"));
34
+ const mongoose = __importStar(require("mongoose"));
35
+ const XLSX = __importStar(require("xlsx"));
36
+ function getReceiptNo(letter) {
37
+ const year = `${new Date().getFullYear()}`.slice(2);
38
+ const receiptNo = year + letter;
39
+ return receiptNo;
40
+ }
41
+ exports.getReceiptNo = getReceiptNo;
42
+ function getXLSXDate(date) {
43
+ const value = new Date(date);
44
+ value.setSeconds(value.getSeconds() + 10);
45
+ return value;
46
+ }
47
+ exports.getXLSXDate = getXLSXDate;
48
+ async function xlsxToJson(file, schema) {
49
+ if (!file)
50
+ throw new common_1.UnprocessableEntityException('File not found');
51
+ const workbook = XLSX.read(Buffer.from(file.buffer), { cellDates: true });
52
+ const sheet_name_list = workbook.SheetNames;
53
+ let xlData = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
54
+ if (schema) {
55
+ try {
56
+ xlData = await schema.validateAsync(xlData);
57
+ }
58
+ catch (err) {
59
+ console.log(err);
60
+ throw new common_1.UnprocessableEntityException(err.message);
61
+ }
62
+ }
63
+ return xlData;
64
+ }
65
+ exports.xlsxToJson = xlsxToJson;
66
+ function joiDefault(val) {
67
+ return joi_1.default.string()
68
+ .custom(() => val)
69
+ .default(val);
70
+ }
71
+ exports.joiDefault = joiDefault;
72
+ function validateBatch(input) {
73
+ const batch = input.split('-');
74
+ const first = parseInt(batch[0]?.trim(), 10);
75
+ const last = parseInt(batch[1]?.trim(), 10);
76
+ if (batch.length !== 2 || isNaN(first) || isNaN(last)) {
77
+ throw new common_1.BadRequestException(`Invalid batch: ${input}`);
78
+ }
79
+ return `${first} - ${last}`;
80
+ }
81
+ exports.validateBatch = validateBatch;
82
+ function validateBatches(batches) {
83
+ const invalidBatches = batches.filter((e) => {
84
+ const batch = e.split(' - ');
85
+ return batch.length !== 2 || isNaN(+batch[0]) || isNaN(+batch[1]);
86
+ });
87
+ if (invalidBatches.length) {
88
+ throw new common_1.BadRequestException(`Invalid batches: ${(0, lodash_1.uniq)(invalidBatches).join(', ')}`);
89
+ }
90
+ return (0, lodash_1.uniq)(batches);
91
+ }
92
+ exports.validateBatches = validateBatches;
93
+ function getBool(str, defaultValue) {
94
+ if (!str)
95
+ return defaultValue;
96
+ return str.toLowerCase() == 'yes' ? true : false;
97
+ }
98
+ exports.getBool = getBool;
99
+ function getGenderWithDefault(str, defaultValue) {
100
+ const value = !str ? defaultValue : str;
101
+ return getGender(value);
102
+ }
103
+ exports.getGenderWithDefault = getGenderWithDefault;
104
+ function getGender(str) {
105
+ switch (str.toUpperCase()) {
106
+ case 'M':
107
+ case 'MALE':
108
+ return 'male';
109
+ case 'F':
110
+ case 'FEMALE':
111
+ return 'female';
112
+ default:
113
+ return 'other';
114
+ }
115
+ }
116
+ exports.getGender = getGender;
117
+ function getValue(val, defaultValue) {
118
+ if (!val)
119
+ return defaultValue;
120
+ return `${val}`.trim();
121
+ }
122
+ exports.getValue = getValue;
123
+ function getDate(date, defaultValue) {
124
+ if (!date)
125
+ return defaultValue;
126
+ return (0, moment_1.default)(new Date(date)).format('YYYY-MM-DD');
127
+ }
128
+ exports.getDate = getDate;
129
+ function romanize(num) {
130
+ if (!+num)
131
+ return false;
132
+ const digits = String(+num).split('');
133
+ const key = [
134
+ '',
135
+ 'C',
136
+ 'CC',
137
+ 'CCC',
138
+ 'CD',
139
+ 'D',
140
+ 'DC',
141
+ 'DCC',
142
+ 'DCCC',
143
+ 'CM',
144
+ '',
145
+ 'X',
146
+ 'XX',
147
+ 'XXX',
148
+ 'XL',
149
+ 'L',
150
+ 'LX',
151
+ 'LXX',
152
+ 'LXXX',
153
+ 'XC',
154
+ '',
155
+ 'I',
156
+ 'II',
157
+ 'III',
158
+ 'IV',
159
+ 'V',
160
+ 'VI',
161
+ 'VII',
162
+ 'VIII',
163
+ 'IX',
164
+ ];
165
+ let roman = '', i = 3;
166
+ while (i--)
167
+ roman = (key[+digits.pop() + i * 10] || '') + roman;
168
+ return Array(+digits.join('') + 1).join('M') + roman;
169
+ }
170
+ exports.romanize = romanize;
171
+ function ordinalSuffixOf(i) {
172
+ const j = i % 10, k = i % 100;
173
+ if (j == 1 && k != 11) {
174
+ return i + 'st';
175
+ }
176
+ if (j == 2 && k != 12) {
177
+ return i + 'nd';
178
+ }
179
+ if (j == 3 && k != 13) {
180
+ return i + 'rd';
181
+ }
182
+ return i + 'th';
183
+ }
184
+ exports.ordinalSuffixOf = ordinalSuffixOf;
185
+ function getYearFromSem(sem) {
186
+ return Math.ceil(sem / 2);
187
+ }
188
+ exports.getYearFromSem = getYearFromSem;
189
+ function convertKeysToCamelCase(obj) {
190
+ const newObj = {};
191
+ for (const key in obj) {
192
+ newObj[(0, lodash_1.camelCase)(key)] = obj[key];
193
+ }
194
+ return newObj;
195
+ }
196
+ exports.convertKeysToCamelCase = convertKeysToCamelCase;
197
+ const removeSpecialChars = (str) => str?.replace(/[^\w\s]/gi, '');
198
+ exports.removeSpecialChars = removeSpecialChars;
199
+ function getObjectId(id) {
200
+ if (id instanceof mongoose.Types.ObjectId) {
201
+ return id;
202
+ }
203
+ try {
204
+ return new mongoose.Types.ObjectId(id);
205
+ }
206
+ catch (e) {
207
+ throw new common_1.UnprocessableEntityException('Invalid ID');
208
+ }
209
+ }
210
+ exports.getObjectId = getObjectId;
211
+ function getTitle(val) {
212
+ return val
213
+ .toLowerCase()
214
+ .split('_')
215
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
216
+ .join(' ');
217
+ }
218
+ exports.getTitle = getTitle;
219
+ function generateObjectId() {
220
+ return new mongoose.Types.ObjectId();
221
+ }
222
+ exports.generateObjectId = generateObjectId;
223
+ function getTime(date) {
224
+ return new Date(date).getTime();
225
+ }
226
+ exports.getTime = getTime;
227
+ function getMonth(date) {
228
+ return new Date(date).getMonth();
229
+ }
230
+ exports.getMonth = getMonth;
231
+ function timeLessThan(time1, time2) {
232
+ const [h1, m1, s1] = time1.split(':').map((e) => +e);
233
+ const [h2, m2, s2] = time2.split(':').map((e) => +e);
234
+ if (h1 !== h2)
235
+ return h1 < h2;
236
+ if (m1 !== m2)
237
+ return m1 < m2;
238
+ return s1 < s2;
239
+ }
240
+ exports.timeLessThan = timeLessThan;
241
+ function checkEqual(id1, id2) {
242
+ if (id1 instanceof mongoose.Types.ObjectId) {
243
+ return id1.equals(id2);
244
+ }
245
+ if (id2 instanceof mongoose.Types.ObjectId) {
246
+ return id2.equals(id1);
247
+ }
248
+ return id1 === id2;
249
+ }
250
+ exports.checkEqual = checkEqual;
251
251
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,46 +1,46 @@
1
- {
2
- "name": "@campxdev/server-shared",
3
- "version": "1.2.36",
4
- "description": "Campx server shared files",
5
- "main": "dist/index.js",
6
- "license": "MIT",
7
- "files": [
8
- "dist"
9
- ],
10
- "scripts": {
11
- "build": "tsc",
12
- "prepublish": "npm run build",
13
- "premig": "mkdir -p src/migrations",
14
- "mig": "cd src/migrations && npx typeorm migration:create"
15
- },
16
- "dependencies": {
17
- "@nestjs/common": "^9.3.9",
18
- "@nestjs/core": "^9.3.9",
19
- "@nestjs/microservices": "^9.3.9",
20
- "@nestjs/mongoose": "^9.2.1",
21
- "bcrypt": "^5.1.0",
22
- "class-transformer": "^0.5.1",
23
- "class-validator": "^0.14.0",
24
- "joi": "^17.8.3",
25
- "jsonwebtoken": "^9.0.0",
26
- "lodash": "^4.17.21",
27
- "moment": "^2.29.4",
28
- "mongoose": "^7.0.1",
29
- "mysql2": "^3.2.0",
30
- "reflect-metadata": "^0.1.13",
31
- "rxjs": "^7.8.0",
32
- "typeorm": "^0.3.12",
33
- "typeorm-naming-strategies": "^4.1.0",
34
- "xlsx": "^0.18.5"
35
- },
36
- "devDependencies": {
37
- "@types/bcrypt": "^5.0.0",
38
- "@types/express": "^4.17.17",
39
- "@types/lodash": "^4.14.191",
40
- "@types/mongoose": "^5.11.97",
41
- "@types/multer": "^1.4.7",
42
- "@types/node": "^18.14.6",
43
- "rimraf": "^4.4.0",
44
- "typescript": "^4.9.5"
45
- }
46
- }
1
+ {
2
+ "name": "@campxdev/server-shared",
3
+ "version": "1.2.38",
4
+ "description": "Campx server shared files",
5
+ "main": "dist/index.js",
6
+ "license": "MIT",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "rm -rf dist && tsc",
12
+ "prepublish": "npm run build",
13
+ "premig": "mkdir -p src/migrations",
14
+ "mig": "cd src/migrations && npx typeorm migration:create"
15
+ },
16
+ "dependencies": {
17
+ "@nestjs/common": "^9.3.9",
18
+ "@nestjs/core": "^9.3.9",
19
+ "@nestjs/microservices": "^9.3.9",
20
+ "@nestjs/mongoose": "^9.2.1",
21
+ "bcrypt": "^5.1.0",
22
+ "class-transformer": "^0.5.1",
23
+ "class-validator": "^0.14.0",
24
+ "joi": "^17.8.3",
25
+ "jsonwebtoken": "^9.0.0",
26
+ "lodash": "^4.17.21",
27
+ "moment": "^2.29.4",
28
+ "mongoose": "^7.0.1",
29
+ "mysql2": "^3.2.0",
30
+ "reflect-metadata": "^0.1.13",
31
+ "rxjs": "^7.8.0",
32
+ "typeorm": "^0.3.12",
33
+ "typeorm-naming-strategies": "^4.1.0",
34
+ "xlsx": "^0.18.5"
35
+ },
36
+ "devDependencies": {
37
+ "@types/bcrypt": "^5.0.0",
38
+ "@types/express": "^4.17.17",
39
+ "@types/lodash": "^4.14.191",
40
+ "@types/mongoose": "^5.11.97",
41
+ "@types/multer": "^1.4.7",
42
+ "@types/node": "^18.14.6",
43
+ "rimraf": "^4.4.0",
44
+ "typescript": "^4.9.5"
45
+ }
46
+ }