@fabx.vn/core 1.1.0 → 1.1.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.
- package/README.md +2 -6
- package/dist/config/cookie.config.d.ts +1 -0
- package/dist/config/cookie.config.js +1 -0
- package/dist/config/cookie.config.js.map +1 -1
- package/dist/config/database.config.d.ts +1 -0
- package/dist/config/database.config.js +2 -1
- package/dist/config/database.config.js.map +1 -1
- package/dist/config/internal.config.d.ts +4 -1
- package/dist/config/internal.config.js +4 -2
- package/dist/config/internal.config.js.map +1 -1
- package/dist/config/rabbitmq.config.d.ts +1 -5
- package/dist/config/rabbitmq.config.js +2 -6
- package/dist/config/rabbitmq.config.js.map +1 -1
- package/dist/config/redis-cache.config.d.ts +9 -0
- package/dist/config/redis-cache.config.js +13 -0
- package/dist/config/redis-cache.config.js.map +1 -0
- package/dist/config/redis.config.js +1 -1
- package/dist/config/redis.config.js.map +1 -1
- package/dist/constants/messages.constants.d.ts +0 -5
- package/dist/constants/messages.constants.js +0 -5
- package/dist/constants/messages.constants.js.map +1 -1
- package/dist/core/core.module.js +6 -0
- package/dist/core/core.module.js.map +1 -1
- package/dist/core/decorators/current-user.decorator.js +17 -1
- package/dist/core/decorators/current-user.decorator.js.map +1 -1
- package/dist/core/dtos/pagination.dto.d.ts +12 -0
- package/dist/core/dtos/pagination.dto.js +25 -1
- package/dist/core/dtos/pagination.dto.js.map +1 -1
- package/dist/core/entities/base.entity.d.ts +1 -0
- package/dist/core/entities/base.entity.js +4 -0
- package/dist/core/entities/base.entity.js.map +1 -1
- package/dist/core/guards/jwt-auth.guard.js +2 -3
- package/dist/core/guards/jwt-auth.guard.js.map +1 -1
- package/dist/core/modules/typeorm-filter.module.d.ts +5 -0
- package/dist/core/modules/typeorm-filter.module.js +41 -0
- package/dist/core/modules/typeorm-filter.module.js.map +1 -0
- package/dist/core/services/base-pagination.service.d.ts +9 -1
- package/dist/core/services/base-pagination.service.js +91 -0
- package/dist/core/services/base-pagination.service.js.map +1 -1
- package/dist/core/services/cookie.service.d.ts +2 -0
- package/dist/core/services/cookie.service.js +17 -18
- package/dist/core/services/cookie.service.js.map +1 -1
- package/dist/core/services/jwt.service.js +0 -10
- package/dist/core/services/jwt.service.js.map +1 -1
- package/dist/{services/redis.service.d.ts → core/services/redis-cache.service.d.ts} +6 -1
- package/dist/{services/redis.service.js → core/services/redis-cache.service.js} +37 -9
- package/dist/core/services/redis-cache.service.js.map +1 -0
- package/dist/core/services/redis.service.d.ts +1 -0
- package/dist/core/services/redis.service.js +15 -2
- package/dist/core/services/redis.service.js.map +1 -1
- package/dist/core/services/repository-wrapper.service.d.ts +7 -0
- package/dist/core/services/repository-wrapper.service.js +95 -0
- package/dist/core/services/repository-wrapper.service.js.map +1 -0
- package/dist/core/services/session.service.d.ts +2 -2
- package/dist/core/services/session.service.js +3 -10
- package/dist/core/services/session.service.js.map +1 -1
- package/dist/core/subscribers/audit.subscriber.js +3 -0
- package/dist/core/subscribers/audit.subscriber.js.map +1 -1
- package/dist/enums/object-type.enum.d.ts +9 -0
- package/dist/enums/object-type.enum.js +14 -0
- package/dist/enums/object-type.enum.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +13 -3
- package/dist/index.js.map +1 -1
- package/dist/libs/axios/axios-client.js +2 -2
- package/dist/libs/axios/axios-client.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/date.utils.d.ts +1 -0
- package/dist/utils/date.utils.js +10 -0
- package/dist/utils/date.utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/config/google-oauth.config.d.ts +0 -6
- package/dist/config/google-oauth.config.js +0 -10
- package/dist/config/google-oauth.config.js.map +0 -1
- package/dist/core/services/cache.service.d.ts +0 -13
- package/dist/core/services/cache.service.js +0 -51
- package/dist/core/services/cache.service.js.map +0 -1
- package/dist/core/services/permission.service.d.ts +0 -23
- package/dist/core/services/permission.service.js +0 -83
- package/dist/core/services/permission.service.js.map +0 -1
- package/dist/core.module.d.ts +0 -2
- package/dist/core.module.js +0 -72
- package/dist/core.module.js.map +0 -1
- package/dist/decorators/current-user.decorator.d.ts +0 -1
- package/dist/decorators/current-user.decorator.js +0 -9
- package/dist/decorators/current-user.decorator.js.map +0 -1
- package/dist/decorators/public.decorator.d.ts +0 -2
- package/dist/decorators/public.decorator.js +0 -8
- package/dist/decorators/public.decorator.js.map +0 -1
- package/dist/decorators/require-permissions.decorator.d.ts +0 -4
- package/dist/decorators/require-permissions.decorator.js +0 -11
- package/dist/decorators/require-permissions.decorator.js.map +0 -1
- package/dist/dtos/api-response.dto.d.ts +0 -10
- package/dist/dtos/api-response.dto.js +0 -22
- package/dist/dtos/api-response.dto.js.map +0 -1
- package/dist/dtos/pagination.dto.d.ts +0 -17
- package/dist/dtos/pagination.dto.js +0 -61
- package/dist/dtos/pagination.dto.js.map +0 -1
- package/dist/filters/http-exception.filter.d.ts +0 -5
- package/dist/filters/http-exception.filter.js +0 -47
- package/dist/filters/http-exception.filter.js.map +0 -1
- package/dist/guards/internal-auth.guard.d.ts +0 -7
- package/dist/guards/internal-auth.guard.js +0 -42
- package/dist/guards/internal-auth.guard.js.map +0 -1
- package/dist/guards/jwt-auth.guard.d.ts +0 -12
- package/dist/guards/jwt-auth.guard.js +0 -56
- package/dist/guards/jwt-auth.guard.js.map +0 -1
- package/dist/guards/permission.guard.d.ts +0 -9
- package/dist/guards/permission.guard.js +0 -71
- package/dist/guards/permission.guard.js.map +0 -1
- package/dist/interceptors/request-context.interceptor.d.ts +0 -8
- package/dist/interceptors/request-context.interceptor.js +0 -39
- package/dist/interceptors/request-context.interceptor.js.map +0 -1
- package/dist/services/cookie.service.d.ts +0 -13
- package/dist/services/cookie.service.js +0 -50
- package/dist/services/cookie.service.js.map +0 -1
- package/dist/services/jwt.service.d.ts +0 -37
- package/dist/services/jwt.service.js +0 -187
- package/dist/services/jwt.service.js.map +0 -1
- package/dist/services/rabbitmq-publisher.service.d.ts +0 -9
- package/dist/services/rabbitmq-publisher.service.js +0 -57
- package/dist/services/rabbitmq-publisher.service.js.map +0 -1
- package/dist/services/redis.service.js.map +0 -1
- package/dist/services/request-context.service.d.ts +0 -18
- package/dist/services/request-context.service.js +0 -40
- package/dist/services/request-context.service.js.map +0 -1
- package/dist/services/request-info.service.d.ts +0 -8
- package/dist/services/request-info.service.js +0 -32
- package/dist/services/request-info.service.js.map +0 -1
- package/dist/services/session.service.d.ts +0 -21
- package/dist/services/session.service.js +0 -70
- package/dist/services/session.service.js.map +0 -1
- package/dist/strategies/jwt.strategy.d.ts +0 -7
- package/dist/strategies/jwt.strategy.js +0 -38
- package/dist/strategies/jwt.strategy.js.map +0 -1
- package/dist/subscribers/audit.subscriber.d.ts +0 -8
- package/dist/subscribers/audit.subscriber.js +0 -40
- package/dist/subscribers/audit.subscriber.js.map +0 -1
package/README.md
CHANGED
|
@@ -127,7 +127,7 @@ export class MyService {
|
|
|
127
127
|
### Config
|
|
128
128
|
|
|
129
129
|
- `jwtConfig`, `redisConfig`, `databaseConfig`, `rabbitmqConfig`, `RABBITMQ_ROUTING_KEYS`
|
|
130
|
-
- `cookieConfig`, `internalConfig`, `corsConfig
|
|
130
|
+
- `cookieConfig`, `internalConfig`, `corsConfig`
|
|
131
131
|
|
|
132
132
|
### Constants
|
|
133
133
|
|
|
@@ -152,19 +152,15 @@ JWT_REFRESH_EXPIRES_IN=7d
|
|
|
152
152
|
SHARED_REDIS_HOST=localhost
|
|
153
153
|
SHARED_REDIS_PORT=6379
|
|
154
154
|
SHARED_REDIS_PASSWORD=
|
|
155
|
-
SHARED_REDIS_DB=0
|
|
156
155
|
|
|
157
156
|
# RabbitMQ
|
|
158
157
|
RABBITMQ_HOST=rabbitmq
|
|
159
158
|
RABBITMQ_PORT=5672
|
|
160
159
|
RABBITMQ_USER=admin
|
|
161
160
|
RABBITMQ_PASSWORD=admin123
|
|
162
|
-
RABBITMQ_VHOST=/
|
|
161
|
+
RABBITMQ_VHOST=/
|
|
163
162
|
RABBITMQ_EVENTS_EXCHANGE=events_exchange
|
|
164
163
|
|
|
165
|
-
# Cookie
|
|
166
|
-
AUTH_COOKIE_NAME=auth_tokens
|
|
167
|
-
|
|
168
164
|
# Internal Service
|
|
169
165
|
INTERNAL_SECRET=internal-secret
|
|
170
166
|
```
|
|
@@ -3,5 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cookieConfig = void 0;
|
|
4
4
|
exports.cookieConfig = {
|
|
5
5
|
cookieName: process.env.AUTH_COOKIE_NAME || "auth_tokens",
|
|
6
|
+
cookieDomain: process.env.COOKIE_DOMAIN || undefined,
|
|
6
7
|
};
|
|
7
8
|
//# sourceMappingURL=cookie.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.config.js","sourceRoot":"","sources":["../../src/config/cookie.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa;
|
|
1
|
+
{"version":3,"file":"cookie.config.js","sourceRoot":"","sources":["../../src/config/cookie.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa;IACzD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS;CACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../src/config/database.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,OAAgB;IACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;IAC3C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,cAAc;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc;IACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY;IACpD,QAAQ,EAAE,CAAC,SAAS,GAAG,kCAAkC,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IAC/C,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"database.config.js","sourceRoot":"","sources":["../../src/config/database.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,OAAgB;IACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;IAC3C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC;IAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,cAAc;IAClD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,cAAc;IACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY;IACpD,QAAQ,EAAE,CAAC,SAAS,GAAG,kCAAkC,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;IAC/C,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,KAAK;CACnB,CAAC"}
|
|
@@ -3,6 +3,9 @@ export declare const internalConfig: {
|
|
|
3
3
|
userManagementServiceUrl: string;
|
|
4
4
|
communicationServiceUrl: string;
|
|
5
5
|
mediaServiceUrl: string;
|
|
6
|
-
|
|
6
|
+
procurementServiceUrl: string;
|
|
7
|
+
salesServiceUrl: string;
|
|
8
|
+
masterDataServiceUrl: string;
|
|
9
|
+
tenantServiceUrl: string;
|
|
7
10
|
internalSecret: string;
|
|
8
11
|
};
|
|
@@ -8,8 +8,10 @@ exports.internalConfig = {
|
|
|
8
8
|
communicationServiceUrl: process.env.COMMUNICATION_SERVICE_URL ||
|
|
9
9
|
"http://service-communication:3003",
|
|
10
10
|
mediaServiceUrl: process.env.MEDIA_SERVICE_URL || "http://service-media:3004",
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
procurementServiceUrl: process.env.PROCUREMENT_SERVICE_URL || "http://service-procurement:3006",
|
|
12
|
+
salesServiceUrl: process.env.SALES_SERVICE_URL || "http://service-sales:3007",
|
|
13
|
+
masterDataServiceUrl: process.env.MASTER_DATA_SERVICE_URL || "http://service-master-data:3008",
|
|
14
|
+
tenantServiceUrl: process.env.TENANT_SERVICE_URL || "http://service-tenant:3009",
|
|
13
15
|
internalSecret: process.env.INTERNAL_SECRET || "internal-secret",
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=internal.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.config.js","sourceRoot":"","sources":["../../src/config/internal.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B;IAC1E,wBAAwB,EACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACvC,qCAAqC;IACvC,uBAAuB,EACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACrC,mCAAmC;IACrC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAA2B;IAC7E,
|
|
1
|
+
{"version":3,"file":"internal.config.js","sourceRoot":"","sources":["../../src/config/internal.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B;IAC1E,wBAAwB,EACtB,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACvC,qCAAqC;IACvC,uBAAuB,EACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACrC,mCAAmC;IACrC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAA2B;IAC7E,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,iCAAiC;IAC1E,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2BAA2B;IAC7E,oBAAoB,EAClB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,iCAAiC;IAC1E,gBAAgB,EACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,4BAA4B;IAChE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;CACjE,CAAC"}
|
|
@@ -4,11 +4,7 @@ export declare const rabbitmqConfig: {
|
|
|
4
4
|
user: string;
|
|
5
5
|
password: string;
|
|
6
6
|
vhost: string;
|
|
7
|
-
|
|
8
|
-
userMgmtQueue: string;
|
|
9
|
-
communicationQueue: string;
|
|
10
|
-
mediaQueue: string;
|
|
11
|
-
phuCuongPlusQueue: string;
|
|
7
|
+
queueName: string;
|
|
12
8
|
eventsExchange: string;
|
|
13
9
|
readonly url: string;
|
|
14
10
|
};
|
|
@@ -6,12 +6,8 @@ exports.rabbitmqConfig = {
|
|
|
6
6
|
port: parseInt(process.env.RABBITMQ_PORT, 10) || 5672,
|
|
7
7
|
user: process.env.RABBITMQ_USER || "admin",
|
|
8
8
|
password: process.env.RABBITMQ_PASSWORD || "admin123",
|
|
9
|
-
vhost: process.env.RABBITMQ_VHOST || "/
|
|
10
|
-
|
|
11
|
-
userMgmtQueue: process.env.USER_MGMT_QUEUE || "user_mgmt_queue",
|
|
12
|
-
communicationQueue: process.env.COMMUNICATION_QUEUE || "communication_queue",
|
|
13
|
-
mediaQueue: process.env.MEDIA_QUEUE || "media_queue",
|
|
14
|
-
phuCuongPlusQueue: process.env.PHU_CUONG_PLUS_QUEUE || "phu_cuong_plus_queue",
|
|
9
|
+
vhost: process.env.RABBITMQ_VHOST || "/",
|
|
10
|
+
queueName: process.env.RABBITMQ_QUEUE_NAME || "queue_name",
|
|
15
11
|
eventsExchange: process.env.RABBITMQ_EVENTS_EXCHANGE || "events_exchange",
|
|
16
12
|
get url() {
|
|
17
13
|
return `amqp://${this.user}:${this.password}@${this.host}:${this.port}/${encodeURIComponent(this.vhost)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitmq.config.js","sourceRoot":"","sources":["../../src/config/rabbitmq.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;IAC7C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,IAAI;IACrD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;IAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU;IACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,
|
|
1
|
+
{"version":3,"file":"rabbitmq.config.js","sourceRoot":"","sources":["../../src/config/rabbitmq.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,UAAU;IAC7C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,IAAI;IACrD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO;IAC1C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU;IACrD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG;IACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,YAAY;IAC1D,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,iBAAiB;IACzE,IAAI,GAAG;QACL,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IACtD,IAAI,CAAC,IACP,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACvC,CAAC;CACF,CAAC;AAMW,QAAA,qBAAqB,GAAG;IAKnC,uBAAuB,EAAE,yBAAyB;IAMlD,iBAAiB,EAAE,mBAAmB;IAMtC,mBAAmB,EAAE,qBAAqB;IAM1C,oBAAoB,EAAE,sBAAsB;IAM5C,oBAAoB,EAAE,sBAAsB;IAM5C,oBAAoB,EAAE,sBAAsB;CACpC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.redisCacheConfig = void 0;
|
|
4
|
+
exports.redisCacheConfig = {
|
|
5
|
+
host: process.env.REDIS_CACHE_HOST || "redis-shared",
|
|
6
|
+
port: parseInt(process.env.REDIS_CACHE_PORT || "6379"),
|
|
7
|
+
password: process.env.REDIS_CACHE_PASSWORD || undefined,
|
|
8
|
+
db: parseInt(process.env.REDIS_CACHE_DB || "0"),
|
|
9
|
+
retryDelayOnFailover: 100,
|
|
10
|
+
enableReadyCheck: false,
|
|
11
|
+
maxRetriesPerRequest: null,
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=redis-cache.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-cache.config.js","sourceRoot":"","sources":["../../src/config/redis-cache.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,cAAc;IACpD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC;IACtD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS;IACvD,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC;IAC/C,oBAAoB,EAAE,GAAG;IACzB,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,IAAI;CAC3B,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.redisConfig = void 0;
|
|
4
4
|
exports.redisConfig = {
|
|
5
|
-
host: process.env.SHARED_REDIS_HOST || "
|
|
5
|
+
host: process.env.SHARED_REDIS_HOST || "redis-shared",
|
|
6
6
|
port: parseInt(process.env.SHARED_REDIS_PORT || "6379"),
|
|
7
7
|
password: process.env.SHARED_REDIS_PASSWORD || undefined,
|
|
8
8
|
db: parseInt(process.env.SHARED_REDIS_DB || "0"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.config.js","sourceRoot":"","sources":["../../src/config/redis.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,
|
|
1
|
+
{"version":3,"file":"redis.config.js","sourceRoot":"","sources":["../../src/config/redis.config.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,cAAc;IACrD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC;IACvD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS;IACxD,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC;IAChD,oBAAoB,EAAE,GAAG;IACzB,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,IAAI;CAC3B,CAAC"}
|
|
@@ -58,7 +58,6 @@ export declare const MESSAGES: {
|
|
|
58
58
|
readonly EMAIL_ALREADY_EXISTS: "Email đã tồn tại";
|
|
59
59
|
readonly AUTHENTICATION_FAILED: "Xác thực thất bại";
|
|
60
60
|
readonly INTERNAL_SERVER_ERROR: "Lỗi hệ thống";
|
|
61
|
-
readonly USER_NOT_FOUND_IN_GOOGLE_OAUTH: "Không tìm thấy người dùng trong dữ liệu Google OAuth";
|
|
62
61
|
};
|
|
63
62
|
readonly EMAIL_VERIFICATION: {
|
|
64
63
|
readonly INVALID_OR_EXPIRED_TOKEN: "Token xác thực email không hợp lệ hoặc đã hết hạn";
|
|
@@ -87,10 +86,6 @@ export declare const MESSAGES: {
|
|
|
87
86
|
readonly METHODS_RETRIEVED_SUCCESS: "Lấy danh sách phương thức xác thực 2 bước thành công";
|
|
88
87
|
readonly METHOD_REMOVED_SUCCESS: "Xóa phương thức xác thực 2 bước thành công";
|
|
89
88
|
};
|
|
90
|
-
readonly GOOGLE_OAUTH: {
|
|
91
|
-
readonly REDIRECT_TO_LINK_ACCOUNT: "Chuyển hướng đến Google OAuth để liên kết tài khoản";
|
|
92
|
-
readonly NO_EMAIL_IN_PROFILE: "Không tìm thấy email trong hồ sơ Google";
|
|
93
|
-
};
|
|
94
89
|
readonly JWT: {
|
|
95
90
|
readonly INVALID_TOKEN_SIGNATURE: "Chữ ký token không hợp lệ";
|
|
96
91
|
readonly TOKEN_VALIDATION_FAILED: "Xác thực token thất bại";
|
|
@@ -61,7 +61,6 @@ exports.MESSAGES = {
|
|
|
61
61
|
EMAIL_ALREADY_EXISTS: "Email đã tồn tại",
|
|
62
62
|
AUTHENTICATION_FAILED: "Xác thực thất bại",
|
|
63
63
|
INTERNAL_SERVER_ERROR: "Lỗi hệ thống",
|
|
64
|
-
USER_NOT_FOUND_IN_GOOGLE_OAUTH: "Không tìm thấy người dùng trong dữ liệu Google OAuth",
|
|
65
64
|
},
|
|
66
65
|
EMAIL_VERIFICATION: {
|
|
67
66
|
INVALID_OR_EXPIRED_TOKEN: "Token xác thực email không hợp lệ hoặc đã hết hạn",
|
|
@@ -90,10 +89,6 @@ exports.MESSAGES = {
|
|
|
90
89
|
METHODS_RETRIEVED_SUCCESS: "Lấy danh sách phương thức xác thực 2 bước thành công",
|
|
91
90
|
METHOD_REMOVED_SUCCESS: "Xóa phương thức xác thực 2 bước thành công",
|
|
92
91
|
},
|
|
93
|
-
GOOGLE_OAUTH: {
|
|
94
|
-
REDIRECT_TO_LINK_ACCOUNT: "Chuyển hướng đến Google OAuth để liên kết tài khoản",
|
|
95
|
-
NO_EMAIL_IN_PROFILE: "Không tìm thấy email trong hồ sơ Google",
|
|
96
|
-
},
|
|
97
92
|
JWT: {
|
|
98
93
|
INVALID_TOKEN_SIGNATURE: "Chữ ký token không hợp lệ",
|
|
99
94
|
TOKEN_VALIDATION_FAILED: "Xác thực token thất bại",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.constants.js","sourceRoot":"","sources":["../../src/constants/messages.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IAEtB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,kBAAkB;IAC5B,gBAAgB,EAAE,cAAc;IAGhC,UAAU,EAAE;QACV,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,oBAAoB;QAC3B,cAAc,EAAE,mBAAmB;QACnC,aAAa,EAAE,wCAAwC;QACvD,iBAAiB,EAAE,sBAAsB;QACzC,eAAe,EAAE,8BAA8B;QAC/C,mBAAmB,EAAE,kCAAkC;QACvD,UAAU,EAAE,qBAAqB;QACjC,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,sBAAsB;QAC/B,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,yBAAyB;QACnC,YAAY,EAAE,qBAAqB;QACnC,SAAS,EAAE,4BAA4B;QACvC,SAAS,EAAE,kCAAkC;QAC7C,eAAe,EAAE,oCAAoC;QACrD,YAAY,EAAE,oCAAoC;QAClD,aAAa,EAAE,sCAAsC;QACrD,mBAAmB,EAAE,kCAAkC;KACxD;IAGD,IAAI,EAAE;QACJ,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,sBAAsB;QACtC,eAAe,EAAE,0BAA0B;QAC3C,oBAAoB,EAAE,oBAAoB;QAC1C,sBAAsB,EAAE,qCAAqC;QAC7D,gBAAgB,EAAE,2BAA2B;QAC7C,mBAAmB,EAAE,gCAAgC;QACrD,qBAAqB,EAAE,4BAA4B;QACnD,cAAc,EAAE,2BAA2B;QAC3C,0BAA0B,EAAE,8BAA8B;QAC1D,YAAY,EAAE,oBAAoB;QAClC,aAAa,EAAE,oBAAoB;QACnC,cAAc,EAAE,wBAAwB;QACxC,uBAAuB,EAAE,8BAA8B;QACvD,sBAAsB,EAAE,4BAA4B;QACpD,gBAAgB,EACd,sEAAsE;QACxE,QAAQ,EAAE,yBAAyB;QACnC,aAAa,EAAE,oCAAoC;QACnD,aAAa,EAAE,qBAAqB;QACpC,wBAAwB,EAAE,yBAAyB;QACnD,kBAAkB,EAChB,uEAAuE;QACzE,oBAAoB,EAAE,kBAAkB;QACxC,qBAAqB,EAAE,mBAAmB;QAC1C,qBAAqB,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"messages.constants.js","sourceRoot":"","sources":["../../src/constants/messages.constants.ts"],"names":[],"mappings":"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"}
|
package/dist/core/core.module.js
CHANGED
|
@@ -16,7 +16,9 @@ const request_info_service_1 = require("./services/request-info.service");
|
|
|
16
16
|
const jwt_service_1 = require("./services/jwt.service");
|
|
17
17
|
const session_service_1 = require("./services/session.service");
|
|
18
18
|
const redis_service_1 = require("./services/redis.service");
|
|
19
|
+
const redis_cache_service_1 = require("./services/redis-cache.service");
|
|
19
20
|
const rabbitmq_publisher_service_1 = require("./services/rabbitmq-publisher.service");
|
|
21
|
+
const repository_wrapper_service_1 = require("./services/repository-wrapper.service");
|
|
20
22
|
const jwt_strategy_1 = require("./strategies/jwt.strategy");
|
|
21
23
|
const jwt_auth_guard_1 = require("./guards/jwt-auth.guard");
|
|
22
24
|
const internal_auth_guard_1 = require("./guards/internal-auth.guard");
|
|
@@ -42,10 +44,12 @@ exports.CoreModule = CoreModule = __decorate([
|
|
|
42
44
|
],
|
|
43
45
|
providers: [
|
|
44
46
|
redis_service_1.RedisService,
|
|
47
|
+
redis_cache_service_1.RedisCacheService,
|
|
45
48
|
request_info_service_1.RequestInfoService,
|
|
46
49
|
jwt_service_1.CoreJwtService,
|
|
47
50
|
session_service_1.SessionService,
|
|
48
51
|
rabbitmq_publisher_service_1.RabbitMQPublisher,
|
|
52
|
+
repository_wrapper_service_1.RepositoryWrapperService,
|
|
49
53
|
jwt_strategy_1.JwtStrategy,
|
|
50
54
|
jwt_auth_guard_1.JwtAuthGuard,
|
|
51
55
|
internal_auth_guard_1.InternalAuthGuard,
|
|
@@ -61,7 +65,9 @@ exports.CoreModule = CoreModule = __decorate([
|
|
|
61
65
|
jwt_service_1.CoreJwtService,
|
|
62
66
|
session_service_1.SessionService,
|
|
63
67
|
redis_service_1.RedisService,
|
|
68
|
+
redis_cache_service_1.RedisCacheService,
|
|
64
69
|
rabbitmq_publisher_service_1.RabbitMQPublisher,
|
|
70
|
+
repository_wrapper_service_1.RepositoryWrapperService,
|
|
65
71
|
jwt_strategy_1.JwtStrategy,
|
|
66
72
|
jwt_auth_guard_1.JwtAuthGuard,
|
|
67
73
|
internal_auth_guard_1.InternalAuthGuard,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,+CAAkD;AAClD,qCAAwC;AACxC,uCAA+C;AAC/C,mDAA+C;AAG/C,8EAAyE;AACzE,4DAA4D;AAC5D,oEAAgE;AAChE,gEAA4D;AAC5D,0FAA8E;
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../src/core/core.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,+CAAkD;AAClD,qCAAwC;AACxC,uCAA+C;AAC/C,mDAA+C;AAG/C,8EAAyE;AACzE,4DAA4D;AAC5D,oEAAgE;AAChE,gEAA4D;AAC5D,4EAAuE;AACvE,0FAA8E;AAC9E,0FAAqF;AAGrF,gEAA4D;AAG5D,gEAA2D;AAC3D,0EAAqE;AAGrE,gGAA2F;AAG3F,yEAAqE;AAyD9D,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAvDtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc;YACd,eAAS,CAAC,aAAa,CAAC;gBACtB,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;oBACjB,MAAM,EAAE,sBAAS,CAAC,MAAM;oBACxB,WAAW,EAAE;wBACX,SAAS,EAAE,sBAAS,CAAC,SAAS;qBAC/B;iBACF,CAAC;aACH,CAAC;SACH;QACD,SAAS,EAAE;YAET,4BAAY;YACZ,uCAAiB;YACjB,yCAAkB;YAClB,4BAAc;YACd,gCAAc;YACd,8CAAiB;YACjB,qDAAwB;YAExB,0BAAW;YAEX,6BAAY;YACZ,uCAAiB;YAEjB,uDAAyB;YACzB;gBACE,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,uDAAyB;aACpC;YAED,kCAAe;SAChB;QACD,OAAO,EAAE;YAEP,yCAAkB;YAClB,4BAAc;YACd,gCAAc;YACd,4BAAY;YACZ,uCAAiB;YACjB,8CAAiB;YACjB,qDAAwB;YAExB,0BAAW;YAEX,6BAAY;YACZ,uCAAiB;YAEjB,uDAAyB;SAC1B;KACF,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CurrentUser = void 0;
|
|
4
|
+
const messages_constants_1 = require("../../constants/messages.constants");
|
|
4
5
|
const common_1 = require("@nestjs/common");
|
|
5
6
|
exports.CurrentUser = (0, common_1.createParamDecorator)((data, ctx) => {
|
|
6
7
|
const request = ctx.switchToHttp().getRequest();
|
|
7
|
-
|
|
8
|
+
const user = request.user;
|
|
9
|
+
if (!user) {
|
|
10
|
+
throw new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.INVALID_TOKEN);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
companyId: parseInt(user.companyId || "0"),
|
|
14
|
+
uuid: user.uuid || "",
|
|
15
|
+
userId: parseInt(user.userId || "0"),
|
|
16
|
+
orgUnitId: parseInt(user.orgUnitId || "0"),
|
|
17
|
+
email: user.email || "",
|
|
18
|
+
fullName: user.fullName || "",
|
|
19
|
+
employeeCode: user.employeeCode || "",
|
|
20
|
+
avatar: user.avatar || "",
|
|
21
|
+
dataScope: user.dataScope || "",
|
|
22
|
+
permissions: user.permissions || [],
|
|
23
|
+
};
|
|
8
24
|
});
|
|
9
25
|
//# sourceMappingURL=current-user.decorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-user.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/current-user.decorator.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"current-user.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/current-user.decorator.ts"],"names":[],"mappings":";;;AAAA,sEAAyD;AAEzD,2CAIwB;AAEX,QAAA,WAAW,GAAG,IAAA,6BAAoB,EAC7C,CAAC,IAAa,EAAE,GAAqB,EAAkB,EAAE;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QAC1C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;QACpC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;QAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -15,3 +15,15 @@ export declare class PaginationResponseDto<T> {
|
|
|
15
15
|
data: T[];
|
|
16
16
|
meta: PaginationMetaDto;
|
|
17
17
|
}
|
|
18
|
+
export declare class FindAllWithFiltersDto extends PaginationDto {
|
|
19
|
+
filters?: Record<string, string[]>;
|
|
20
|
+
}
|
|
21
|
+
export interface FilterValueDto {
|
|
22
|
+
value: string | number;
|
|
23
|
+
label: string;
|
|
24
|
+
count: number;
|
|
25
|
+
}
|
|
26
|
+
export interface GetFilterValuesDto extends PaginationDto {
|
|
27
|
+
column: string;
|
|
28
|
+
search?: string;
|
|
29
|
+
}
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PaginationResponseDto = exports.PaginationMetaDto = exports.PaginationDto = void 0;
|
|
12
|
+
exports.FindAllWithFiltersDto = exports.PaginationResponseDto = exports.PaginationMetaDto = exports.PaginationDto = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const messages_constants_1 = require("../../constants/messages.constants");
|
|
@@ -58,4 +58,28 @@ exports.PaginationMetaDto = PaginationMetaDto;
|
|
|
58
58
|
class PaginationResponseDto {
|
|
59
59
|
}
|
|
60
60
|
exports.PaginationResponseDto = PaginationResponseDto;
|
|
61
|
+
class FindAllWithFiltersDto extends PaginationDto {
|
|
62
|
+
}
|
|
63
|
+
exports.FindAllWithFiltersDto = FindAllWithFiltersDto;
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, class_validator_1.IsOptional)(),
|
|
66
|
+
(0, class_transformer_1.Transform)(({ value }) => {
|
|
67
|
+
if (!value)
|
|
68
|
+
return undefined;
|
|
69
|
+
if (typeof value === "object" && value !== null) {
|
|
70
|
+
const result = {};
|
|
71
|
+
Object.keys(value).forEach((key) => {
|
|
72
|
+
if (Array.isArray(value[key])) {
|
|
73
|
+
result[key] = value[key];
|
|
74
|
+
}
|
|
75
|
+
else if (value[key] !== undefined && value[key] !== null) {
|
|
76
|
+
result[key] = [String(value[key])];
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}),
|
|
83
|
+
__metadata("design:type", Object)
|
|
84
|
+
], FindAllWithFiltersDto.prototype, "filters", void 0);
|
|
61
85
|
//# sourceMappingURL=pagination.dto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.dto.js","sourceRoot":"","sources":["../../../src/core/dtos/pagination.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AACzB,yDAAoD;AACpD,sEAAyD;AAEzD,MAAa,aAAa;IAA1B;QAKE,SAAI,GAAY,CAAC,CAAC;QAOlB,UAAK,GAAY,EAAE,CAAC;QAapB,aAAQ,GAAoB,MAAM,CAAC;IACrC,CAAC;CAAA;AA1BD,sCA0BC;AArBC;IAJC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;;2CAChC;AAOlB;IALC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IAC3D,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IAClD,IAAA,qBAAG,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;;4CACjC;AAIpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;;6CACxB;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;;6CAC3C;AAKhB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACvD,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,6BAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;;+CACnC;AAGrC,MAAa,iBAAiB;CAK7B;AALD,8CAKC;AAED,MAAa,qBAAqB;CAGjC;AAHD,sDAGC"}
|
|
1
|
+
{"version":3,"file":"pagination.dto.js","sourceRoot":"","sources":["../../../src/core/dtos/pagination.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ __decorate([
|
|
|
18
18
|
(0, typeorm_1.PrimaryGeneratedColumn)({ type: "bigint" }),
|
|
19
19
|
__metadata("design:type", Number)
|
|
20
20
|
], BaseEntity.prototype, "id", void 0);
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, typeorm_1.Column)({ name: "company_id", type: "bigint" }),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], BaseEntity.prototype, "companyId", void 0);
|
|
21
25
|
__decorate([
|
|
22
26
|
(0, typeorm_1.Column)({ name: "search_keyword", type: "text", nullable: true }),
|
|
23
27
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.entity.js","sourceRoot":"","sources":["../../../src/core/entities/base.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AAEjB,MAAsB,UAAU;
|
|
1
|
+
{"version":3,"file":"base.entity.js","sourceRoot":"","sources":["../../../src/core/entities/base.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAMiB;AAEjB,MAAsB,UAAU;CA8B/B;AA9BD,gCA8BC;AA5BC;IADC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;sCAChC;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CAC7B;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC3C;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CAC7C;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC7C;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC7C;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CAC7C;AAGlB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;6CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC9C,IAAI;6CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC9C,IAAI;6CAAC"}
|
|
@@ -35,13 +35,12 @@ let JwtAuthGuard = JwtAuthGuard_1 = class JwtAuthGuard extends (0, passport_1.Au
|
|
|
35
35
|
const request = context.switchToHttp().getRequest();
|
|
36
36
|
const tokens = cookie_service_1.CookieService.extractTokensFromCookie(request);
|
|
37
37
|
if (!tokens?.accessToken) {
|
|
38
|
-
this.logger.warn(`[JwtAuthGuard] No access token found in cookies for ${request.method} ${request.path}`);
|
|
39
38
|
throw new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.NO_TOKEN);
|
|
40
39
|
}
|
|
41
|
-
this.logger.log(`
|
|
40
|
+
this.logger.log(`Access token: ${tokens.accessToken}`);
|
|
42
41
|
const currentUser = await this.coreJwtService.getCurrentUser(tokens.accessToken);
|
|
42
|
+
this.logger.log(`Current user: ${JSON.stringify(currentUser)}`);
|
|
43
43
|
if (!currentUser) {
|
|
44
|
-
this.logger.warn(`[JwtAuthGuard] Failed to get current user from token`);
|
|
45
44
|
throw new common_1.UnauthorizedException(messages_constants_1.MESSAGES.AUTH.INVALID_TOKEN);
|
|
46
45
|
}
|
|
47
46
|
request.user = currentUser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../../src/core/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,+CAA6C;AAC7C,uCAAyC;AACzC,4DAA4D;AAC5D,kEAA8D;AAC9D,sEAAyD;AACzD,wEAAkE;AAG3D,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAGhD,YACU,SAAoB,EACpB,cAA8B;QAEtC,KAAK,EAAE,CAAC;QAHA,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAJvB,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAOxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,gCAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,8BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,
|
|
1
|
+
{"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../../src/core/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAKwB;AACxB,+CAA6C;AAC7C,uCAAyC;AACzC,4DAA4D;AAC5D,kEAA8D;AAC9D,sEAAyD;AACzD,wEAAkE;AAG3D,IAAM,YAAY,oBAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IAGhD,YACU,SAAoB,EACpB,cAA8B;QAEtC,KAAK,EAAE,CAAC;QAHA,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAJvB,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAOxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,gCAAa,EAAE;YACxE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,8BAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YACzB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAC1D,MAAM,CAAC,WAAW,CACnB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAS;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI;YAAE,IAAI,8BAAqB,CAAC,6BAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA9CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAKU,gBAAS;QACJ,4BAAc;GAL7B,YAAY,CA8CxB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var TypeOrmFilterModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.TypeOrmFilterModule = void 0;
|
|
11
|
+
const common_1 = require("@nestjs/common");
|
|
12
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
13
|
+
const repository_wrapper_service_1 = require("../services/repository-wrapper.service");
|
|
14
|
+
const typeorm_2 = require("@nestjs/typeorm");
|
|
15
|
+
let TypeOrmFilterModule = TypeOrmFilterModule_1 = class TypeOrmFilterModule {
|
|
16
|
+
static forFeature(entities) {
|
|
17
|
+
const typeOrmModule = typeorm_1.TypeOrmModule.forFeature(entities);
|
|
18
|
+
const wrappedProviders = entities.map((entity) => {
|
|
19
|
+
const repositoryToken = (0, typeorm_1.getRepositoryToken)(entity);
|
|
20
|
+
return {
|
|
21
|
+
provide: repositoryToken,
|
|
22
|
+
useFactory: (dataSource, wrapperService) => {
|
|
23
|
+
const originalRepository = dataSource.getRepository(entity);
|
|
24
|
+
return wrapperService.wrap(originalRepository);
|
|
25
|
+
},
|
|
26
|
+
inject: [(0, typeorm_2.getDataSourceToken)(), repository_wrapper_service_1.RepositoryWrapperService],
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
module: TypeOrmFilterModule_1,
|
|
31
|
+
imports: [typeOrmModule],
|
|
32
|
+
providers: [repository_wrapper_service_1.RepositoryWrapperService, ...wrappedProviders],
|
|
33
|
+
exports: wrappedProviders,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.TypeOrmFilterModule = TypeOrmFilterModule;
|
|
38
|
+
exports.TypeOrmFilterModule = TypeOrmFilterModule = TypeOrmFilterModule_1 = __decorate([
|
|
39
|
+
(0, common_1.Module)({})
|
|
40
|
+
], TypeOrmFilterModule);
|
|
41
|
+
//# sourceMappingURL=typeorm-filter.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeorm-filter.module.js","sourceRoot":"","sources":["../../../src/core/modules/typeorm-filter.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAoE;AAGpE,0FAAqF;AACrF,6CAAqD;AAa9C,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC9B,MAAM,CAAC,UAAU,CAAC,QAAqB;QAErC,MAAM,aAAa,GAAG,uBAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAGzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/C,MAAM,eAAe,GAAG,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC;YAEnD,OAAO;gBACL,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,CACV,UAAsB,EACtB,cAAwC,EACxC,EAAE;oBAEF,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAE5D,OAAO,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,EAAE,CAAC,IAAA,4BAAkB,GAAE,EAAE,qDAAwB,CAAC;aACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,qBAAmB;YAC3B,OAAO,EAAE,CAAC,aAAa,CAAC;YACxB,SAAS,EAAE,CAAC,qDAAwB,EAAE,GAAG,gBAAgB,CAAC;YAC1D,OAAO,EAAE,gBAAgB;SAC1B,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,mBAAmB,CA+B/B"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { Repository, SelectQueryBuilder } from "typeorm";
|
|
2
|
-
import { PaginationDto, PaginationResponseDto } from "../dtos/pagination.dto";
|
|
2
|
+
import { PaginationDto, PaginationResponseDto, FilterValueDto, GetFilterValuesDto } from "../dtos/pagination.dto";
|
|
3
3
|
export declare abstract class BasePaginationService<T> {
|
|
4
4
|
protected repository: Repository<T>;
|
|
5
5
|
protected constructor(repository: Repository<T>);
|
|
6
|
+
protected getDateColumns(): string[];
|
|
7
|
+
protected getDuplicateErrorMessage(): string;
|
|
8
|
+
protected getQueryAlias(): string;
|
|
9
|
+
protected getDeletedAtField(): string | null;
|
|
6
10
|
protected paginate<TEntity>(queryBuilder: SelectQueryBuilder<TEntity>, paginationDto: PaginationDto): Promise<PaginationResponseDto<TEntity>>;
|
|
7
11
|
protected buildSearchQuery(queryBuilder: SelectQueryBuilder<T>, searchFields: string[], search?: string): SelectQueryBuilder<T>;
|
|
8
12
|
protected buildOrderQuery(queryBuilder: SelectQueryBuilder<T>, sortBy?: string, sortType?: "ASC" | "DESC", fieldMapping?: Record<string, string>): SelectQueryBuilder<T>;
|
|
13
|
+
protected isDateColumn(column: string): boolean;
|
|
14
|
+
protected handleDuplicateError(error: any, message?: string): never;
|
|
15
|
+
protected buildColumnFilters(queryBuilder: SelectQueryBuilder<T>, filters: Record<string, string[]>, fieldMapping: Record<string, string>, alias?: string): SelectQueryBuilder<T>;
|
|
16
|
+
protected getFilterValuesInternal(dto: GetFilterValuesDto, columnMapping: Record<string, string>, fieldMapping?: Record<string, string>): Promise<PaginationResponseDto<FilterValueDto>>;
|
|
9
17
|
}
|