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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +239 -0
  3. package/dist/client/api/auth.api.d.ts +34 -0
  4. package/dist/client/api/auth.api.d.ts.map +1 -0
  5. package/dist/client/api/auth.api.js +48 -0
  6. package/dist/client/api/event-log.api.d.ts +24 -0
  7. package/dist/client/api/event-log.api.d.ts.map +1 -0
  8. package/dist/client/api/event-log.api.js +29 -0
  9. package/dist/client/api/files.api.d.ts +59 -0
  10. package/dist/client/api/files.api.d.ts.map +1 -0
  11. package/dist/client/api/files.api.js +77 -0
  12. package/dist/client/api/health.api.d.ts +21 -0
  13. package/dist/client/api/health.api.d.ts.map +1 -0
  14. package/dist/client/api/health.api.js +35 -0
  15. package/dist/client/api/index.d.ts +11 -0
  16. package/dist/client/api/index.d.ts.map +1 -0
  17. package/dist/client/api/index.js +18 -0
  18. package/dist/client/api/system-config.api.d.ts +37 -0
  19. package/dist/client/api/system-config.api.d.ts.map +1 -0
  20. package/dist/client/api/system-config.api.js +45 -0
  21. package/dist/client/auth-client.d.ts +67 -0
  22. package/dist/client/auth-client.d.ts.map +1 -0
  23. package/dist/client/auth-client.js +133 -0
  24. package/dist/client/index.d.ts +5 -0
  25. package/dist/client/index.d.ts.map +1 -0
  26. package/dist/client/index.js +8 -0
  27. package/dist/index.d.ts +9 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +26 -0
  30. package/dist/types/auth.types.d.ts +76 -0
  31. package/dist/types/auth.types.d.ts.map +1 -0
  32. package/dist/types/auth.types.js +7 -0
  33. package/dist/types/event-log.interfaces.d.ts +108 -0
  34. package/dist/types/event-log.interfaces.d.ts.map +1 -0
  35. package/dist/types/event-log.interfaces.js +7 -0
  36. package/dist/types/event-log.types.d.ts +64 -0
  37. package/dist/types/event-log.types.d.ts.map +1 -0
  38. package/dist/types/event-log.types.js +66 -0
  39. package/dist/types/file.types.d.ts +75 -0
  40. package/dist/types/file.types.d.ts.map +1 -0
  41. package/dist/types/file.types.js +7 -0
  42. package/dist/types/index.d.ts +71 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/index.js +28 -0
  45. package/dist/types/system-config.types.d.ts +42 -0
  46. package/dist/types/system-config.types.d.ts.map +1 -0
  47. package/dist/types/system-config.types.js +7 -0
  48. 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,7 @@
1
+ "use strict";
2
+ /**
3
+ * File DTOs
4
+ *
5
+ * Copied from @win-portal/shared for SDK independence
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * System Config DTOs
4
+ *
5
+ * Copied from @win-portal/shared for SDK independence
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
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
+ }