@technomoron/api-server-base 2.0.0-beta.23 → 2.0.0-beta.24

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 (175) hide show
  1. package/dist/cjs/upload/types.d.ts +28 -0
  2. package/dist/esm/upload/types.d.ts +28 -0
  3. package/package.json +1 -1
  4. package/dist/cjs/common/types.cjs +0 -10
  5. package/dist/cjs/common/types.d.ts +0 -137
  6. package/dist/cjs/server/src/upload/types.d.ts +0 -8
  7. package/dist/esm/common/types.d.ts +0 -137
  8. package/dist/esm/common/types.js +0 -9
  9. package/dist/esm/server/src/upload/types.d.ts +0 -8
  10. /package/dist/cjs/{server/src/api-module.cjs → api-module.cjs} +0 -0
  11. /package/dist/cjs/{server/src/api-module.d.ts → api-module.d.ts} +0 -0
  12. /package/dist/cjs/{server/src/api-server-base.cjs → api-server-base.cjs} +0 -0
  13. /package/dist/cjs/{server/src/api-server-base.d.ts → api-server-base.d.ts} +0 -0
  14. /package/dist/cjs/{server/src/auth-api → auth-api}/auth-module.cjs +0 -0
  15. /package/dist/cjs/{server/src/auth-api → auth-api}/auth-module.d.ts +0 -0
  16. /package/dist/cjs/{server/src/auth-api → auth-api}/compat-auth-storage.cjs +0 -0
  17. /package/dist/cjs/{server/src/auth-api → auth-api}/compat-auth-storage.d.ts +0 -0
  18. /package/dist/cjs/{server/src/auth-api → auth-api}/mem-auth-store.cjs +0 -0
  19. /package/dist/cjs/{server/src/auth-api → auth-api}/mem-auth-store.d.ts +0 -0
  20. /package/dist/cjs/{server/src/auth-api → auth-api}/module.cjs +0 -0
  21. /package/dist/cjs/{server/src/auth-api → auth-api}/module.d.ts +0 -0
  22. /package/dist/cjs/{server/src/auth-api → auth-api}/schemas.cjs +0 -0
  23. /package/dist/cjs/{server/src/auth-api → auth-api}/schemas.d.ts +0 -0
  24. /package/dist/cjs/{server/src/auth-api → auth-api}/sql-auth-store.cjs +0 -0
  25. /package/dist/cjs/{server/src/auth-api → auth-api}/sql-auth-store.d.ts +0 -0
  26. /package/dist/cjs/{server/src/auth-api → auth-api}/storage.cjs +0 -0
  27. /package/dist/cjs/{server/src/auth-api → auth-api}/storage.d.ts +0 -0
  28. /package/dist/cjs/{server/src/auth-api → auth-api}/types.cjs +0 -0
  29. /package/dist/cjs/{server/src/auth-api → auth-api}/types.d.ts +0 -0
  30. /package/dist/cjs/{server/src/auth-api → auth-api}/user-id.cjs +0 -0
  31. /package/dist/cjs/{server/src/auth-api → auth-api}/user-id.d.ts +0 -0
  32. /package/dist/cjs/{server/src/auth-cookie-options.cjs → auth-cookie-options.cjs} +0 -0
  33. /package/dist/cjs/{server/src/auth-cookie-options.d.ts → auth-cookie-options.d.ts} +0 -0
  34. /package/dist/cjs/{server/src/base → base}/client-info.cjs +0 -0
  35. /package/dist/cjs/{server/src/base → base}/client-info.d.ts +0 -0
  36. /package/dist/cjs/{server/src/base → base}/error-utils.cjs +0 -0
  37. /package/dist/cjs/{server/src/base → base}/error-utils.d.ts +0 -0
  38. /package/dist/cjs/{server/src/base → base}/request-utils.cjs +0 -0
  39. /package/dist/cjs/{server/src/base → base}/request-utils.d.ts +0 -0
  40. /package/dist/cjs/{server/src/index.cjs → index.cjs} +0 -0
  41. /package/dist/cjs/{server/src/index.d.ts → index.d.ts} +0 -0
  42. /package/dist/cjs/{server/src/limiter → limiter}/auth-rate-limiter.cjs +0 -0
  43. /package/dist/cjs/{server/src/limiter → limiter}/auth-rate-limiter.d.ts +0 -0
  44. /package/dist/cjs/{server/src/limiter → limiter}/fixed-window.cjs +0 -0
  45. /package/dist/cjs/{server/src/limiter → limiter}/fixed-window.d.ts +0 -0
  46. /package/dist/cjs/{server/src/oauth → oauth}/base.cjs +0 -0
  47. /package/dist/cjs/{server/src/oauth → oauth}/base.d.ts +0 -0
  48. /package/dist/cjs/{server/src/oauth → oauth}/memory.cjs +0 -0
  49. /package/dist/cjs/{server/src/oauth → oauth}/memory.d.ts +0 -0
  50. /package/dist/cjs/{server/src/oauth → oauth}/models.cjs +0 -0
  51. /package/dist/cjs/{server/src/oauth → oauth}/models.d.ts +0 -0
  52. /package/dist/cjs/{server/src/oauth → oauth}/sequelize.cjs +0 -0
  53. /package/dist/cjs/{server/src/oauth → oauth}/sequelize.d.ts +0 -0
  54. /package/dist/cjs/{server/src/oauth → oauth}/types.cjs +0 -0
  55. /package/dist/cjs/{server/src/oauth → oauth}/types.d.ts +0 -0
  56. /package/dist/cjs/{server/src/passkey → passkey}/base.cjs +0 -0
  57. /package/dist/cjs/{server/src/passkey → passkey}/base.d.ts +0 -0
  58. /package/dist/cjs/{server/src/passkey → passkey}/config.cjs +0 -0
  59. /package/dist/cjs/{server/src/passkey → passkey}/config.d.ts +0 -0
  60. /package/dist/cjs/{server/src/passkey → passkey}/memory.cjs +0 -0
  61. /package/dist/cjs/{server/src/passkey → passkey}/memory.d.ts +0 -0
  62. /package/dist/cjs/{server/src/passkey → passkey}/models.cjs +0 -0
  63. /package/dist/cjs/{server/src/passkey → passkey}/models.d.ts +0 -0
  64. /package/dist/cjs/{server/src/passkey → passkey}/sequelize.cjs +0 -0
  65. /package/dist/cjs/{server/src/passkey → passkey}/sequelize.d.ts +0 -0
  66. /package/dist/cjs/{server/src/passkey → passkey}/service.cjs +0 -0
  67. /package/dist/cjs/{server/src/passkey → passkey}/service.d.ts +0 -0
  68. /package/dist/cjs/{server/src/passkey → passkey}/types.cjs +0 -0
  69. /package/dist/cjs/{server/src/passkey → passkey}/types.d.ts +0 -0
  70. /package/dist/cjs/{server/src/sequelize-utils.cjs → sequelize-utils.cjs} +0 -0
  71. /package/dist/cjs/{server/src/sequelize-utils.d.ts → sequelize-utils.d.ts} +0 -0
  72. /package/dist/cjs/{server/src/token → token}/base.cjs +0 -0
  73. /package/dist/cjs/{server/src/token → token}/base.d.ts +0 -0
  74. /package/dist/cjs/{server/src/token → token}/memory.cjs +0 -0
  75. /package/dist/cjs/{server/src/token → token}/memory.d.ts +0 -0
  76. /package/dist/cjs/{server/src/token → token}/sequelize.cjs +0 -0
  77. /package/dist/cjs/{server/src/token → token}/sequelize.d.ts +0 -0
  78. /package/dist/cjs/{server/src/token → token}/types.cjs +0 -0
  79. /package/dist/cjs/{server/src/token → token}/types.d.ts +0 -0
  80. /package/dist/cjs/{server/src/upload → upload}/memory.cjs +0 -0
  81. /package/dist/cjs/{server/src/upload → upload}/memory.d.ts +0 -0
  82. /package/dist/cjs/{server/src/upload → upload}/tus-module.cjs +0 -0
  83. /package/dist/cjs/{server/src/upload → upload}/tus-module.d.ts +0 -0
  84. /package/dist/cjs/{server/src/upload → upload}/types.cjs +0 -0
  85. /package/dist/cjs/{server/src/user → user}/base.cjs +0 -0
  86. /package/dist/cjs/{server/src/user → user}/base.d.ts +0 -0
  87. /package/dist/cjs/{server/src/user → user}/memory.cjs +0 -0
  88. /package/dist/cjs/{server/src/user → user}/memory.d.ts +0 -0
  89. /package/dist/cjs/{server/src/user → user}/sequelize.cjs +0 -0
  90. /package/dist/cjs/{server/src/user → user}/sequelize.d.ts +0 -0
  91. /package/dist/cjs/{server/src/user → user}/types.cjs +0 -0
  92. /package/dist/cjs/{server/src/user → user}/types.d.ts +0 -0
  93. /package/dist/esm/{server/src/api-module.d.ts → api-module.d.ts} +0 -0
  94. /package/dist/esm/{server/src/api-module.js → api-module.js} +0 -0
  95. /package/dist/esm/{server/src/api-server-base.d.ts → api-server-base.d.ts} +0 -0
  96. /package/dist/esm/{server/src/api-server-base.js → api-server-base.js} +0 -0
  97. /package/dist/esm/{server/src/auth-api → auth-api}/auth-module.d.ts +0 -0
  98. /package/dist/esm/{server/src/auth-api → auth-api}/auth-module.js +0 -0
  99. /package/dist/esm/{server/src/auth-api → auth-api}/compat-auth-storage.d.ts +0 -0
  100. /package/dist/esm/{server/src/auth-api → auth-api}/compat-auth-storage.js +0 -0
  101. /package/dist/esm/{server/src/auth-api → auth-api}/mem-auth-store.d.ts +0 -0
  102. /package/dist/esm/{server/src/auth-api → auth-api}/mem-auth-store.js +0 -0
  103. /package/dist/esm/{server/src/auth-api → auth-api}/module.d.ts +0 -0
  104. /package/dist/esm/{server/src/auth-api → auth-api}/module.js +0 -0
  105. /package/dist/esm/{server/src/auth-api → auth-api}/schemas.d.ts +0 -0
  106. /package/dist/esm/{server/src/auth-api → auth-api}/schemas.js +0 -0
  107. /package/dist/esm/{server/src/auth-api → auth-api}/sql-auth-store.d.ts +0 -0
  108. /package/dist/esm/{server/src/auth-api → auth-api}/sql-auth-store.js +0 -0
  109. /package/dist/esm/{server/src/auth-api → auth-api}/storage.d.ts +0 -0
  110. /package/dist/esm/{server/src/auth-api → auth-api}/storage.js +0 -0
  111. /package/dist/esm/{server/src/auth-api → auth-api}/types.d.ts +0 -0
  112. /package/dist/esm/{server/src/auth-api → auth-api}/types.js +0 -0
  113. /package/dist/esm/{server/src/auth-api → auth-api}/user-id.d.ts +0 -0
  114. /package/dist/esm/{server/src/auth-api → auth-api}/user-id.js +0 -0
  115. /package/dist/esm/{server/src/auth-cookie-options.d.ts → auth-cookie-options.d.ts} +0 -0
  116. /package/dist/esm/{server/src/auth-cookie-options.js → auth-cookie-options.js} +0 -0
  117. /package/dist/esm/{server/src/base → base}/client-info.d.ts +0 -0
  118. /package/dist/esm/{server/src/base → base}/client-info.js +0 -0
  119. /package/dist/esm/{server/src/base → base}/error-utils.d.ts +0 -0
  120. /package/dist/esm/{server/src/base → base}/error-utils.js +0 -0
  121. /package/dist/esm/{server/src/base → base}/request-utils.d.ts +0 -0
  122. /package/dist/esm/{server/src/base → base}/request-utils.js +0 -0
  123. /package/dist/esm/{server/src/index.d.ts → index.d.ts} +0 -0
  124. /package/dist/esm/{server/src/index.js → index.js} +0 -0
  125. /package/dist/esm/{server/src/limiter → limiter}/auth-rate-limiter.d.ts +0 -0
  126. /package/dist/esm/{server/src/limiter → limiter}/auth-rate-limiter.js +0 -0
  127. /package/dist/esm/{server/src/limiter → limiter}/fixed-window.d.ts +0 -0
  128. /package/dist/esm/{server/src/limiter → limiter}/fixed-window.js +0 -0
  129. /package/dist/esm/{server/src/oauth → oauth}/base.d.ts +0 -0
  130. /package/dist/esm/{server/src/oauth → oauth}/base.js +0 -0
  131. /package/dist/esm/{server/src/oauth → oauth}/memory.d.ts +0 -0
  132. /package/dist/esm/{server/src/oauth → oauth}/memory.js +0 -0
  133. /package/dist/esm/{server/src/oauth → oauth}/models.d.ts +0 -0
  134. /package/dist/esm/{server/src/oauth → oauth}/models.js +0 -0
  135. /package/dist/esm/{server/src/oauth → oauth}/sequelize.d.ts +0 -0
  136. /package/dist/esm/{server/src/oauth → oauth}/sequelize.js +0 -0
  137. /package/dist/esm/{server/src/oauth → oauth}/types.d.ts +0 -0
  138. /package/dist/esm/{server/src/oauth → oauth}/types.js +0 -0
  139. /package/dist/esm/{server/src/passkey → passkey}/base.d.ts +0 -0
  140. /package/dist/esm/{server/src/passkey → passkey}/base.js +0 -0
  141. /package/dist/esm/{server/src/passkey → passkey}/config.d.ts +0 -0
  142. /package/dist/esm/{server/src/passkey → passkey}/config.js +0 -0
  143. /package/dist/esm/{server/src/passkey → passkey}/memory.d.ts +0 -0
  144. /package/dist/esm/{server/src/passkey → passkey}/memory.js +0 -0
  145. /package/dist/esm/{server/src/passkey → passkey}/models.d.ts +0 -0
  146. /package/dist/esm/{server/src/passkey → passkey}/models.js +0 -0
  147. /package/dist/esm/{server/src/passkey → passkey}/sequelize.d.ts +0 -0
  148. /package/dist/esm/{server/src/passkey → passkey}/sequelize.js +0 -0
  149. /package/dist/esm/{server/src/passkey → passkey}/service.d.ts +0 -0
  150. /package/dist/esm/{server/src/passkey → passkey}/service.js +0 -0
  151. /package/dist/esm/{server/src/passkey → passkey}/types.d.ts +0 -0
  152. /package/dist/esm/{server/src/passkey → passkey}/types.js +0 -0
  153. /package/dist/esm/{server/src/sequelize-utils.d.ts → sequelize-utils.d.ts} +0 -0
  154. /package/dist/esm/{server/src/sequelize-utils.js → sequelize-utils.js} +0 -0
  155. /package/dist/esm/{server/src/token → token}/base.d.ts +0 -0
  156. /package/dist/esm/{server/src/token → token}/base.js +0 -0
  157. /package/dist/esm/{server/src/token → token}/memory.d.ts +0 -0
  158. /package/dist/esm/{server/src/token → token}/memory.js +0 -0
  159. /package/dist/esm/{server/src/token → token}/sequelize.d.ts +0 -0
  160. /package/dist/esm/{server/src/token → token}/sequelize.js +0 -0
  161. /package/dist/esm/{server/src/token → token}/types.d.ts +0 -0
  162. /package/dist/esm/{server/src/token → token}/types.js +0 -0
  163. /package/dist/esm/{server/src/upload → upload}/memory.d.ts +0 -0
  164. /package/dist/esm/{server/src/upload → upload}/memory.js +0 -0
  165. /package/dist/esm/{server/src/upload → upload}/tus-module.d.ts +0 -0
  166. /package/dist/esm/{server/src/upload → upload}/tus-module.js +0 -0
  167. /package/dist/esm/{server/src/upload → upload}/types.js +0 -0
  168. /package/dist/esm/{server/src/user → user}/base.d.ts +0 -0
  169. /package/dist/esm/{server/src/user → user}/base.js +0 -0
  170. /package/dist/esm/{server/src/user → user}/memory.d.ts +0 -0
  171. /package/dist/esm/{server/src/user → user}/memory.js +0 -0
  172. /package/dist/esm/{server/src/user → user}/sequelize.d.ts +0 -0
  173. /package/dist/esm/{server/src/user → user}/sequelize.js +0 -0
  174. /package/dist/esm/{server/src/user → user}/types.d.ts +0 -0
  175. /package/dist/esm/{server/src/user → user}/types.js +0 -0
@@ -0,0 +1,28 @@
1
+ export type TusMetadata = Record<string, string>;
2
+ export interface TusUploadRecord {
3
+ id: string;
4
+ length: number;
5
+ offset: number;
6
+ metadata: TusMetadata;
7
+ userId?: string;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ completedAt?: Date;
11
+ }
12
+ export interface TusCreateUploadInput {
13
+ id?: string;
14
+ length: number;
15
+ metadata: TusMetadata;
16
+ userId?: string;
17
+ }
18
+ export interface TusAppendInput {
19
+ uploadId: string;
20
+ offset: number;
21
+ chunk: Buffer;
22
+ }
23
+ export interface TusUploadStore {
24
+ createUpload(input: TusCreateUploadInput): Promise<TusUploadRecord>;
25
+ getUpload(uploadId: string): Promise<TusUploadRecord | null>;
26
+ appendUpload(input: TusAppendInput): Promise<TusUploadRecord>;
27
+ deleteUpload?(uploadId: string): Promise<boolean>;
28
+ }
@@ -0,0 +1,28 @@
1
+ export type TusMetadata = Record<string, string>;
2
+ export interface TusUploadRecord {
3
+ id: string;
4
+ length: number;
5
+ offset: number;
6
+ metadata: TusMetadata;
7
+ userId?: string;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ completedAt?: Date;
11
+ }
12
+ export interface TusCreateUploadInput {
13
+ id?: string;
14
+ length: number;
15
+ metadata: TusMetadata;
16
+ userId?: string;
17
+ }
18
+ export interface TusAppendInput {
19
+ uploadId: string;
20
+ offset: number;
21
+ chunk: Buffer;
22
+ }
23
+ export interface TusUploadStore {
24
+ createUpload(input: TusCreateUploadInput): Promise<TusUploadRecord>;
25
+ getUpload(uploadId: string): Promise<TusUploadRecord | null>;
26
+ appendUpload(input: TusAppendInput): Promise<TusUploadRecord>;
27
+ deleteUpload?(uploadId: string): Promise<boolean>;
28
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@technomoron/api-server-base",
3
- "version": "2.0.0-beta.23",
3
+ "version": "2.0.0-beta.24",
4
4
  "description": "Api Server Skeleton / Base Class",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.cjs",
@@ -1,10 +0,0 @@
1
- "use strict";
2
- /**
3
- * Shared type definitions used by both api-server-base and api-client-base.
4
- * This file contains only `type`/`interface` declarations — no runtime code.
5
- * Both packages reference these types via `import type`. Note that TypeScript
6
- * does NOT inline `import type` references in emitted `.d.ts` files — the
7
- * path aliases persist. Source files therefore keep inline type definitions
8
- * to avoid broken references for consumers of the published packages.
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,137 +0,0 @@
1
- /**
2
- * Shared type definitions used by both api-server-base and api-client-base.
3
- * This file contains only `type`/`interface` declarations — no runtime code.
4
- * Both packages reference these types via `import type`. Note that TypeScript
5
- * does NOT inline `import type` references in emitted `.d.ts` files — the
6
- * path aliases persist. Source files therefore keep inline type definitions
7
- * to avoid broken references for consumers of the published packages.
8
- */
9
- export type AuthIdentifier = string | number;
10
- export type SafeUser = Record<string, unknown>;
11
- export interface ApiResponseData<T = unknown> {
12
- success: boolean;
13
- code: number;
14
- message: string;
15
- data: T | null;
16
- errors: Record<string, string>;
17
- }
18
- export interface AuthTokenData<User = SafeUser> {
19
- accessToken?: string;
20
- refreshToken?: string;
21
- user?: User;
22
- }
23
- export interface WhoAmIResponseData<User = SafeUser, UserId extends AuthIdentifier = AuthIdentifier> {
24
- user: User;
25
- isImpersonating: boolean;
26
- realUser?: User | null;
27
- realUserId?: UserId | null;
28
- }
29
- export interface LogoutResponseData {
30
- revoked: number;
31
- }
32
- export type TokenStatus = 'active' | 'expired' | 'revoked';
33
- export interface Token {
34
- accessToken: string;
35
- refreshToken: string;
36
- userId: string;
37
- expires?: Date;
38
- issuedAt?: Date;
39
- lastSeenAt?: Date;
40
- status?: TokenStatus;
41
- ruid?: string;
42
- clientId?: string;
43
- /**
44
- * Optional session partition key. Token stores may use `domain` and `fingerprint`
45
- * to replace previous sessions that match the same bucket.
46
- */
47
- domain?: string;
48
- /**
49
- * Optional device/session fingerprint used together with `domain` for session bucketing.
50
- */
51
- fingerprint?: string;
52
- label?: string;
53
- browser?: string;
54
- device?: string;
55
- ip?: string;
56
- os?: string;
57
- scope?: string[];
58
- loginType?: string;
59
- refreshTtlSeconds?: number;
60
- sessionCookie?: boolean;
61
- }
62
- export interface TokenPair {
63
- accessToken: string;
64
- refreshToken: string;
65
- }
66
- export interface OAuthClient {
67
- clientId: string;
68
- clientSecret?: string;
69
- hasSecret?: boolean;
70
- firstParty?: boolean;
71
- metadata?: Record<string, unknown>;
72
- name?: string;
73
- redirectUris: string[];
74
- scope?: string[];
75
- }
76
- export interface AuthCodeData {
77
- code: string;
78
- clientId: string;
79
- codeChallenge?: string;
80
- codeChallengeMethod?: 'plain' | 'S256';
81
- expiresAt: Date;
82
- metadata?: Record<string, unknown>;
83
- redirectUri?: string;
84
- scope?: string[];
85
- userId: AuthIdentifier;
86
- }
87
- export type AuthCode = AuthCodeData;
88
- export type AuthCodeRequest = Omit<AuthCodeData, 'code' | 'expiresAt'> & {
89
- code?: string;
90
- expiresInSeconds?: number;
91
- };
92
- export interface OAuthStartParams {
93
- provider: string;
94
- redirectUri?: string;
95
- scope?: string | string[];
96
- state?: string;
97
- extras?: Record<string, unknown>;
98
- }
99
- export interface OAuthStartResult extends Record<string, unknown> {
100
- url: string;
101
- state?: string;
102
- codeVerifier?: string;
103
- }
104
- export interface OAuthCallbackParams {
105
- provider: string;
106
- query: Record<string, string | string[]>;
107
- body: Record<string, unknown>;
108
- }
109
- export interface OAuthCallbackResult<PublicUser> extends Record<string, unknown> {
110
- user: PublicUser;
111
- tokens?: {
112
- accessToken: string;
113
- refreshToken: string;
114
- };
115
- }
116
- export type TusMetadata = Record<string, string>;
117
- export interface TusUploadRecord {
118
- id: string;
119
- length: number;
120
- offset: number;
121
- metadata: TusMetadata;
122
- userId?: string;
123
- createdAt: Date;
124
- updatedAt: Date;
125
- completedAt?: Date;
126
- }
127
- export interface TusCreateUploadInput {
128
- id?: string;
129
- length: number;
130
- metadata: TusMetadata;
131
- userId?: string;
132
- }
133
- export interface TusAppendInput {
134
- uploadId: string;
135
- offset: number;
136
- chunk: Buffer;
137
- }
@@ -1,8 +0,0 @@
1
- import type { TusAppendInput, TusCreateUploadInput, TusUploadRecord } from '#common';
2
- export type { TusAppendInput, TusCreateUploadInput, TusMetadata, TusUploadRecord } from '#common';
3
- export interface TusUploadStore {
4
- createUpload(input: TusCreateUploadInput): Promise<TusUploadRecord>;
5
- getUpload(uploadId: string): Promise<TusUploadRecord | null>;
6
- appendUpload(input: TusAppendInput): Promise<TusUploadRecord>;
7
- deleteUpload?(uploadId: string): Promise<boolean>;
8
- }
@@ -1,137 +0,0 @@
1
- /**
2
- * Shared type definitions used by both api-server-base and api-client-base.
3
- * This file contains only `type`/`interface` declarations — no runtime code.
4
- * Both packages reference these types via `import type`. Note that TypeScript
5
- * does NOT inline `import type` references in emitted `.d.ts` files — the
6
- * path aliases persist. Source files therefore keep inline type definitions
7
- * to avoid broken references for consumers of the published packages.
8
- */
9
- export type AuthIdentifier = string | number;
10
- export type SafeUser = Record<string, unknown>;
11
- export interface ApiResponseData<T = unknown> {
12
- success: boolean;
13
- code: number;
14
- message: string;
15
- data: T | null;
16
- errors: Record<string, string>;
17
- }
18
- export interface AuthTokenData<User = SafeUser> {
19
- accessToken?: string;
20
- refreshToken?: string;
21
- user?: User;
22
- }
23
- export interface WhoAmIResponseData<User = SafeUser, UserId extends AuthIdentifier = AuthIdentifier> {
24
- user: User;
25
- isImpersonating: boolean;
26
- realUser?: User | null;
27
- realUserId?: UserId | null;
28
- }
29
- export interface LogoutResponseData {
30
- revoked: number;
31
- }
32
- export type TokenStatus = 'active' | 'expired' | 'revoked';
33
- export interface Token {
34
- accessToken: string;
35
- refreshToken: string;
36
- userId: string;
37
- expires?: Date;
38
- issuedAt?: Date;
39
- lastSeenAt?: Date;
40
- status?: TokenStatus;
41
- ruid?: string;
42
- clientId?: string;
43
- /**
44
- * Optional session partition key. Token stores may use `domain` and `fingerprint`
45
- * to replace previous sessions that match the same bucket.
46
- */
47
- domain?: string;
48
- /**
49
- * Optional device/session fingerprint used together with `domain` for session bucketing.
50
- */
51
- fingerprint?: string;
52
- label?: string;
53
- browser?: string;
54
- device?: string;
55
- ip?: string;
56
- os?: string;
57
- scope?: string[];
58
- loginType?: string;
59
- refreshTtlSeconds?: number;
60
- sessionCookie?: boolean;
61
- }
62
- export interface TokenPair {
63
- accessToken: string;
64
- refreshToken: string;
65
- }
66
- export interface OAuthClient {
67
- clientId: string;
68
- clientSecret?: string;
69
- hasSecret?: boolean;
70
- firstParty?: boolean;
71
- metadata?: Record<string, unknown>;
72
- name?: string;
73
- redirectUris: string[];
74
- scope?: string[];
75
- }
76
- export interface AuthCodeData {
77
- code: string;
78
- clientId: string;
79
- codeChallenge?: string;
80
- codeChallengeMethod?: 'plain' | 'S256';
81
- expiresAt: Date;
82
- metadata?: Record<string, unknown>;
83
- redirectUri?: string;
84
- scope?: string[];
85
- userId: AuthIdentifier;
86
- }
87
- export type AuthCode = AuthCodeData;
88
- export type AuthCodeRequest = Omit<AuthCodeData, 'code' | 'expiresAt'> & {
89
- code?: string;
90
- expiresInSeconds?: number;
91
- };
92
- export interface OAuthStartParams {
93
- provider: string;
94
- redirectUri?: string;
95
- scope?: string | string[];
96
- state?: string;
97
- extras?: Record<string, unknown>;
98
- }
99
- export interface OAuthStartResult extends Record<string, unknown> {
100
- url: string;
101
- state?: string;
102
- codeVerifier?: string;
103
- }
104
- export interface OAuthCallbackParams {
105
- provider: string;
106
- query: Record<string, string | string[]>;
107
- body: Record<string, unknown>;
108
- }
109
- export interface OAuthCallbackResult<PublicUser> extends Record<string, unknown> {
110
- user: PublicUser;
111
- tokens?: {
112
- accessToken: string;
113
- refreshToken: string;
114
- };
115
- }
116
- export type TusMetadata = Record<string, string>;
117
- export interface TusUploadRecord {
118
- id: string;
119
- length: number;
120
- offset: number;
121
- metadata: TusMetadata;
122
- userId?: string;
123
- createdAt: Date;
124
- updatedAt: Date;
125
- completedAt?: Date;
126
- }
127
- export interface TusCreateUploadInput {
128
- id?: string;
129
- length: number;
130
- metadata: TusMetadata;
131
- userId?: string;
132
- }
133
- export interface TusAppendInput {
134
- uploadId: string;
135
- offset: number;
136
- chunk: Buffer;
137
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Shared type definitions used by both api-server-base and api-client-base.
3
- * This file contains only `type`/`interface` declarations — no runtime code.
4
- * Both packages reference these types via `import type`. Note that TypeScript
5
- * does NOT inline `import type` references in emitted `.d.ts` files — the
6
- * path aliases persist. Source files therefore keep inline type definitions
7
- * to avoid broken references for consumers of the published packages.
8
- */
9
- export {};
@@ -1,8 +0,0 @@
1
- import type { TusAppendInput, TusCreateUploadInput, TusUploadRecord } from '#common';
2
- export type { TusAppendInput, TusCreateUploadInput, TusMetadata, TusUploadRecord } from '#common';
3
- export interface TusUploadStore {
4
- createUpload(input: TusCreateUploadInput): Promise<TusUploadRecord>;
5
- getUpload(uploadId: string): Promise<TusUploadRecord | null>;
6
- appendUpload(input: TusAppendInput): Promise<TusUploadRecord>;
7
- deleteUpload?(uploadId: string): Promise<boolean>;
8
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes