@aifabrix/miso-client 2.0.0 → 2.1.0
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 +231 -2
- package/dist/express/async-handler.d.ts +41 -0
- package/dist/express/async-handler.d.ts.map +1 -0
- package/dist/express/async-handler.js +58 -0
- package/dist/express/async-handler.js.map +1 -0
- package/dist/express/encryption.d.ts +29 -0
- package/dist/express/encryption.d.ts.map +1 -0
- package/dist/express/encryption.js +95 -0
- package/dist/express/encryption.js.map +1 -0
- package/dist/express/error-handler.d.ts +23 -0
- package/dist/express/error-handler.d.ts.map +1 -0
- package/dist/express/error-handler.js +140 -0
- package/dist/express/error-handler.js.map +1 -0
- package/dist/express/error-response.d.ts +55 -0
- package/dist/express/error-response.d.ts.map +1 -0
- package/dist/express/error-response.js +95 -0
- package/dist/express/error-response.js.map +1 -0
- package/dist/express/error-types.d.ts +46 -0
- package/dist/express/error-types.d.ts.map +1 -0
- package/dist/express/error-types.js +93 -0
- package/dist/express/error-types.js.map +1 -0
- package/dist/express/index.d.ts +14 -0
- package/dist/express/index.d.ts.map +1 -0
- package/dist/express/index.js +39 -0
- package/dist/express/index.js.map +1 -0
- package/dist/express/response-helper.d.ts +67 -0
- package/dist/express/response-helper.d.ts.map +1 -0
- package/dist/express/response-helper.js +83 -0
- package/dist/express/response-helper.js.map +1 -0
- package/dist/express/response-middleware.d.ts +18 -0
- package/dist/express/response-middleware.d.ts.map +1 -0
- package/dist/express/response-middleware.js +29 -0
- package/dist/express/response-middleware.js.map +1 -0
- package/dist/express/validation-helper.d.ts +66 -0
- package/dist/express/validation-helper.d.ts.map +1 -0
- package/dist/express/validation-helper.js +102 -0
- package/dist/express/validation-helper.js.map +1 -0
- package/dist/index.d.ts +23 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -23
- package/dist/index.js.map +1 -1
- package/dist/services/auth.service.d.ts +3 -3
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +24 -18
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/cache.service.d.ts +1 -1
- package/dist/services/cache.service.d.ts.map +1 -1
- package/dist/services/cache.service.js +1 -1
- package/dist/services/cache.service.js.map +1 -1
- package/dist/services/logger.service.d.ts +3 -3
- package/dist/services/logger.service.d.ts.map +1 -1
- package/dist/services/logger.service.js +32 -25
- package/dist/services/logger.service.js.map +1 -1
- package/dist/services/permission.service.d.ts +3 -3
- package/dist/services/permission.service.d.ts.map +1 -1
- package/dist/services/permission.service.js +9 -6
- package/dist/services/permission.service.js.map +1 -1
- package/dist/services/redis.service.d.ts +1 -1
- package/dist/services/redis.service.js +10 -10
- package/dist/services/role.service.d.ts +3 -3
- package/dist/services/role.service.d.ts.map +1 -1
- package/dist/services/role.service.js +8 -5
- package/dist/services/role.service.js.map +1 -1
- package/dist/types/config.types.d.ts +4 -4
- package/dist/types/config.types.d.ts.map +1 -1
- package/dist/types/config.types.js +6 -5
- package/dist/types/config.types.js.map +1 -1
- package/dist/types/filter.types.d.ts +1 -1
- package/dist/types/filter.types.d.ts.map +1 -1
- package/dist/types/filter.types.js +2 -2
- package/dist/types/filter.types.js.map +1 -1
- package/dist/types/sort.types.d.ts +1 -1
- package/dist/utils/audit-log-queue.d.ts +4 -4
- package/dist/utils/audit-log-queue.d.ts.map +1 -1
- package/dist/utils/audit-log-queue.js +11 -11
- package/dist/utils/audit-log-queue.js.map +1 -1
- package/dist/utils/auth-strategy.d.ts +1 -1
- package/dist/utils/auth-strategy.d.ts.map +1 -1
- package/dist/utils/auth-strategy.js +19 -17
- package/dist/utils/auth-strategy.js.map +1 -1
- package/dist/utils/config-loader.d.ts +2 -2
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +11 -10
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/data-masker.d.ts.map +1 -1
- package/dist/utils/data-masker.js +7 -7
- package/dist/utils/data-masker.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +37 -30
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/filter.utils.d.ts +2 -2
- package/dist/utils/filter.utils.d.ts.map +1 -1
- package/dist/utils/filter.utils.js +24 -18
- package/dist/utils/filter.utils.js.map +1 -1
- package/dist/utils/http-client-audit.d.ts +4 -4
- package/dist/utils/http-client-audit.d.ts.map +1 -1
- package/dist/utils/http-client-audit.js +30 -22
- package/dist/utils/http-client-audit.js.map +1 -1
- package/dist/utils/http-client-masking.d.ts +1 -1
- package/dist/utils/http-client-masking.d.ts.map +1 -1
- package/dist/utils/http-client-masking.js +31 -21
- package/dist/utils/http-client-masking.js.map +1 -1
- package/dist/utils/http-client-metadata.d.ts +2 -2
- package/dist/utils/http-client-metadata.d.ts.map +1 -1
- package/dist/utils/http-client-metadata.js +7 -7
- package/dist/utils/http-client-metadata.js.map +1 -1
- package/dist/utils/http-client.d.ts +6 -6
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +8 -9
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/internal-http-client.d.ts +5 -5
- package/dist/utils/internal-http-client.d.ts.map +1 -1
- package/dist/utils/internal-http-client.js +48 -42
- package/dist/utils/internal-http-client.js.map +1 -1
- package/dist/utils/pagination.utils.d.ts +1 -1
- package/dist/utils/pagination.utils.d.ts.map +1 -1
- package/dist/utils/pagination.utils.js +3 -3
- package/dist/utils/pagination.utils.js.map +1 -1
- package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
- package/dist/utils/sensitive-fields.loader.js +77 -60
- package/dist/utils/sensitive-fields.loader.js.map +1 -1
- package/dist/utils/sort.utils.d.ts +14 -3
- package/dist/utils/sort.utils.d.ts.map +1 -1
- package/dist/utils/sort.utils.js +73 -9
- package/dist/utils/sort.utils.js.map +1 -1
- package/package.json +11 -2
- package/dist/services/encryption.service.d.ts +0 -32
- package/dist/services/encryption.service.d.ts.map +0 -1
- package/dist/services/encryption.service.js +0 -135
- package/dist/services/encryption.service.js.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Response Helper Utilities
|
|
4
|
+
* Standardizes API response formats across the application
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ResponseHelper = void 0;
|
|
8
|
+
const pagination_utils_1 = require("../utils/pagination.utils");
|
|
9
|
+
const error_types_1 = require("./error-types");
|
|
10
|
+
/**
|
|
11
|
+
* Response Helper for standardizing API responses
|
|
12
|
+
*/
|
|
13
|
+
class ResponseHelper {
|
|
14
|
+
/**
|
|
15
|
+
* Success response with data (200)
|
|
16
|
+
* @param res - Express response object
|
|
17
|
+
* @param data - Response data
|
|
18
|
+
* @param message - Optional success message
|
|
19
|
+
* @param statusCode - HTTP status code (default: 200)
|
|
20
|
+
*/
|
|
21
|
+
static success(res, data, message, statusCode = 200) {
|
|
22
|
+
const response = {
|
|
23
|
+
success: true,
|
|
24
|
+
data,
|
|
25
|
+
timestamp: new Date().toISOString(),
|
|
26
|
+
};
|
|
27
|
+
if (message) {
|
|
28
|
+
response.message = message;
|
|
29
|
+
}
|
|
30
|
+
return res.status(statusCode).json(response);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Created response (201)
|
|
34
|
+
* @param res - Express response object
|
|
35
|
+
* @param data - Created resource data
|
|
36
|
+
* @param message - Optional success message (default: 'Resource created')
|
|
37
|
+
*/
|
|
38
|
+
static created(res, data, message = "Resource created") {
|
|
39
|
+
return ResponseHelper.success(res, data, message, 201);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Paginated list response (200)
|
|
43
|
+
* Uses miso-client SDK standard format: { data, meta }
|
|
44
|
+
* @param res - Express response object
|
|
45
|
+
* @param items - Array of items
|
|
46
|
+
* @param meta - Pagination metadata
|
|
47
|
+
*/
|
|
48
|
+
static paginated(res, items, meta) {
|
|
49
|
+
const response = (0, pagination_utils_1.createPaginatedListResponse)(items, meta.totalItems, meta.currentPage, meta.pageSize, meta.type);
|
|
50
|
+
return res.status(200).json(response);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* No content response (204)
|
|
54
|
+
* @param res - Express response object
|
|
55
|
+
*/
|
|
56
|
+
static noContent(res) {
|
|
57
|
+
return res.status(204).send();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Accepted response (202)
|
|
61
|
+
* Used for async operations that have been accepted but not completed
|
|
62
|
+
* @param res - Express response object
|
|
63
|
+
* @param data - Optional data about the accepted request
|
|
64
|
+
* @param message - Optional message (default: 'Request accepted')
|
|
65
|
+
*/
|
|
66
|
+
static accepted(res, data, message = "Request accepted") {
|
|
67
|
+
return ResponseHelper.success(res, data, message, 202);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Error response helper
|
|
71
|
+
* Throws an AppError which will be caught by error middleware
|
|
72
|
+
* @param message - Error message
|
|
73
|
+
* @param statusCode - HTTP status code (default: 400)
|
|
74
|
+
* @param isOperational - Whether error is operational (default: true)
|
|
75
|
+
* @param validationErrors - Optional validation errors
|
|
76
|
+
* @param errorType - Optional error type/code
|
|
77
|
+
*/
|
|
78
|
+
static error(message, statusCode = 400, isOperational = true, validationErrors, errorType) {
|
|
79
|
+
throw new error_types_1.AppError(message, statusCode, isOperational, validationErrors, errorType);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.ResponseHelper = ResponseHelper;
|
|
83
|
+
//# sourceMappingURL=response-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-helper.js","sourceRoot":"","sources":["../../src/express/response-helper.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,gEAAwE;AACxE,+CAAyC;AAazC;;GAEG;AACH,MAAa,cAAc;IACzB;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACZ,GAAa,EACb,IAAO,EACP,OAAgB,EAChB,UAAU,GAAG,GAAG;QAEhB,MAAM,QAAQ,GAKV;YACF,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CACZ,GAAa,EACb,IAAO,EACP,OAAO,GAAG,kBAAkB;QAE5B,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CACd,GAAa,EACb,KAAU,EACV,IAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAA,8CAA2B,EAC1C,KAAK,EACL,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAI,CACV,CAAC;QACF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,GAAa;QAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CACb,GAAa,EACb,IAAQ,EACR,OAAO,GAAG,kBAAkB;QAE5B,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CACV,OAAe,EACf,UAAU,GAAG,GAAG,EAChB,aAAa,GAAG,IAAI,EACpB,gBAA0B,EAC1B,SAAkB;QAElB,MAAM,IAAI,sBAAQ,CAChB,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAyB,EACzB,SAAS,CACV,CAAC;IACJ,CAAC;CACF;AAnHD,wCAmHC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response Helpers Injector Middleware
|
|
3
|
+
* Injects response helper methods into Express Response object
|
|
4
|
+
*/
|
|
5
|
+
import { Request, Response, NextFunction } from "express";
|
|
6
|
+
/**
|
|
7
|
+
* Inject response helper methods into Express Response
|
|
8
|
+
* Makes standardized response methods available on all responses
|
|
9
|
+
*
|
|
10
|
+
* Usage in routes:
|
|
11
|
+
* - res.success(data, 'User retrieved')
|
|
12
|
+
* - res.created(user, 'User created')
|
|
13
|
+
* - res.paginated(users, meta)
|
|
14
|
+
* - res.noContent()
|
|
15
|
+
* - res.accepted(job, 'Job queued')
|
|
16
|
+
*/
|
|
17
|
+
export declare function injectResponseHelpers(req: Request, res: Response, next: NextFunction): void;
|
|
18
|
+
//# sourceMappingURL=response-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-middleware.d.ts","sourceRoot":"","sources":["../../src/express/response-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAiBN"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Response Helpers Injector Middleware
|
|
4
|
+
* Injects response helper methods into Express Response object
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.injectResponseHelpers = injectResponseHelpers;
|
|
8
|
+
const response_helper_1 = require("./response-helper");
|
|
9
|
+
/**
|
|
10
|
+
* Inject response helper methods into Express Response
|
|
11
|
+
* Makes standardized response methods available on all responses
|
|
12
|
+
*
|
|
13
|
+
* Usage in routes:
|
|
14
|
+
* - res.success(data, 'User retrieved')
|
|
15
|
+
* - res.created(user, 'User created')
|
|
16
|
+
* - res.paginated(users, meta)
|
|
17
|
+
* - res.noContent()
|
|
18
|
+
* - res.accepted(job, 'Job queued')
|
|
19
|
+
*/
|
|
20
|
+
function injectResponseHelpers(req, res, next) {
|
|
21
|
+
// Inject helper methods
|
|
22
|
+
res.success = (data, message) => response_helper_1.ResponseHelper.success(res, data, message);
|
|
23
|
+
res.created = (data, message) => response_helper_1.ResponseHelper.created(res, data, message);
|
|
24
|
+
res.paginated = (items, meta) => response_helper_1.ResponseHelper.paginated(res, items, meta);
|
|
25
|
+
res.noContent = () => response_helper_1.ResponseHelper.noContent(res);
|
|
26
|
+
res.accepted = (data, message) => response_helper_1.ResponseHelper.accepted(res, data, message);
|
|
27
|
+
next();
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=response-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-middleware.js","sourceRoot":"","sources":["../../src/express/response-middleware.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAgBH,sDAqBC;AAlCD,uDAAmE;AAEnE;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CACnC,GAAY,EACZ,GAAa,EACb,IAAkB;IAElB,wBAAwB;IACxB,GAAG,CAAC,OAAO,GAAG,CAAI,IAAO,EAAE,OAAgB,EAAE,EAAE,CAC7C,gCAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7C,GAAG,CAAC,OAAO,GAAG,CAAI,IAAO,EAAE,OAAgB,EAAE,EAAE,CAC7C,gCAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7C,GAAG,CAAC,SAAS,GAAG,CAAI,KAAU,EAAE,IAAoB,EAAE,EAAE,CACtD,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE7C,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,gCAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpD,GAAG,CAAC,QAAQ,GAAG,CAAI,IAAQ,EAAE,OAAgB,EAAE,EAAE,CAC/C,gCAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9C,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ValidationHelper Service
|
|
3
|
+
* Provides reusable validation patterns to reduce code duplication
|
|
4
|
+
*/
|
|
5
|
+
import { Request } from "express";
|
|
6
|
+
export declare class ValidationHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Find entity or throw 404
|
|
9
|
+
* @param finder - Function that returns the entity or null
|
|
10
|
+
* @param entityName - Name of the entity for error messages
|
|
11
|
+
* @param id - Optional ID for error message
|
|
12
|
+
* @returns The found entity
|
|
13
|
+
* @throws AppError with 404 if entity not found
|
|
14
|
+
*/
|
|
15
|
+
static findOrFail<T>(finder: () => Promise<T | null>, entityName: string, id?: string): Promise<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Check entity doesn't exist or throw 409
|
|
18
|
+
* @param finder - Function that returns the entity or null
|
|
19
|
+
* @param entityName - Name of the entity for error messages
|
|
20
|
+
* @param identifier - Optional identifier for error message
|
|
21
|
+
* @throws AppError with 409 if entity exists
|
|
22
|
+
*/
|
|
23
|
+
static ensureNotExists<T>(finder: () => Promise<T | null>, entityName: string, identifier?: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Check ownership or admin role
|
|
26
|
+
* @param req - Express request object with userId
|
|
27
|
+
* @param resourceUserId - User ID that owns the resource
|
|
28
|
+
* @param message - Custom error message
|
|
29
|
+
* @throws AppError with 403 if not owner and not admin
|
|
30
|
+
*/
|
|
31
|
+
static ensureOwnershipOrAdmin(req: {
|
|
32
|
+
userId?: string;
|
|
33
|
+
userRoles?: string[];
|
|
34
|
+
}, resourceUserId: string, message?: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Batch validation - run multiple validations in parallel
|
|
37
|
+
* @param validations - Array of validation functions to execute
|
|
38
|
+
*/
|
|
39
|
+
static validateAll(validations: Array<() => Promise<void>>): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Validate required fields in object
|
|
42
|
+
* @param data - Object to validate
|
|
43
|
+
* @param requiredFields - Array of required field names
|
|
44
|
+
* @param entityName - Name of entity for error message
|
|
45
|
+
* @throws AppError with 400 if required fields are missing
|
|
46
|
+
*/
|
|
47
|
+
static validateRequiredFields(data: Record<string, any>, requiredFields: string[], entityName: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Ensure authenticated user
|
|
50
|
+
* @param req - Express request object with optional userId
|
|
51
|
+
* @throws AppError with 401 if not authenticated
|
|
52
|
+
*/
|
|
53
|
+
static ensureAuthenticated(req: Request & {
|
|
54
|
+
userId?: string;
|
|
55
|
+
}): void;
|
|
56
|
+
/**
|
|
57
|
+
* Validate string length
|
|
58
|
+
* @param value - String to validate
|
|
59
|
+
* @param fieldName - Field name for error message
|
|
60
|
+
* @param min - Minimum length (optional)
|
|
61
|
+
* @param max - Maximum length (optional)
|
|
62
|
+
* @throws AppError with 400 if validation fails
|
|
63
|
+
*/
|
|
64
|
+
static validateStringLength(value: string, fieldName: string, min?: number, max?: number): void;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=validation-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-helper.d.ts","sourceRoot":"","sources":["../../src/express/validation-helper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,qBAAa,gBAAgB;IAC3B;;;;;;;OAOG;WACU,UAAU,CAAC,CAAC,EACvB,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,CAAC;IAcb;;;;;;OAMG;WACU,eAAe,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAC3B,GAAG,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAC9C,cAAc,EAAE,MAAM,EACtB,OAAO,SAA0C,GAChD,IAAI;IAUP;;;OAGG;WACU,WAAW,CACtB,WAAW,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAE3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,cAAc,EAAE,MAAM,EAAE,EACxB,UAAU,EAAE,MAAM,GACjB,IAAI;IAiBP;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYpE;;;;;;;OAOG;IACH,MAAM,CAAC,oBAAoB,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,IAAI;CAqBR"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ValidationHelper Service
|
|
4
|
+
* Provides reusable validation patterns to reduce code duplication
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ValidationHelper = void 0;
|
|
8
|
+
const error_types_1 = require("./error-types");
|
|
9
|
+
class ValidationHelper {
|
|
10
|
+
/**
|
|
11
|
+
* Find entity or throw 404
|
|
12
|
+
* @param finder - Function that returns the entity or null
|
|
13
|
+
* @param entityName - Name of the entity for error messages
|
|
14
|
+
* @param id - Optional ID for error message
|
|
15
|
+
* @returns The found entity
|
|
16
|
+
* @throws AppError with 404 if entity not found
|
|
17
|
+
*/
|
|
18
|
+
static async findOrFail(finder, entityName, id) {
|
|
19
|
+
const entity = await finder();
|
|
20
|
+
if (!entity) {
|
|
21
|
+
throw new error_types_1.AppError(`${entityName} not found${id ? `: ${id}` : ""}`, 404, true, undefined, "/Errors/NotFound");
|
|
22
|
+
}
|
|
23
|
+
return entity;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check entity doesn't exist or throw 409
|
|
27
|
+
* @param finder - Function that returns the entity or null
|
|
28
|
+
* @param entityName - Name of the entity for error messages
|
|
29
|
+
* @param identifier - Optional identifier for error message
|
|
30
|
+
* @throws AppError with 409 if entity exists
|
|
31
|
+
*/
|
|
32
|
+
static async ensureNotExists(finder, entityName, identifier) {
|
|
33
|
+
const entity = await finder();
|
|
34
|
+
if (entity) {
|
|
35
|
+
throw new error_types_1.AppError(`${entityName} already exists${identifier ? `: ${identifier}` : ""}`, 409, true, undefined, "/Errors/Conflict");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check ownership or admin role
|
|
40
|
+
* @param req - Express request object with userId
|
|
41
|
+
* @param resourceUserId - User ID that owns the resource
|
|
42
|
+
* @param message - Custom error message
|
|
43
|
+
* @throws AppError with 403 if not owner and not admin
|
|
44
|
+
*/
|
|
45
|
+
static ensureOwnershipOrAdmin(req, resourceUserId, message = "No permission to access this resource") {
|
|
46
|
+
const isOwner = req.userId === resourceUserId;
|
|
47
|
+
const isAdmin = req.userRoles?.includes("admin") || req.userRoles?.includes("superuser");
|
|
48
|
+
if (!isOwner && !isAdmin) {
|
|
49
|
+
throw new error_types_1.AppError(message, 403, true, undefined, "/Errors/Forbidden");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Batch validation - run multiple validations in parallel
|
|
54
|
+
* @param validations - Array of validation functions to execute
|
|
55
|
+
*/
|
|
56
|
+
static async validateAll(validations) {
|
|
57
|
+
await Promise.all(validations.map((v) => v()));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate required fields in object
|
|
61
|
+
* @param data - Object to validate
|
|
62
|
+
* @param requiredFields - Array of required field names
|
|
63
|
+
* @param entityName - Name of entity for error message
|
|
64
|
+
* @throws AppError with 400 if required fields are missing
|
|
65
|
+
*/
|
|
66
|
+
static validateRequiredFields(
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
68
|
+
data, requiredFields, entityName) {
|
|
69
|
+
const missingFields = requiredFields.filter((field) => data[field] === undefined || data[field] === null || data[field] === "");
|
|
70
|
+
if (missingFields.length > 0) {
|
|
71
|
+
throw new error_types_1.AppError(`Missing required fields for ${entityName}: ${missingFields.join(", ")}`, 400, true, undefined, "/Errors/BadRequest");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Ensure authenticated user
|
|
76
|
+
* @param req - Express request object with optional userId
|
|
77
|
+
* @throws AppError with 401 if not authenticated
|
|
78
|
+
*/
|
|
79
|
+
static ensureAuthenticated(req) {
|
|
80
|
+
if (!req.userId) {
|
|
81
|
+
throw new error_types_1.AppError("Authentication required", 401, true, undefined, "/Errors/Unauthorized");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Validate string length
|
|
86
|
+
* @param value - String to validate
|
|
87
|
+
* @param fieldName - Field name for error message
|
|
88
|
+
* @param min - Minimum length (optional)
|
|
89
|
+
* @param max - Maximum length (optional)
|
|
90
|
+
* @throws AppError with 400 if validation fails
|
|
91
|
+
*/
|
|
92
|
+
static validateStringLength(value, fieldName, min, max) {
|
|
93
|
+
if (min !== undefined && value.length < min) {
|
|
94
|
+
throw new error_types_1.AppError(`${fieldName} must be at least ${min} characters`, 400, true, undefined, "/Errors/BadRequest");
|
|
95
|
+
}
|
|
96
|
+
if (max !== undefined && value.length > max) {
|
|
97
|
+
throw new error_types_1.AppError(`${fieldName} must not exceed ${max} characters`, 400, true, undefined, "/Errors/BadRequest");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.ValidationHelper = ValidationHelper;
|
|
102
|
+
//# sourceMappingURL=validation-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-helper.js","sourceRoot":"","sources":["../../src/express/validation-helper.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Main MisoClient SDK class
|
|
3
3
|
*/
|
|
4
|
-
import { LoggerService } from
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { MisoClientConfig, UserInfo, AuthStrategy } from './types/config.types';
|
|
4
|
+
import { LoggerService } from "./services/logger.service";
|
|
5
|
+
import { CacheService } from "./services/cache.service";
|
|
6
|
+
import { MisoClientConfig, UserInfo, AuthStrategy } from "./types/config.types";
|
|
8
7
|
export declare class MisoClient {
|
|
9
8
|
private config;
|
|
10
9
|
private httpClient;
|
|
@@ -13,7 +12,6 @@ export declare class MisoClient {
|
|
|
13
12
|
private roles;
|
|
14
13
|
private permissions;
|
|
15
14
|
private logger;
|
|
16
|
-
private encryptionService?;
|
|
17
15
|
private cacheService;
|
|
18
16
|
private initialized;
|
|
19
17
|
constructor(config: MisoClientConfig);
|
|
@@ -152,11 +150,6 @@ export declare class MisoClient {
|
|
|
152
150
|
* Get logger service for application logging
|
|
153
151
|
*/
|
|
154
152
|
get log(): LoggerService;
|
|
155
|
-
/**
|
|
156
|
-
* Get encryption service for data encryption/decryption
|
|
157
|
-
* Returns undefined if encryption key is not configured
|
|
158
|
-
*/
|
|
159
|
-
get encryption(): EncryptionService | undefined;
|
|
160
153
|
/**
|
|
161
154
|
* Get cache service for generic caching
|
|
162
155
|
*/
|
|
@@ -179,7 +172,7 @@ export declare class MisoClient {
|
|
|
179
172
|
* @param config - Optional Axios request config
|
|
180
173
|
* @returns Response data
|
|
181
174
|
*/
|
|
182
|
-
requestWithAuthStrategy<T>(method:
|
|
175
|
+
requestWithAuthStrategy<T>(method: "GET" | "POST" | "PUT" | "DELETE", url: string, authStrategy: AuthStrategy, data?: unknown, config?: import("axios").AxiosRequestConfig): Promise<T>;
|
|
183
176
|
/**
|
|
184
177
|
* Create authentication strategy helper
|
|
185
178
|
* @param methods - Array of authentication methods in priority order
|
|
@@ -187,7 +180,7 @@ export declare class MisoClient {
|
|
|
187
180
|
* @param apiKey - Optional API key
|
|
188
181
|
* @returns Authentication strategy
|
|
189
182
|
*/
|
|
190
|
-
createAuthStrategy(methods: (
|
|
183
|
+
createAuthStrategy(methods: ("bearer" | "client-token" | "client-credentials" | "api-key")[], bearerToken?: string, apiKey?: string): AuthStrategy;
|
|
191
184
|
/**
|
|
192
185
|
* Get default authentication strategy
|
|
193
186
|
* Uses bearer token and client token in that order
|
|
@@ -196,21 +189,22 @@ export declare class MisoClient {
|
|
|
196
189
|
*/
|
|
197
190
|
getDefaultAuthStrategy(bearerToken?: string): AuthStrategy;
|
|
198
191
|
}
|
|
199
|
-
export * from
|
|
200
|
-
export * from
|
|
201
|
-
export * from
|
|
202
|
-
export * from
|
|
203
|
-
export type { ErrorResponse as ErrorResponseFromErrors, ErrorEnvelope } from
|
|
204
|
-
export { AuthService } from
|
|
205
|
-
export { RoleService } from
|
|
206
|
-
export { LoggerService } from
|
|
207
|
-
export { RedisService } from
|
|
208
|
-
export {
|
|
209
|
-
export {
|
|
210
|
-
export {
|
|
211
|
-
export
|
|
212
|
-
export * from
|
|
213
|
-
export * from
|
|
214
|
-
export
|
|
215
|
-
export {
|
|
192
|
+
export * from "./types/config.types";
|
|
193
|
+
export * from "./types/pagination.types";
|
|
194
|
+
export * from "./types/filter.types";
|
|
195
|
+
export * from "./types/sort.types";
|
|
196
|
+
export type { ErrorResponse as ErrorResponseFromErrors, ErrorEnvelope, } from "./types/errors.types";
|
|
197
|
+
export { AuthService } from "./services/auth.service";
|
|
198
|
+
export { RoleService } from "./services/role.service";
|
|
199
|
+
export { LoggerService } from "./services/logger.service";
|
|
200
|
+
export { RedisService } from "./services/redis.service";
|
|
201
|
+
export { CacheService } from "./services/cache.service";
|
|
202
|
+
export { HttpClient } from "./utils/http-client";
|
|
203
|
+
export { loadConfig } from "./utils/config-loader";
|
|
204
|
+
export * from "./utils/pagination.utils";
|
|
205
|
+
export * from "./utils/filter.utils";
|
|
206
|
+
export * from "./utils/sort.utils";
|
|
207
|
+
export { MisoClientError, ApiErrorException, transformError, handleApiError, } from "./utils/errors";
|
|
208
|
+
export { ResponseHelper, PaginationMeta, injectResponseHelpers, asyncHandler, asyncHandlerNamed, ValidationHelper, AppError, ApiError, ValidationError, ApiResponse, createSuccessResponse, createErrorResponse, ErrorLogger, setErrorLogger, handleRouteError, RBACErrorExtensions, getErrorTypeUri, getErrorTitle, sendErrorResponse, EncryptionUtil, } from "./express";
|
|
209
|
+
export { ErrorResponse as ExpressErrorResponse } from "./express/error-response";
|
|
216
210
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,13 +17,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.
|
|
20
|
+
exports.EncryptionUtil = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.loadConfig = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.RoleService = exports.AuthService = exports.MisoClient = void 0;
|
|
21
21
|
const auth_service_1 = require("./services/auth.service");
|
|
22
22
|
const role_service_1 = require("./services/role.service");
|
|
23
23
|
const permission_service_1 = require("./services/permission.service");
|
|
24
24
|
const logger_service_1 = require("./services/logger.service");
|
|
25
25
|
const redis_service_1 = require("./services/redis.service");
|
|
26
|
-
const encryption_service_1 = require("./services/encryption.service");
|
|
27
26
|
const cache_service_1 = require("./services/cache.service");
|
|
28
27
|
const http_client_1 = require("./utils/http-client");
|
|
29
28
|
const internal_http_client_1 = require("./utils/internal-http-client");
|
|
@@ -58,16 +57,6 @@ class MisoClient {
|
|
|
58
57
|
// Initialize services that use cache
|
|
59
58
|
this.roles = new role_service_1.RoleService(this.httpClient, this.cacheService);
|
|
60
59
|
this.permissions = new permission_service_1.PermissionService(this.httpClient, this.cacheService);
|
|
61
|
-
// Initialize encryption service if key is provided (optional)
|
|
62
|
-
if (config.encryptionKey || process.env.ENCRYPTION_KEY) {
|
|
63
|
-
try {
|
|
64
|
-
this.encryptionService = new encryption_service_1.EncryptionService(config.encryptionKey);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
// Encryption service not initialized if key is missing
|
|
68
|
-
// This is okay - encryption is optional
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
60
|
}
|
|
72
61
|
/**
|
|
73
62
|
* Initialize the client (connect to Redis if configured)
|
|
@@ -109,7 +98,7 @@ class MisoClient {
|
|
|
109
98
|
return null;
|
|
110
99
|
}
|
|
111
100
|
// Support "Bearer <token>" format
|
|
112
|
-
if (authHeader.startsWith(
|
|
101
|
+
if (authHeader.startsWith("Bearer ")) {
|
|
113
102
|
return authHeader.substring(7);
|
|
114
103
|
}
|
|
115
104
|
// If no Bearer prefix, assume the whole header is the token
|
|
@@ -270,13 +259,8 @@ class MisoClient {
|
|
|
270
259
|
return this.logger;
|
|
271
260
|
}
|
|
272
261
|
// ==================== ENCRYPTION METHODS ====================
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
* Returns undefined if encryption key is not configured
|
|
276
|
-
*/
|
|
277
|
-
get encryption() {
|
|
278
|
-
return this.encryptionService;
|
|
279
|
-
}
|
|
262
|
+
// Note: EncryptionUtil is now available as a static class from the express module
|
|
263
|
+
// Use: import { EncryptionUtil } from '@aifabrix/miso-client'
|
|
280
264
|
// ==================== CACHE METHODS ====================
|
|
281
265
|
/**
|
|
282
266
|
* Get cache service for generic caching
|
|
@@ -321,7 +305,7 @@ class MisoClient {
|
|
|
321
305
|
return {
|
|
322
306
|
methods,
|
|
323
307
|
bearerToken,
|
|
324
|
-
apiKey
|
|
308
|
+
apiKey,
|
|
325
309
|
};
|
|
326
310
|
}
|
|
327
311
|
/**
|
|
@@ -350,8 +334,6 @@ var logger_service_2 = require("./services/logger.service");
|
|
|
350
334
|
Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return logger_service_2.LoggerService; } });
|
|
351
335
|
var redis_service_2 = require("./services/redis.service");
|
|
352
336
|
Object.defineProperty(exports, "RedisService", { enumerable: true, get: function () { return redis_service_2.RedisService; } });
|
|
353
|
-
var encryption_service_2 = require("./services/encryption.service");
|
|
354
|
-
Object.defineProperty(exports, "EncryptionService", { enumerable: true, get: function () { return encryption_service_2.EncryptionService; } });
|
|
355
337
|
var cache_service_2 = require("./services/cache.service");
|
|
356
338
|
Object.defineProperty(exports, "CacheService", { enumerable: true, get: function () { return cache_service_2.CacheService; } });
|
|
357
339
|
var http_client_2 = require("./utils/http-client");
|
|
@@ -369,4 +351,21 @@ Object.defineProperty(exports, "MisoClientError", { enumerable: true, get: funct
|
|
|
369
351
|
Object.defineProperty(exports, "ApiErrorException", { enumerable: true, get: function () { return errors_1.ApiErrorException; } });
|
|
370
352
|
Object.defineProperty(exports, "transformError", { enumerable: true, get: function () { return errors_1.transformError; } });
|
|
371
353
|
Object.defineProperty(exports, "handleApiError", { enumerable: true, get: function () { return errors_1.handleApiError; } });
|
|
354
|
+
// Express utilities (v2.1.0+)
|
|
355
|
+
// Export everything except ErrorResponse to avoid conflict with config.types ErrorResponse
|
|
356
|
+
var express_1 = require("./express");
|
|
357
|
+
Object.defineProperty(exports, "ResponseHelper", { enumerable: true, get: function () { return express_1.ResponseHelper; } });
|
|
358
|
+
Object.defineProperty(exports, "injectResponseHelpers", { enumerable: true, get: function () { return express_1.injectResponseHelpers; } });
|
|
359
|
+
Object.defineProperty(exports, "asyncHandler", { enumerable: true, get: function () { return express_1.asyncHandler; } });
|
|
360
|
+
Object.defineProperty(exports, "asyncHandlerNamed", { enumerable: true, get: function () { return express_1.asyncHandlerNamed; } });
|
|
361
|
+
Object.defineProperty(exports, "ValidationHelper", { enumerable: true, get: function () { return express_1.ValidationHelper; } });
|
|
362
|
+
Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return express_1.AppError; } });
|
|
363
|
+
Object.defineProperty(exports, "createSuccessResponse", { enumerable: true, get: function () { return express_1.createSuccessResponse; } });
|
|
364
|
+
Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return express_1.createErrorResponse; } });
|
|
365
|
+
Object.defineProperty(exports, "setErrorLogger", { enumerable: true, get: function () { return express_1.setErrorLogger; } });
|
|
366
|
+
Object.defineProperty(exports, "handleRouteError", { enumerable: true, get: function () { return express_1.handleRouteError; } });
|
|
367
|
+
Object.defineProperty(exports, "getErrorTypeUri", { enumerable: true, get: function () { return express_1.getErrorTypeUri; } });
|
|
368
|
+
Object.defineProperty(exports, "getErrorTitle", { enumerable: true, get: function () { return express_1.getErrorTitle; } });
|
|
369
|
+
Object.defineProperty(exports, "sendErrorResponse", { enumerable: true, get: function () { return express_1.sendErrorResponse; } });
|
|
370
|
+
Object.defineProperty(exports, "EncryptionUtil", { enumerable: true, get: function () { return express_1.EncryptionUtil; } });
|
|
372
371
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,0DAAsD;AACtD,0DAAsD;AACtD,sEAAkE;AAClE,8DAA0D;AAC1D,4DAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Authentication service for token validation and user management
|
|
3
3
|
*/
|
|
4
|
-
import { HttpClient } from
|
|
5
|
-
import { RedisService } from
|
|
6
|
-
import { UserInfo, AuthStrategy } from
|
|
4
|
+
import { HttpClient } from "../utils/http-client";
|
|
5
|
+
import { RedisService } from "./redis.service";
|
|
6
|
+
import { UserInfo, AuthStrategy } from "../types/config.types";
|
|
7
7
|
export declare class AuthService {
|
|
8
8
|
private httpClient;
|
|
9
9
|
private redis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,QAAQ,EAER,YAAY,EACb,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY;IAMvD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAqF5C;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAKlC;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuB3B;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuB3B;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkG7B;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;CAGpB"}
|