win-portal-auth-sdk 1.0.3 → 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.
Files changed (58) hide show
  1. package/README.md +146 -1
  2. package/TYPE_SAFETY.md +97 -0
  3. package/dist/client/api/auth.api.d.ts +58 -4
  4. package/dist/client/api/auth.api.d.ts.map +1 -1
  5. package/dist/client/api/auth.api.js +68 -6
  6. package/dist/client/api/event-log.api.d.ts.map +1 -1
  7. package/dist/client/api/event-log.api.js +5 -3
  8. package/dist/client/api/files.api.d.ts +5 -5
  9. package/dist/client/api/files.api.d.ts.map +1 -1
  10. package/dist/client/api/files.api.js +6 -6
  11. package/dist/client/api/index.d.ts +5 -0
  12. package/dist/client/api/index.d.ts.map +1 -1
  13. package/dist/client/api/index.js +8 -1
  14. package/dist/client/api/line.api.d.ts +150 -0
  15. package/dist/client/api/line.api.d.ts.map +1 -0
  16. package/dist/client/api/line.api.js +114 -0
  17. package/dist/client/api/oauth.api.d.ts +221 -0
  18. package/dist/client/api/oauth.api.d.ts.map +1 -0
  19. package/dist/client/api/oauth.api.js +258 -0
  20. package/dist/client/api/system-config.api.d.ts +4 -14
  21. package/dist/client/api/system-config.api.d.ts.map +1 -1
  22. package/dist/client/api/system-config.api.js +2 -10
  23. package/dist/client/auth-client.d.ts +16 -1
  24. package/dist/client/auth-client.d.ts.map +1 -1
  25. package/dist/client/auth-client.js +16 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -0
  29. package/dist/middleware/express.middleware.d.ts +62 -0
  30. package/dist/middleware/express.middleware.d.ts.map +1 -0
  31. package/dist/middleware/express.middleware.js +185 -0
  32. package/dist/middleware/express.types.d.ts +28 -0
  33. package/dist/middleware/express.types.d.ts.map +1 -0
  34. package/dist/middleware/express.types.js +7 -0
  35. package/dist/middleware/index.d.ts +8 -0
  36. package/dist/middleware/index.d.ts.map +1 -0
  37. package/dist/middleware/index.js +26 -0
  38. package/dist/middleware/nestjs.decorators.d.ts +31 -0
  39. package/dist/middleware/nestjs.decorators.d.ts.map +1 -0
  40. package/dist/middleware/nestjs.decorators.js +56 -0
  41. package/dist/middleware/nestjs.guard.d.ts +55 -0
  42. package/dist/middleware/nestjs.guard.d.ts.map +1 -0
  43. package/dist/middleware/nestjs.guard.js +188 -0
  44. package/dist/middleware/types.d.ts +59 -0
  45. package/dist/middleware/types.d.ts.map +1 -0
  46. package/dist/middleware/types.js +5 -0
  47. package/dist/types/auth.types.d.ts +16 -13
  48. package/dist/types/auth.types.d.ts.map +1 -1
  49. package/dist/types/auth.types.js +2 -2
  50. package/dist/types/file.types.d.ts +13 -9
  51. package/dist/types/file.types.d.ts.map +1 -1
  52. package/dist/types/file.types.js +2 -2
  53. package/dist/types/index.d.ts +13 -0
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/types/system-config.types.d.ts +8 -18
  56. package/dist/types/system-config.types.d.ts.map +1 -1
  57. package/dist/types/system-config.types.js +2 -2
  58. package/package.json +2 -1
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Express Type Extensions
3
+ *
4
+ * Extends Express Request interface to include auth properties
5
+ */
6
+ import { User } from '../types';
7
+ declare global {
8
+ namespace Express {
9
+ interface Request {
10
+ /**
11
+ * Authenticated user profile
12
+ * - Set by authMiddleware when token is valid
13
+ * - null when optional=true and no token provided
14
+ * - undefined when middleware not applied to route
15
+ */
16
+ user?: User | null;
17
+ /**
18
+ * Access token used for authentication
19
+ * - Extracted from Authorization header or cookie
20
+ * - null when optional=true and no token provided
21
+ * - undefined when middleware not applied to route
22
+ */
23
+ token?: string | null;
24
+ }
25
+ }
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=express.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.types.d.ts","sourceRoot":"","sources":["../../src/middleware/express.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf;;;;;eAKG;YACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;YAEnB;;;;;eAKG;YACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB;KACF;CACF;AAGD,OAAO,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Express Type Extensions
4
+ *
5
+ * Extends Express Request interface to include auth properties
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Middleware exports
3
+ */
4
+ export * from './types';
5
+ export * from './express.middleware';
6
+ export * from './nestjs.guard';
7
+ export * from './nestjs.decorators';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,sBAAsB,CAAC;AAGrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Middleware exports
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
+ // Types
21
+ __exportStar(require("./types"), exports);
22
+ // Express Middleware (includes type augmentation)
23
+ __exportStar(require("./express.middleware"), exports);
24
+ // NestJS Guard
25
+ __exportStar(require("./nestjs.guard"), exports);
26
+ __exportStar(require("./nestjs.decorators"), exports);
@@ -0,0 +1,31 @@
1
+ /**
2
+ * NestJS Decorators
3
+ *
4
+ * Note: These are simplified decorators.
5
+ * For full NestJS integration, use @nestjs/common createParamDecorator
6
+ *
7
+ * @example Full NestJS implementation:
8
+ * ```typescript
9
+ * // In your app
10
+ * import { createParamDecorator, ExecutionContext } from '@nestjs/common';
11
+ *
12
+ * export const CurrentUser = createParamDecorator(
13
+ * (data: unknown, ctx: ExecutionContext) => {
14
+ * const request = ctx.switchToHttp().getRequest();
15
+ * return request.user;
16
+ * },
17
+ * );
18
+ *
19
+ * export const CurrentToken = createParamDecorator(
20
+ * (data: unknown, ctx: ExecutionContext) => {
21
+ * const request = ctx.switchToHttp().getRequest();
22
+ * return request.token;
23
+ * },
24
+ * );
25
+ * ```
26
+ */
27
+ /**
28
+ * Instructions for using with NestJS
29
+ */
30
+ export declare const NESTJS_DECORATOR_INSTRUCTIONS = "\nTo use decorators in your NestJS app, create these in your auth module:\n\n// auth/decorators/current-user.decorator.ts\nimport { createParamDecorator, ExecutionContext } from '@nestjs/common';\nimport { User } from 'win-portal-auth-sdk';\n\nexport const CurrentUser = createParamDecorator(\n (data: unknown, ctx: ExecutionContext): User => {\n const request = ctx.switchToHttp().getRequest();\n return request.user;\n },\n);\n\n// auth/decorators/current-token.decorator.ts\nimport { createParamDecorator, ExecutionContext } from '@nestjs/common';\n\nexport const CurrentToken = createParamDecorator(\n (data: unknown, ctx: ExecutionContext): string => {\n const request = ctx.switchToHttp().getRequest();\n return request.token;\n },\n);\n";
31
+ //# sourceMappingURL=nestjs.decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.decorators.d.ts","sourceRoot":"","sources":["../../src/middleware/nestjs.decorators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;GAEG;AACH,eAAO,MAAM,6BAA6B,4vBAuBzC,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * NestJS Decorators
4
+ *
5
+ * Note: These are simplified decorators.
6
+ * For full NestJS integration, use @nestjs/common createParamDecorator
7
+ *
8
+ * @example Full NestJS implementation:
9
+ * ```typescript
10
+ * // In your app
11
+ * import { createParamDecorator, ExecutionContext } from '@nestjs/common';
12
+ *
13
+ * export const CurrentUser = createParamDecorator(
14
+ * (data: unknown, ctx: ExecutionContext) => {
15
+ * const request = ctx.switchToHttp().getRequest();
16
+ * return request.user;
17
+ * },
18
+ * );
19
+ *
20
+ * export const CurrentToken = createParamDecorator(
21
+ * (data: unknown, ctx: ExecutionContext) => {
22
+ * const request = ctx.switchToHttp().getRequest();
23
+ * return request.token;
24
+ * },
25
+ * );
26
+ * ```
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.NESTJS_DECORATOR_INSTRUCTIONS = void 0;
30
+ /**
31
+ * Instructions for using with NestJS
32
+ */
33
+ exports.NESTJS_DECORATOR_INSTRUCTIONS = `
34
+ To use decorators in your NestJS app, create these in your auth module:
35
+
36
+ // auth/decorators/current-user.decorator.ts
37
+ import { createParamDecorator, ExecutionContext } from '@nestjs/common';
38
+ import { User } from 'win-portal-auth-sdk';
39
+
40
+ export const CurrentUser = createParamDecorator(
41
+ (data: unknown, ctx: ExecutionContext): User => {
42
+ const request = ctx.switchToHttp().getRequest();
43
+ return request.user;
44
+ },
45
+ );
46
+
47
+ // auth/decorators/current-token.decorator.ts
48
+ import { createParamDecorator, ExecutionContext } from '@nestjs/common';
49
+
50
+ export const CurrentToken = createParamDecorator(
51
+ (data: unknown, ctx: ExecutionContext): string => {
52
+ const request = ctx.switchToHttp().getRequest();
53
+ return request.token;
54
+ },
55
+ );
56
+ `;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * NestJS Guard for Win Portal Auth
3
+ *
4
+ * Guard and Decorators for NestJS applications
5
+ */
6
+ import { MiddlewareConfig } from './types';
7
+ /**
8
+ * NestJS Auth Guard
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // In your auth.guard.ts
13
+ * import { createAuthGuard } from 'win-portal-auth-sdk';
14
+ *
15
+ * export const AuthGuard = createAuthGuard({
16
+ * baseURL: process.env.API_BASE_URL,
17
+ * apiKey: process.env.API_KEY
18
+ * });
19
+ *
20
+ * // In your controller
21
+ * @UseGuards(AuthGuard)
22
+ * @Get('profile')
23
+ * getProfile(@CurrentUser() user: User) {
24
+ * return user;
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function createAuthGuard(config: Omit<MiddlewareConfig, 'optional'>): {
29
+ new (): {
30
+ canActivate(context: any): Promise<boolean>;
31
+ };
32
+ };
33
+ /**
34
+ * Optional Auth Guard - Does not block if no token
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * @UseGuards(OptionalAuthGuard)
39
+ * @Get('posts')
40
+ * getPosts(@CurrentUser() user: User | null) {
41
+ * // user may be null
42
+ * return user ? 'Your posts' : 'Public posts';
43
+ * }
44
+ * ```
45
+ */
46
+ export declare function createOptionalAuthGuard(config: Omit<MiddlewareConfig, 'optional'>): {
47
+ new (): {
48
+ canActivate(context: any): Promise<boolean>;
49
+ };
50
+ };
51
+ /**
52
+ * Clear user cache
53
+ */
54
+ export declare function clearNestAuthCache(token?: string): void;
55
+ //# sourceMappingURL=nestjs.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.guard.d.ts","sourceRoot":"","sources":["../../src/middleware/nestjs.guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;AAWxD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;;6BAY3C,GAAG,GAAG,QAAQ,OAAO,CAAC;;EAgEpD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;;6BAYnD,GAAG,GAAG,QAAQ,OAAO,CAAC;;EAyDpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,QAMhD"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ /**
3
+ * NestJS Guard for Win Portal Auth
4
+ *
5
+ * Guard and Decorators for NestJS applications
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.clearNestAuthCache = exports.createOptionalAuthGuard = exports.createAuthGuard = void 0;
9
+ const client_1 = require("../client");
10
+ const userCache = new Map();
11
+ /**
12
+ * NestJS Auth Guard
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // In your auth.guard.ts
17
+ * import { createAuthGuard } from 'win-portal-auth-sdk';
18
+ *
19
+ * export const AuthGuard = createAuthGuard({
20
+ * baseURL: process.env.API_BASE_URL,
21
+ * apiKey: process.env.API_KEY
22
+ * });
23
+ *
24
+ * // In your controller
25
+ * @UseGuards(AuthGuard)
26
+ * @Get('profile')
27
+ * getProfile(@CurrentUser() user: User) {
28
+ * return user;
29
+ * }
30
+ * ```
31
+ */
32
+ function createAuthGuard(config) {
33
+ const client = new client_1.AuthClient({
34
+ baseURL: config.baseURL,
35
+ apiKey: config.apiKey,
36
+ apiKeyHeader: config.apiKeyHeader,
37
+ });
38
+ const cacheTimeout = (config.cacheTimeout || 300) * 1000;
39
+ const tokenStrategy = config.tokenStrategy || 'bearer';
40
+ const cookieName = config.cookieName || 'access_token';
41
+ class AuthGuard {
42
+ async canActivate(context) {
43
+ const request = context.switchToHttp().getRequest();
44
+ // Extract token
45
+ let token = null;
46
+ if (config.tokenExtractor) {
47
+ token = config.tokenExtractor(request);
48
+ }
49
+ else if (tokenStrategy === 'bearer') {
50
+ const authHeader = request.headers.authorization;
51
+ if (authHeader && authHeader.startsWith('Bearer ')) {
52
+ token = authHeader.substring(7);
53
+ }
54
+ }
55
+ else if (tokenStrategy === 'cookie') {
56
+ token = request.cookies?.[cookieName] || null;
57
+ }
58
+ if (!token) {
59
+ return false;
60
+ }
61
+ try {
62
+ // Check cache first
63
+ const cached = userCache.get(token);
64
+ if (cached && Date.now() - cached.timestamp < cacheTimeout) {
65
+ request.user = cached.user;
66
+ request.token = token;
67
+ return true;
68
+ }
69
+ // Fetch user profile
70
+ client.setToken(token);
71
+ const user = await client.auth.profile();
72
+ // Update cache
73
+ userCache.set(token, {
74
+ user,
75
+ timestamp: Date.now(),
76
+ });
77
+ // Clean up old cache entries
78
+ if (userCache.size > 1000) {
79
+ const now = Date.now();
80
+ const entries = Array.from(userCache.entries());
81
+ for (const [key, entry] of entries) {
82
+ if (now - entry.timestamp > cacheTimeout) {
83
+ userCache.delete(key);
84
+ }
85
+ }
86
+ }
87
+ // Attach user to request
88
+ request.user = user;
89
+ request.token = token;
90
+ return true;
91
+ }
92
+ catch (error) {
93
+ userCache.delete(token);
94
+ return false;
95
+ }
96
+ }
97
+ }
98
+ return AuthGuard;
99
+ }
100
+ exports.createAuthGuard = createAuthGuard;
101
+ /**
102
+ * Optional Auth Guard - Does not block if no token
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * @UseGuards(OptionalAuthGuard)
107
+ * @Get('posts')
108
+ * getPosts(@CurrentUser() user: User | null) {
109
+ * // user may be null
110
+ * return user ? 'Your posts' : 'Public posts';
111
+ * }
112
+ * ```
113
+ */
114
+ function createOptionalAuthGuard(config) {
115
+ const client = new client_1.AuthClient({
116
+ baseURL: config.baseURL,
117
+ apiKey: config.apiKey,
118
+ apiKeyHeader: config.apiKeyHeader,
119
+ });
120
+ const cacheTimeout = (config.cacheTimeout || 300) * 1000;
121
+ const tokenStrategy = config.tokenStrategy || 'bearer';
122
+ const cookieName = config.cookieName || 'access_token';
123
+ class OptionalAuthGuard {
124
+ async canActivate(context) {
125
+ const request = context.switchToHttp().getRequest();
126
+ // Extract token
127
+ let token = null;
128
+ if (config.tokenExtractor) {
129
+ token = config.tokenExtractor(request);
130
+ }
131
+ else if (tokenStrategy === 'bearer') {
132
+ const authHeader = request.headers.authorization;
133
+ if (authHeader && authHeader.startsWith('Bearer ')) {
134
+ token = authHeader.substring(7);
135
+ }
136
+ }
137
+ else if (tokenStrategy === 'cookie') {
138
+ token = request.cookies?.[cookieName] || null;
139
+ }
140
+ if (!token) {
141
+ request.user = null;
142
+ request.token = null;
143
+ return true; // Allow access even without token
144
+ }
145
+ try {
146
+ // Check cache first
147
+ const cached = userCache.get(token);
148
+ if (cached && Date.now() - cached.timestamp < cacheTimeout) {
149
+ request.user = cached.user;
150
+ request.token = token;
151
+ return true;
152
+ }
153
+ // Fetch user profile
154
+ client.setToken(token);
155
+ const user = await client.auth.profile();
156
+ // Update cache
157
+ userCache.set(token, {
158
+ user,
159
+ timestamp: Date.now(),
160
+ });
161
+ // Attach user to request
162
+ request.user = user;
163
+ request.token = token;
164
+ return true;
165
+ }
166
+ catch (error) {
167
+ userCache.delete(token);
168
+ request.user = null;
169
+ request.token = null;
170
+ return true; // Allow access even on error
171
+ }
172
+ }
173
+ }
174
+ return OptionalAuthGuard;
175
+ }
176
+ exports.createOptionalAuthGuard = createOptionalAuthGuard;
177
+ /**
178
+ * Clear user cache
179
+ */
180
+ function clearNestAuthCache(token) {
181
+ if (token) {
182
+ userCache.delete(token);
183
+ }
184
+ else {
185
+ userCache.clear();
186
+ }
187
+ }
188
+ exports.clearNestAuthCache = clearNestAuthCache;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Middleware Types
3
+ */
4
+ import { User } from '../types';
5
+ /**
6
+ * Auth Context - Simple and direct
7
+ */
8
+ export interface AuthContext {
9
+ user: User | null;
10
+ token: string | null;
11
+ }
12
+ /**
13
+ * Middleware Configuration
14
+ */
15
+ export interface MiddlewareConfig {
16
+ /**
17
+ * API base URL
18
+ */
19
+ baseURL: string;
20
+ /**
21
+ * API Key for SDK
22
+ */
23
+ apiKey: string;
24
+ /**
25
+ * Custom API key header name
26
+ * @default 'X-API-Key'
27
+ */
28
+ apiKeyHeader?: string;
29
+ /**
30
+ * Token extraction strategy
31
+ * @default 'bearer'
32
+ */
33
+ tokenStrategy?: 'bearer' | 'cookie' | 'custom';
34
+ /**
35
+ * Cookie name when using cookie strategy
36
+ * @default 'access_token'
37
+ */
38
+ cookieName?: string;
39
+ /**
40
+ * Custom token extractor
41
+ */
42
+ tokenExtractor?: (req: any) => string | null;
43
+ /**
44
+ * Skip authentication for these paths (regex patterns)
45
+ */
46
+ excludePaths?: (string | RegExp)[];
47
+ /**
48
+ * Cache user profile for this duration (in seconds)
49
+ * @default 300 (5 minutes)
50
+ */
51
+ cacheTimeout?: number;
52
+ /**
53
+ * When true, middleware will not throw on invalid token
54
+ * req.user will be null
55
+ * @default false
56
+ */
57
+ optional?: boolean;
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/middleware/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,IAAI,CAAC;IAE7C;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Middleware Types
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,34 +1,36 @@
1
1
  /**
2
- * Auth DTOs
2
+ * Auth Types - SDK Friendly
3
3
  *
4
- * Copied from @win-portal/shared for SDK independence
4
+ * Clean, client-focused type names without DTO suffixes
5
5
  */
6
6
  /**
7
- * Login Request DTO
7
+ * Login Credentials
8
8
  */
9
- export interface LoginRequestDto {
9
+ export interface LoginCredentials {
10
10
  username: string;
11
11
  password: string;
12
12
  totp_token?: string;
13
13
  backup_code?: string;
14
14
  }
15
15
  /**
16
- * Login Response DTO
16
+ * Authentication Session
17
+ * Result of successful login
17
18
  */
18
- export interface LoginResponseDto {
19
+ export interface AuthSession {
19
20
  access_token: string;
20
21
  refresh_token?: string;
21
22
  expires_in?: number;
22
23
  token_type?: string;
23
- user: UserProfileResponseDto;
24
+ user: User;
24
25
  must_change_password?: boolean;
25
26
  totp_required?: boolean;
26
27
  message?: string;
27
28
  }
28
29
  /**
29
- * User Profile Response DTO
30
+ * User Profile
31
+ * Complete user information with permissions and roles
30
32
  */
31
- export interface UserProfileResponseDto {
33
+ export interface User {
32
34
  id: string;
33
35
  email: string;
34
36
  first_name: string;
@@ -59,15 +61,16 @@ export interface UserProfileResponseDto {
59
61
  };
60
62
  }
61
63
  /**
62
- * Token Refresh Request DTO
64
+ * Refresh Token Request
63
65
  */
64
- export interface TokenRefreshRequestDto {
66
+ export interface RefreshTokenRequest {
65
67
  refresh_token: string;
66
68
  }
67
69
  /**
68
- * Token Refresh Response DTO
70
+ * Authentication Tokens
71
+ * Result of token refresh
69
72
  */
70
- export interface TokenRefreshResponseDto {
73
+ export interface AuthTokens {
71
74
  access_token: string;
72
75
  refresh_token?: string;
73
76
  expires_in?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../src/types/auth.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../src/types/auth.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * Auth DTOs
3
+ * Auth Types - SDK Friendly
4
4
  *
5
- * Copied from @win-portal/shared for SDK independence
5
+ * Clean, client-focused type names without DTO suffixes
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +1,13 @@
1
1
  /**
2
- * File DTOs
2
+ * File Types - SDK Friendly
3
3
  *
4
- * Copied from @win-portal/shared for SDK independence
4
+ * Clean, client-focused type names without DTO suffixes
5
5
  */
6
6
  /**
7
- * File Response DTO
7
+ * File Information
8
+ * Complete file metadata and URLs
8
9
  */
9
- export interface FileResponseDto {
10
+ export interface File {
10
11
  id: string;
11
12
  created_at: string;
12
13
  updated_at: string;
@@ -35,9 +36,10 @@ export interface FileResponseDto {
35
36
  thumbnail_url?: string;
36
37
  }
37
38
  /**
38
- * File Upload Request DTO
39
+ * File Upload Options
40
+ * Configuration for uploading a file
39
41
  */
40
- export interface FileUploadRequestDto {
42
+ export interface FileUploadOptions {
41
43
  entity_type: string;
42
44
  entity_id: string;
43
45
  entity_field?: string;
@@ -51,16 +53,18 @@ export interface FileUploadRequestDto {
51
53
  size?: number;
52
54
  }
53
55
  /**
54
- * File Update Request DTO
56
+ * File Update Data
57
+ * Fields that can be updated for a file
55
58
  */
56
- export interface FileUpdateRequestDto {
59
+ export interface FileUpdateData {
57
60
  description?: string;
58
61
  is_public?: boolean;
59
62
  metadata?: Record<string, any>;
60
63
  entity_field?: string;
61
64
  }
62
65
  /**
63
- * File Search Params
66
+ * File Search Parameters
67
+ * Options for searching and filtering files
64
68
  */
65
69
  export interface FileSearchParams {
66
70
  entity_type?: string;
@@ -1 +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"}
1
+ {"version":3,"file":"file.types.d.ts","sourceRoot":"","sources":["../../src/types/file.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,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;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,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;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,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;;;GAGG;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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /**
3
- * File DTOs
3
+ * File Types - SDK Friendly
4
4
  *
5
- * Copied from @win-portal/shared for SDK independence
5
+ * Clean, client-focused type names without DTO suffixes
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });