rez_core 5.0.72 → 5.0.74
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/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/prettier.xml +6 -0
- package/dist/module/filter/service/filter.service.js +28 -17
- package/dist/module/filter/service/filter.service.js.map +1 -1
- package/dist/module/integration/service/wrapper.service.js +1 -1
- package/dist/module/integration/service/wrapper.service.js.map +1 -1
- package/dist/resources/properties.yaml.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/module/filter/service/filter.service.ts +81 -21
- package/src/module/integration/service/wrapper.service.ts +1 -1
- package/src/resources/properties.yaml.ts +1 -1
- package/src/resources/uat.properties.yaml +8 -28
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rez_core",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.74",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"private": false,
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"cron-parser": "^5.4.0",
|
|
48
48
|
"crypto": "^1.0.1",
|
|
49
49
|
"crypto-js": "^4.2.0",
|
|
50
|
+
"dayjs": "^1.11.19",
|
|
50
51
|
"dotenv": "^16.4.7",
|
|
51
52
|
"exceljs": "^4.4.0",
|
|
52
53
|
"firebase-admin": "^13.5.0",
|
|
@@ -10,6 +10,7 @@ import { EntityRelationService } from 'src/module/meta/service/entity-relation.s
|
|
|
10
10
|
import { ResolverService } from 'src/module/meta/service/resolver.service';
|
|
11
11
|
import { LoggingService } from 'src/utils/service/loggingUtil.service';
|
|
12
12
|
import { ConfigService } from '@nestjs/config';
|
|
13
|
+
import dayjs from 'dayjs';
|
|
13
14
|
|
|
14
15
|
@Injectable()
|
|
15
16
|
export class FilterService {
|
|
@@ -913,6 +914,29 @@ export class FilterService {
|
|
|
913
914
|
return d.toISOString().split('T')[0];
|
|
914
915
|
};
|
|
915
916
|
|
|
917
|
+
// FOR BUSINESS DATES
|
|
918
|
+
function moveBusinessDays(date: Date, days: number, dir: number): Date {
|
|
919
|
+
let result = new Date(date);
|
|
920
|
+
|
|
921
|
+
while (days > 0) {
|
|
922
|
+
result.setDate(result.getDate() + dir);
|
|
923
|
+
|
|
924
|
+
const day = result.getDay(); // 0 = Sun, 6 = Sat
|
|
925
|
+
|
|
926
|
+
if (day !== 0 && day !== 6) {
|
|
927
|
+
days--;
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
return result;
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
/** Return true if date is a weekday */
|
|
935
|
+
function isBusinessDay(date: Date): boolean {
|
|
936
|
+
const d = date.getDay();
|
|
937
|
+
return d !== 0 && d !== 6;
|
|
938
|
+
}
|
|
939
|
+
|
|
916
940
|
switch (op) {
|
|
917
941
|
// ============================================
|
|
918
942
|
// BASIC COMPARISONS
|
|
@@ -1094,40 +1118,76 @@ export class FilterService {
|
|
|
1094
1118
|
const targetDate = subtractBusinessDays(numVal);
|
|
1095
1119
|
|
|
1096
1120
|
return {
|
|
1097
|
-
query: `${dateColumn}
|
|
1121
|
+
query: `${dateColumn} < :${key} AND EXTRACT(DOW FROM ${dateColumn}) NOT IN (0, 6)`,
|
|
1098
1122
|
params: { [key]: targetDate },
|
|
1099
1123
|
};
|
|
1100
1124
|
}
|
|
1101
1125
|
|
|
1102
1126
|
case 'is_after_business_days': {
|
|
1103
|
-
|
|
1104
|
-
throw new BadRequestException(
|
|
1105
|
-
'Value must be a number for is_after_business_days',
|
|
1106
|
-
);
|
|
1107
|
-
}
|
|
1127
|
+
const days = Number(val);
|
|
1108
1128
|
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1129
|
+
// Start from today
|
|
1130
|
+
const targetDate = dayjs().startOf('day');
|
|
1131
|
+
let count = 0;
|
|
1112
1132
|
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
if (day !== 0 && day !== 6) count++;
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
// DB shift -1 day
|
|
1120
|
-
d.setDate(d.getDate() - 1);
|
|
1133
|
+
while (count < days) {
|
|
1134
|
+
targetDate.add(1, 'day'); // move forward
|
|
1135
|
+
const day = targetDate.day(); // 0 = Sun, 6 = Sat
|
|
1121
1136
|
|
|
1122
|
-
|
|
1123
|
-
|
|
1137
|
+
if (day !== 0 && day !== 6) {
|
|
1138
|
+
// skip weekends
|
|
1139
|
+
count++;
|
|
1140
|
+
}
|
|
1141
|
+
}
|
|
1124
1142
|
|
|
1125
1143
|
return {
|
|
1126
|
-
query:
|
|
1127
|
-
params: { [key]:
|
|
1144
|
+
query: `DATE(e.${attr}) > :${key}`,
|
|
1145
|
+
params: { [key]: targetDate.format('YYYY-MM-DD') },
|
|
1128
1146
|
};
|
|
1129
1147
|
}
|
|
1130
1148
|
|
|
1149
|
+
// case 'is_before_business_days': {
|
|
1150
|
+
// if (isNaN(numVal)) {
|
|
1151
|
+
// throw new BadRequestException('Value must be a number');
|
|
1152
|
+
// }
|
|
1153
|
+
|
|
1154
|
+
// const targetDate = subtractBusinessDays(numVal);
|
|
1155
|
+
|
|
1156
|
+
// return {
|
|
1157
|
+
// query: `${dateColumn} <= :${key}`,
|
|
1158
|
+
// params: { [key]: targetDate },
|
|
1159
|
+
// };
|
|
1160
|
+
// }
|
|
1161
|
+
|
|
1162
|
+
// case 'is_after_business_days': {
|
|
1163
|
+
// if (isNaN(numVal)) {
|
|
1164
|
+
// throw new BadRequestException(
|
|
1165
|
+
// 'Value must be a number for is_after_business_days',
|
|
1166
|
+
// );
|
|
1167
|
+
// }
|
|
1168
|
+
|
|
1169
|
+
// const businessAfter = (() => {
|
|
1170
|
+
// let d = new Date();
|
|
1171
|
+
// let count = 0;
|
|
1172
|
+
|
|
1173
|
+
// while (count < numVal) {
|
|
1174
|
+
// d.setDate(d.getDate() + 1);
|
|
1175
|
+
// const day = d.getDay(); // 0=Sun, 6=Sat
|
|
1176
|
+
// if (day !== 0 && day !== 6) count++;
|
|
1177
|
+
// }
|
|
1178
|
+
|
|
1179
|
+
// // DB shift -1 day
|
|
1180
|
+
// d.setDate(d.getDate() - 1);
|
|
1181
|
+
|
|
1182
|
+
// return d.toISOString().split('T')[0];
|
|
1183
|
+
// })();
|
|
1184
|
+
|
|
1185
|
+
// return {
|
|
1186
|
+
// query: `${dateColumn} > :${key}`,
|
|
1187
|
+
// params: { [key]: businessAfter },
|
|
1188
|
+
// };
|
|
1189
|
+
// }
|
|
1190
|
+
|
|
1131
1191
|
// ============================================
|
|
1132
1192
|
// IN LAST DAY (range: today to N days before)
|
|
1133
1193
|
// ============================================
|
|
@@ -420,7 +420,7 @@ export class WrapperService {
|
|
|
420
420
|
content: base64Content,
|
|
421
421
|
type:
|
|
422
422
|
response.headers['content-type'] || 'application/octet-stream',
|
|
423
|
-
filename:
|
|
423
|
+
filename: url.fileName,
|
|
424
424
|
disposition: 'attachment',
|
|
425
425
|
});
|
|
426
426
|
}
|
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
DB_HOST: '
|
|
2
|
-
DB_PORT: '
|
|
1
|
+
DB_HOST: '13.235.102.26'
|
|
2
|
+
DB_PORT: '3306'
|
|
3
3
|
DB_USER: 'root'
|
|
4
|
-
DB_PASS: '
|
|
5
|
-
DB_NAME: '
|
|
6
|
-
DB_SCHEMA: 'preprod_ether_crm'
|
|
7
|
-
PORT: 5001
|
|
8
|
-
MS_PORT: 4021
|
|
9
|
-
SSO_HOST: 'localhost'
|
|
10
|
-
SSO_PORT: 4023
|
|
11
|
-
ADM_HOST: 'localhost'
|
|
12
|
-
ADM_PORT: 4020
|
|
4
|
+
DB_PASS: 'Ether@123'
|
|
5
|
+
DB_NAME: 'ether_uat'
|
|
13
6
|
MASTER_KEY: '0QZ2eRJv5oVILYnyBlC+FbSGVQiWKReh'
|
|
14
7
|
MASTER_IV: 'heuUQf5uPVtkotrFAOKUVw=='
|
|
15
8
|
SECRET_KEY: '1hard_to_guess_secret7890a'
|
|
16
9
|
CLIENT_ID: '324529881356-596sc8ksrb9lg01i7sktofqqqf0fv2ug.apps.googleusercontent.com'
|
|
17
10
|
CLIENT_SECRET: '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'
|
|
18
|
-
CALLBACK_URL: '
|
|
19
|
-
DOMAIN_URL: '
|
|
20
|
-
BASE_URL: 'https://ether-dev.rezolut.in'
|
|
21
|
-
FE_URL: 'http://localhost:3000'
|
|
11
|
+
CALLBACK_URL: 'http://ether.rezolut.in/api/admin/auth/google/callback'
|
|
12
|
+
DOMAIN_URL: 'rezolut.in'
|
|
22
13
|
OTP_EXPIRY: '10'
|
|
23
14
|
OTP_LENGTH: '6'
|
|
24
15
|
VERIFY_OTP: 'true'
|
|
25
16
|
DEFAULT_OTP: '123456'
|
|
26
|
-
DEFAULT_ADMIN: 'ADMIN'
|
|
27
|
-
REDIRECT_BE_URL: 'http://localhost:4010/api'
|
|
28
17
|
PROFILE: 'UAT'
|
|
18
|
+
DEFAULT_ADMIN: 'ADMIN'
|
|
19
|
+
TOKEN_EXPIRY: 1
|
|
29
20
|
AWS:
|
|
30
21
|
S3:
|
|
31
22
|
AWS_ACCESS_KEY_ID: 'AKIAYYKIBDDSQF3KILGE'
|
|
@@ -35,17 +26,6 @@ AWS:
|
|
|
35
26
|
EMAIL_USER: 'poornima.rezolut@gmail.com'
|
|
36
27
|
EMAIL_PASSWORD: 'dakd fyau uvbv zwsb'
|
|
37
28
|
|
|
38
|
-
student:
|
|
39
|
-
syncApiUrl: 'https://api.staging.stellarworldschool.com/crm/enrol/users'
|
|
40
|
-
paymentAPIKey: '3PKPjFTc5I1buIZTF8tbpxuD0ieimZc7NtVBbpKlq82ZfwdZN9v63dCgMZ5fglpg'
|
|
41
|
-
syncApiToken: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiaWF0IjoxNjYzODIzNTI5LCJhdWQiOiJhMzQzaXVia3ZqYnN2YnJpdWV3YnZqa2VidmpraWVia2IiLCJpc3MiOiJFdGhlciJ9.aYup7bZdiBZvWQ7a1D7iep7Y_8Q8Ns4nxUpzXw8vgR2kTBXBxlDIPPybZFnBzweNKC7O2z9bEo6O0pbXCBHaMg'
|
|
42
|
-
lead_xcode: '314b0a5afed44676b736c0e5368c3db863275d80d443777bd1214afde4c82631'
|
|
43
29
|
FIREBASE_PROJECT_ID: 'sample-d7855'
|
|
44
30
|
FIREBASE_CLIENT_EMAIL: 'firebase-adminsdk-fbsvc@sample-d7855.iam.gserviceaccount.com'
|
|
45
31
|
FIREBASE_PRIVATE_KEY: '-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwGkpDLqFYgDEW\nnrraMja7ICmd05rJlsTachdcbB25Jm2cWMv1ROfNqWEZE3b14pUJOQgCAPI79Lgj\n+nQ0ATsUWK8Th2esKT9kaHg54UZg/qKNcnM5njVn+xIXc+i/AP/eSGBLich+uljU\nRMFuKrpcN1yNa3t0ib+kZxLHE43aFM9aJYOhET6/37DUdFMZ7GyzSLH3tuy1gB2G\negFyC7ulLnyMBFtL37XOtnP3BPwbjVWdP0qv9I6c0aacS5dQ4PNjCBklnkr6tPsc\n0MYr3VUrqNd/xNNOgk26TwoOaePjjjeaSeOGO2FcBG6WsYSLoZ3zmrlCT4vBlXL7\nPaZGQGfjAgMBAAECggEAHtsMZgcWmCYl87uuK6sesdzpzdCUz3uOVGQnObdr4dQc\n4ocgfYIsR3nFHJqvflfMG0iV4Zv+1YiEdzFcCPyqOF9tlbNk8+JqTBKN9j5FkZss\nKjKCg/b3jpeMTPWvM0BelLkDvliO+7108QR3C/GKo7vDiLfrcrjsDkdNH/qKIUq3\nkHeQE0QDLaoe3sLL4mjPp5A4SnnNBInk1gQZS2iVhTgDAAlSOz7JocyVZr3QhxmF\nUlKYzzJVx8zxIJm3ymH6z6NQNbWnBGWF1eeSZgYRkJG1q+Aqm3kRU/uT3V0HPsvZ\nrg4JGkzM/qFA2mpKuj4ysWGfvERKaEe4Ua84SvbcYQKBgQDjjvgBpQL2V71Ssr2E\nWJO/8Bv3TutWODWEvTRv3woQmuZwT81yIR3R8Ir59xLK0oBQCAONvKnrB5RM5yXQ\nmR6hvyKHFUKWTRqwGCFiD4fh0joO4zQTaFDdbqMYyeTJ4r2W66wXbRXtUvuwhDlg\nmDKamZ1E+EAoYkog6/iNYIcwswKBgQDGHO0n2r8yXYm7dM+EYONGLh76IvxVXJDn\nN8igi1zI2fV3cfUuwXaVlMYUa//aRkNXrBvPdXZEvfRRRLkm6dYLbFZ4Sq6T+NUT\noYNan13R59E6UcA/Oi5jitq9l4Wwn8pDaCbmmR1xdj7+r+H9A5N3BXHeuPLy0f48\nyEY8GF8kEQKBgQDCzhmyDrlCekoxCaMEMXAK2FqYlI8S+HuYbwD85EuRe4nai/as\nxXzpxKq04rbLuvjtim7AX8p20b47N4Y/1VVL0nyUd7bRRKCcL4wkjncc8wOQyyBB\nnQPdDGHDTtL1oY38LTTduR0UVf3xVsBn2OM5RlhEOuFxsPMUy+2z2fbh0QKBgBz3\nMb14AChvAKpFw+mI+PHT4HeWEeqxJAaKY20Fs0UyiO8z3DM/2gS4wdVOjRPu3f29\njjtg4y/dzhDryV5lJgR5jJL96FR+NzktjjT7xA3ipPav6TnVWd73+E9sDgHq+vms\nCrQAgwuJzGAUeygxE6h9RU7ZH7xc850TcyFqNs7hAoGBAMviFpBfpZz/amStyan+\nIPBGpDNV8dUrRE1POIdi6M44mlrI5hkD1ldVl3wjDJtg4VGkMosltLtvC0dDcIou\nuWZT8ENKM2G400PvQ9JJYah9dTkYQL1qMxvpX+biMoRSiAswPwRQjmBQUaz1aN1g\nmXv1VJBLLZVg8x1ckLDjeD20\n-----END PRIVATE KEY-----\n'
|
|
46
|
-
SUBJECT_PREFIX: true
|
|
47
|
-
|
|
48
|
-
GRAYLOG_URL: 'http://35.154.14.223:12201/gelf'
|
|
49
|
-
|
|
50
|
-
SERVICES: 'ADM,SSO'
|
|
51
|
-
appcode: 'CRM'
|