win-portal-auth-sdk 1.0.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/LICENSE +21 -0
- package/README.md +239 -0
- package/dist/client/api/auth.api.d.ts +34 -0
- package/dist/client/api/auth.api.d.ts.map +1 -0
- package/dist/client/api/auth.api.js +48 -0
- package/dist/client/api/event-log.api.d.ts +24 -0
- package/dist/client/api/event-log.api.d.ts.map +1 -0
- package/dist/client/api/event-log.api.js +29 -0
- package/dist/client/api/files.api.d.ts +59 -0
- package/dist/client/api/files.api.d.ts.map +1 -0
- package/dist/client/api/files.api.js +77 -0
- package/dist/client/api/health.api.d.ts +21 -0
- package/dist/client/api/health.api.d.ts.map +1 -0
- package/dist/client/api/health.api.js +35 -0
- package/dist/client/api/index.d.ts +11 -0
- package/dist/client/api/index.d.ts.map +1 -0
- package/dist/client/api/index.js +18 -0
- package/dist/client/api/system-config.api.d.ts +37 -0
- package/dist/client/api/system-config.api.d.ts.map +1 -0
- package/dist/client/api/system-config.api.js +45 -0
- package/dist/client/auth-client.d.ts +67 -0
- package/dist/client/auth-client.d.ts.map +1 -0
- package/dist/client/auth-client.js +133 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +8 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/types/auth.types.d.ts +76 -0
- package/dist/types/auth.types.d.ts.map +1 -0
- package/dist/types/auth.types.js +7 -0
- package/dist/types/event-log.interfaces.d.ts +108 -0
- package/dist/types/event-log.interfaces.d.ts.map +1 -0
- package/dist/types/event-log.interfaces.js +7 -0
- package/dist/types/event-log.types.d.ts +64 -0
- package/dist/types/event-log.types.d.ts.map +1 -0
- package/dist/types/event-log.types.js +66 -0
- package/dist/types/file.types.d.ts +75 -0
- package/dist/types/file.types.d.ts.map +1 -0
- package/dist/types/file.types.js +7 -0
- package/dist/types/index.d.ts +71 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +28 -0
- package/dist/types/system-config.types.d.ts +42 -0
- package/dist/types/system-config.types.d.ts.map +1 -0
- package/dist/types/system-config.types.js +7 -0
- package/package.json +49 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File DTOs
|
|
3
|
+
*
|
|
4
|
+
* Copied from @win-portal/shared for SDK independence
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* File Response DTO
|
|
8
|
+
*/
|
|
9
|
+
export interface FileResponseDto {
|
|
10
|
+
id: string;
|
|
11
|
+
created_at: string;
|
|
12
|
+
updated_at: string;
|
|
13
|
+
status: string;
|
|
14
|
+
original_name: string;
|
|
15
|
+
file_name: string;
|
|
16
|
+
url: string;
|
|
17
|
+
mime_type: string;
|
|
18
|
+
size: number;
|
|
19
|
+
folder?: string;
|
|
20
|
+
entity_type: string;
|
|
21
|
+
entity_id: string;
|
|
22
|
+
entity_field?: string;
|
|
23
|
+
file_category: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
is_public: boolean;
|
|
26
|
+
checksum?: string;
|
|
27
|
+
metadata?: Record<string, any>;
|
|
28
|
+
uploaded_by?: string;
|
|
29
|
+
uploaded_by_name?: string;
|
|
30
|
+
download_count?: number;
|
|
31
|
+
last_accessed_at?: string;
|
|
32
|
+
file_size_formatted?: string;
|
|
33
|
+
is_image?: boolean;
|
|
34
|
+
is_document?: boolean;
|
|
35
|
+
thumbnail_url?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* File Upload Request DTO
|
|
39
|
+
*/
|
|
40
|
+
export interface FileUploadRequestDto {
|
|
41
|
+
entity_type: string;
|
|
42
|
+
entity_id: string;
|
|
43
|
+
entity_field?: string;
|
|
44
|
+
folder?: string;
|
|
45
|
+
file_category?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
is_public?: boolean | string;
|
|
48
|
+
metadata?: Record<string, any>;
|
|
49
|
+
original_name?: string;
|
|
50
|
+
mime_type?: string;
|
|
51
|
+
size?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* File Update Request DTO
|
|
55
|
+
*/
|
|
56
|
+
export interface FileUpdateRequestDto {
|
|
57
|
+
description?: string;
|
|
58
|
+
is_public?: boolean;
|
|
59
|
+
metadata?: Record<string, any>;
|
|
60
|
+
entity_field?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* File Search Params
|
|
64
|
+
*/
|
|
65
|
+
export interface FileSearchParams {
|
|
66
|
+
entity_type?: string;
|
|
67
|
+
entity_id?: string;
|
|
68
|
+
file_category?: string;
|
|
69
|
+
search?: string;
|
|
70
|
+
page?: number;
|
|
71
|
+
page_size?: number;
|
|
72
|
+
sort_by?: string;
|
|
73
|
+
sort_order?: 'asc' | 'desc';
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=file.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.types.d.ts","sourceRoot":"","sources":["../../src/types/file.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Types for Auth SDK
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* API Key Context - ข้อมูลจาก API Key validation
|
|
6
|
+
*/
|
|
7
|
+
export interface ApiKeyContext {
|
|
8
|
+
application: ApplicationContext;
|
|
9
|
+
apiKeyRecord: ApiKeyRecordContext;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Application Context - ข้อมูล application ที่เกี่ยวข้องกับ API Key
|
|
13
|
+
*/
|
|
14
|
+
export interface ApplicationContext {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
status: string;
|
|
19
|
+
require_user_auth: boolean;
|
|
20
|
+
rate_limit_per_minute: number;
|
|
21
|
+
allowed_origins: string[];
|
|
22
|
+
ip_whitelist?: string[];
|
|
23
|
+
organization_id?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* API Key Record Context - ข้อมูล API Key record
|
|
27
|
+
*/
|
|
28
|
+
export interface ApiKeyRecordContext {
|
|
29
|
+
id: string;
|
|
30
|
+
key_name: string;
|
|
31
|
+
key_prefix: string;
|
|
32
|
+
environment: 'development' | 'staging' | 'production';
|
|
33
|
+
is_active: boolean;
|
|
34
|
+
expires_at?: Date;
|
|
35
|
+
last_used_at?: Date;
|
|
36
|
+
usage_count: number;
|
|
37
|
+
created_at: Date;
|
|
38
|
+
created_by?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* API Key Validation Response
|
|
42
|
+
*/
|
|
43
|
+
export interface ApiKeyValidationResponse {
|
|
44
|
+
valid: boolean;
|
|
45
|
+
application?: ApplicationContext;
|
|
46
|
+
apiKey?: ApiKeyRecordContext;
|
|
47
|
+
error?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Auth SDK Configuration
|
|
51
|
+
*/
|
|
52
|
+
export interface AuthSdkConfig {
|
|
53
|
+
apiKey: string;
|
|
54
|
+
baseURL?: string;
|
|
55
|
+
apiKeyHeader?: string;
|
|
56
|
+
timeout?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* NestJS Module Configuration
|
|
60
|
+
*/
|
|
61
|
+
export interface ApiKeyAuthModuleConfig {
|
|
62
|
+
apiKeyHeader?: string;
|
|
63
|
+
validationEndpoint: string;
|
|
64
|
+
cacheTimeout?: number;
|
|
65
|
+
}
|
|
66
|
+
export * from './event-log.types';
|
|
67
|
+
export * from './event-log.interfaces';
|
|
68
|
+
export * from './auth.types';
|
|
69
|
+
export * from './file.types';
|
|
70
|
+
export * from './system-config.types';
|
|
71
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,kBAAkB,CAAC;IAChC,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IAGf,iBAAiB,EAAE,OAAO,CAAC;IAG3B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;IAGtD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAGlB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Types for Auth SDK
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
// Event Log Types
|
|
21
|
+
__exportStar(require("./event-log.types"), exports);
|
|
22
|
+
__exportStar(require("./event-log.interfaces"), exports);
|
|
23
|
+
// Auth Types
|
|
24
|
+
__exportStar(require("./auth.types"), exports);
|
|
25
|
+
// File Types
|
|
26
|
+
__exportStar(require("./file.types"), exports);
|
|
27
|
+
// System Config Types
|
|
28
|
+
__exportStar(require("./system-config.types"), exports);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Config DTOs
|
|
3
|
+
*
|
|
4
|
+
* Copied from @win-portal/shared for SDK independence
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* System Config Response DTO
|
|
8
|
+
*/
|
|
9
|
+
export interface SystemConfigResponseDto {
|
|
10
|
+
id: string;
|
|
11
|
+
category: string;
|
|
12
|
+
key: string;
|
|
13
|
+
value: any;
|
|
14
|
+
description?: string;
|
|
15
|
+
data_type: 'string' | 'number' | 'boolean' | 'json' | 'array';
|
|
16
|
+
is_secret: boolean;
|
|
17
|
+
is_read_only: boolean;
|
|
18
|
+
is_active: boolean;
|
|
19
|
+
version: number;
|
|
20
|
+
metadata?: Record<string, any>;
|
|
21
|
+
created_at: string;
|
|
22
|
+
updated_at: string;
|
|
23
|
+
status: string;
|
|
24
|
+
full_key?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* System Config Search Params
|
|
28
|
+
*/
|
|
29
|
+
export interface SystemConfigSearchParams {
|
|
30
|
+
search?: string;
|
|
31
|
+
category?: string;
|
|
32
|
+
page?: number;
|
|
33
|
+
page_size?: number;
|
|
34
|
+
sort_by?: string;
|
|
35
|
+
sort_order?: 'asc' | 'desc';
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* System Config by Category Response
|
|
39
|
+
* Returns an object with key-value pairs
|
|
40
|
+
*/
|
|
41
|
+
export type SystemConfigCategoryResponse = Record<string, any>;
|
|
42
|
+
//# sourceMappingURL=system-config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-config.types.d.ts","sourceRoot":"","sources":["../../src/types/system-config.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "win-portal-auth-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Shared authentication SDK for Win Portal applications using API Key authentication",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"README.md",
|
|
10
|
+
"LICENSE"
|
|
11
|
+
],
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/MBS-Business-Solutions/win-portal.git",
|
|
15
|
+
"directory": "packages/auth-sdk"
|
|
16
|
+
},
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/MBS-Business-Solutions/win-portal/issues"
|
|
19
|
+
},
|
|
20
|
+
"homepage": "https://github.com/MBS-Business-Solutions/win-portal#readme",
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc",
|
|
26
|
+
"dev": "tsc --watch",
|
|
27
|
+
"clean": "rm -rf dist",
|
|
28
|
+
"prepublishOnly": "pnpm clean && pnpm build"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"auth",
|
|
32
|
+
"api-key",
|
|
33
|
+
"sdk",
|
|
34
|
+
"http-client",
|
|
35
|
+
"nestjs",
|
|
36
|
+
"typescript",
|
|
37
|
+
"event-logging",
|
|
38
|
+
"file-upload"
|
|
39
|
+
],
|
|
40
|
+
"author": "Win Portal Team",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"axios": "^1.6.0"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^20.0.0",
|
|
47
|
+
"typescript": "^5.3.0"
|
|
48
|
+
}
|
|
49
|
+
}
|