@flusys/nestjs-auth 7.0.2 → 8.0.0-beta.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 (237) hide show
  1. package/README.md +68 -1
  2. package/config/auth.constants.d.ts +2 -0
  3. package/config/event-actions.d.ts +2 -0
  4. package/config/index.d.ts +3 -3
  5. package/config/message-keys.d.ts +23 -0
  6. package/controllers/authentication.controller.d.ts +5 -5
  7. package/controllers/branch.controller.d.ts +2 -2
  8. package/controllers/company-selection.controller.d.ts +4 -4
  9. package/controllers/company.controller.d.ts +2 -2
  10. package/controllers/email-verification.controller.d.ts +6 -6
  11. package/controllers/index.d.ts +9 -7
  12. package/controllers/social-auth-config.controller.d.ts +22 -0
  13. package/controllers/social-auth.controller.d.ts +11 -0
  14. package/controllers/user-permission.controller.d.ts +5 -4
  15. package/controllers/user.controller.d.ts +7 -7
  16. package/docs/auth-swagger.config.d.ts +2 -2
  17. package/docs/index.d.ts +1 -1
  18. package/dtos/index.d.ts +6 -5
  19. package/dtos/social-auth.dto.d.ts +42 -0
  20. package/entities/company-branch.entity.d.ts +1 -1
  21. package/entities/company.entity.d.ts +1 -1
  22. package/entities/index.d.ts +15 -13
  23. package/entities/pending-registration.entity.d.ts +1 -1
  24. package/entities/social-auth-config.entity.d.ts +9 -0
  25. package/entities/user-company-permission.entity.d.ts +4 -4
  26. package/enums/index.d.ts +2 -1
  27. package/enums/social-provider-type.enum.d.ts +6 -0
  28. package/fesm/118.js +1230 -0
  29. package/fesm/120.js +2197 -0
  30. package/fesm/24.js +4389 -0
  31. package/fesm/370.js +1163 -0
  32. package/fesm/446.js +877 -0
  33. package/fesm/chunks/117.js +69 -0
  34. package/fesm/config/index.js +244 -3
  35. package/fesm/controllers/index.js +27 -7
  36. package/fesm/docs/index.js +479 -1
  37. package/fesm/dtos/index.js +123 -5
  38. package/fesm/entities/index.js +68 -19
  39. package/fesm/enums/index.js +53 -1
  40. package/fesm/helpers/index.js +115 -2
  41. package/fesm/index.js +1437 -12
  42. package/fesm/interceptors/index.js +508 -2
  43. package/fesm/interfaces/index.js +75 -7
  44. package/fesm/modules/index.js +546 -1
  45. package/fesm/runtime.js +134 -0
  46. package/fesm/services/index.js +67 -9
  47. package/helpers/auth-response.mapper.d.ts +3 -3
  48. package/helpers/index.d.ts +2 -2
  49. package/helpers/token.helper.d.ts +2 -2
  50. package/index.d.ts +13 -12
  51. package/interceptors/clear-token.interceptor.d.ts +2 -2
  52. package/interceptors/index.d.ts +2 -2
  53. package/interceptors/set-token.interceptor.d.ts +2 -2
  54. package/interfaces/auth-module-options.interface.d.ts +3 -3
  55. package/interfaces/authentication.interface.d.ts +3 -3
  56. package/interfaces/company-branch.interface.d.ts +2 -2
  57. package/interfaces/company.interface.d.ts +1 -1
  58. package/interfaces/index.d.ts +8 -7
  59. package/interfaces/social-auth.interface.d.ts +43 -0
  60. package/interfaces/user-enricher.interface.d.ts +3 -3
  61. package/modules/auth.module.d.ts +4 -4
  62. package/modules/index.d.ts +1 -1
  63. package/package.json +32 -39
  64. package/providers/facebook.social-provider.d.ts +10 -0
  65. package/providers/google.social-provider.d.ts +10 -0
  66. package/providers/index.d.ts +1 -0
  67. package/providers/linkedin.social-provider.d.ts +10 -0
  68. package/providers/microsoft.social-provider.d.ts +10 -0
  69. package/providers/oauth-http.util.d.ts +10 -0
  70. package/providers/social-provider.registry.d.ts +3 -0
  71. package/services/auth-config.service.d.ts +4 -3
  72. package/services/auth-datasource.provider.d.ts +4 -3
  73. package/services/auth-email.service.d.ts +3 -3
  74. package/services/authentication.service.d.ts +15 -11
  75. package/services/branch.service.d.ts +7 -7
  76. package/services/company.service.d.ts +6 -6
  77. package/services/index.d.ts +11 -9
  78. package/services/social-auth-config.service.d.ts +21 -0
  79. package/services/social-auth.service.d.ts +24 -0
  80. package/services/user-permission.service.d.ts +8 -4
  81. package/services/user.service.d.ts +7 -7
  82. package/strategies/jwt.strategy.d.ts +4 -4
  83. package/validators/password.validator.d.ts +1 -1
  84. package/cjs/config/auth.constants.js +0 -41
  85. package/cjs/config/event-actions.js +0 -45
  86. package/cjs/config/index.js +0 -20
  87. package/cjs/config/message-keys.js +0 -108
  88. package/cjs/controllers/authentication.controller.js +0 -427
  89. package/cjs/controllers/authentication.controller.spec.js +0 -219
  90. package/cjs/controllers/branch.controller.js +0 -102
  91. package/cjs/controllers/branch.controller.spec.js +0 -134
  92. package/cjs/controllers/company-selection.controller.js +0 -198
  93. package/cjs/controllers/company-selection.controller.spec.js +0 -84
  94. package/cjs/controllers/company.controller.js +0 -102
  95. package/cjs/controllers/company.controller.spec.js +0 -131
  96. package/cjs/controllers/email-verification.controller.js +0 -224
  97. package/cjs/controllers/email-verification.controller.spec.js +0 -142
  98. package/cjs/controllers/index.js +0 -24
  99. package/cjs/controllers/user-permission.controller.js +0 -223
  100. package/cjs/controllers/user-permission.controller.spec.js +0 -138
  101. package/cjs/controllers/user.controller.js +0 -438
  102. package/cjs/controllers/user.controller.spec.js +0 -204
  103. package/cjs/docs/auth-swagger.config.js +0 -453
  104. package/cjs/docs/auth-swagger.config.spec.js +0 -130
  105. package/cjs/docs/index.js +0 -18
  106. package/cjs/dtos/authentication.dto.js +0 -755
  107. package/cjs/dtos/company-branch.dto.js +0 -294
  108. package/cjs/dtos/company.dto.js +0 -298
  109. package/cjs/dtos/index.js +0 -22
  110. package/cjs/dtos/user-permission.dto.js +0 -358
  111. package/cjs/dtos/user.dto.js +0 -413
  112. package/cjs/entities/app-user.entity.js +0 -25
  113. package/cjs/entities/company-branch.entity.js +0 -163
  114. package/cjs/entities/company.entity.js +0 -146
  115. package/cjs/entities/index.js +0 -65
  116. package/cjs/entities/index.spec.js +0 -73
  117. package/cjs/entities/pending-registration.entity.js +0 -135
  118. package/cjs/entities/user-company-permission.entity.js +0 -153
  119. package/cjs/entities/user-token.entity.js +0 -120
  120. package/cjs/enums/index.js +0 -18
  121. package/cjs/enums/user-org-permission-type.enum.js +0 -15
  122. package/cjs/helpers/auth-response.mapper.js +0 -46
  123. package/cjs/helpers/auth-response.mapper.spec.js +0 -139
  124. package/cjs/helpers/index.js +0 -19
  125. package/cjs/helpers/token.helper.js +0 -58
  126. package/cjs/helpers/token.helper.spec.js +0 -86
  127. package/cjs/index.js +0 -29
  128. package/cjs/interceptors/clear-token.interceptor.js +0 -73
  129. package/cjs/interceptors/clear-token.interceptor.spec.js +0 -107
  130. package/cjs/interceptors/index.js +0 -19
  131. package/cjs/interceptors/set-token.interceptor.js +0 -107
  132. package/cjs/interceptors/set-token.interceptor.spec.js +0 -165
  133. package/cjs/interfaces/auth-email-provider.interface.js +0 -45
  134. package/cjs/interfaces/auth-module-options.interface.js +0 -4
  135. package/cjs/interfaces/authentication.interface.js +0 -4
  136. package/cjs/interfaces/company-branch.interface.js +0 -4
  137. package/cjs/interfaces/company.interface.js +0 -4
  138. package/cjs/interfaces/index.js +0 -24
  139. package/cjs/interfaces/user-enricher.interface.js +0 -4
  140. package/cjs/interfaces/user.interface.js +0 -4
  141. package/cjs/modules/auth.module.js +0 -202
  142. package/cjs/modules/auth.module.spec.js +0 -243
  143. package/cjs/modules/index.js +0 -18
  144. package/cjs/services/auth-config.service.js +0 -110
  145. package/cjs/services/auth-config.service.spec.js +0 -97
  146. package/cjs/services/auth-datasource.provider.js +0 -134
  147. package/cjs/services/auth-datasource.provider.spec.js +0 -161
  148. package/cjs/services/auth-email.service.js +0 -539
  149. package/cjs/services/auth-email.service.spec.js +0 -456
  150. package/cjs/services/authentication.service.js +0 -1173
  151. package/cjs/services/authentication.service.spec.js +0 -962
  152. package/cjs/services/branch.service.js +0 -153
  153. package/cjs/services/branch.service.spec.js +0 -169
  154. package/cjs/services/company-selection-session.service.js +0 -121
  155. package/cjs/services/company-selection-session.service.spec.js +0 -90
  156. package/cjs/services/company.service.js +0 -140
  157. package/cjs/services/company.service.spec.js +0 -127
  158. package/cjs/services/index.js +0 -26
  159. package/cjs/services/user-permission.service.js +0 -236
  160. package/cjs/services/user-permission.service.spec.js +0 -254
  161. package/cjs/services/user.service.js +0 -671
  162. package/cjs/services/user.service.spec.js +0 -718
  163. package/cjs/strategies/jwt.strategy.js +0 -140
  164. package/cjs/strategies/jwt.strategy.spec.js +0 -166
  165. package/cjs/validators/password.validator.js +0 -45
  166. package/cjs/validators/password.validator.spec.js +0 -161
  167. package/fesm/config/auth.constants.js +0 -11
  168. package/fesm/config/event-actions.js +0 -24
  169. package/fesm/config/message-keys.js +0 -78
  170. package/fesm/controllers/authentication.controller.js +0 -417
  171. package/fesm/controllers/authentication.controller.spec.js +0 -215
  172. package/fesm/controllers/branch.controller.js +0 -92
  173. package/fesm/controllers/branch.controller.spec.js +0 -130
  174. package/fesm/controllers/company-selection.controller.js +0 -188
  175. package/fesm/controllers/company-selection.controller.spec.js +0 -80
  176. package/fesm/controllers/company.controller.js +0 -92
  177. package/fesm/controllers/company.controller.spec.js +0 -127
  178. package/fesm/controllers/email-verification.controller.js +0 -214
  179. package/fesm/controllers/email-verification.controller.spec.js +0 -138
  180. package/fesm/controllers/user-permission.controller.js +0 -213
  181. package/fesm/controllers/user-permission.controller.spec.js +0 -134
  182. package/fesm/controllers/user.controller.js +0 -428
  183. package/fesm/controllers/user.controller.spec.js +0 -200
  184. package/fesm/docs/auth-swagger.config.js +0 -446
  185. package/fesm/docs/auth-swagger.config.spec.js +0 -126
  186. package/fesm/dtos/authentication.dto.js +0 -683
  187. package/fesm/dtos/company-branch.dto.js +0 -279
  188. package/fesm/dtos/company.dto.js +0 -283
  189. package/fesm/dtos/user-permission.dto.js +0 -339
  190. package/fesm/dtos/user.dto.js +0 -391
  191. package/fesm/entities/app-user.entity.js +0 -15
  192. package/fesm/entities/company-branch.entity.js +0 -153
  193. package/fesm/entities/company.entity.js +0 -136
  194. package/fesm/entities/index.spec.js +0 -69
  195. package/fesm/entities/pending-registration.entity.js +0 -125
  196. package/fesm/entities/user-company-permission.entity.js +0 -136
  197. package/fesm/entities/user-token.entity.js +0 -104
  198. package/fesm/enums/user-org-permission-type.enum.js +0 -5
  199. package/fesm/helpers/auth-response.mapper.js +0 -25
  200. package/fesm/helpers/auth-response.mapper.spec.js +0 -135
  201. package/fesm/helpers/token.helper.js +0 -40
  202. package/fesm/helpers/token.helper.spec.js +0 -82
  203. package/fesm/interceptors/clear-token.interceptor.js +0 -63
  204. package/fesm/interceptors/clear-token.interceptor.spec.js +0 -103
  205. package/fesm/interceptors/set-token.interceptor.js +0 -98
  206. package/fesm/interceptors/set-token.interceptor.spec.js +0 -161
  207. package/fesm/interfaces/auth-email-provider.interface.js +0 -38
  208. package/fesm/interfaces/auth-module-options.interface.js +0 -3
  209. package/fesm/interfaces/authentication.interface.js +0 -1
  210. package/fesm/interfaces/company-branch.interface.js +0 -1
  211. package/fesm/interfaces/company.interface.js +0 -1
  212. package/fesm/interfaces/user-enricher.interface.js +0 -4
  213. package/fesm/interfaces/user.interface.js +0 -1
  214. package/fesm/modules/auth.module.js +0 -192
  215. package/fesm/modules/auth.module.spec.js +0 -239
  216. package/fesm/services/auth-config.service.js +0 -100
  217. package/fesm/services/auth-config.service.spec.js +0 -93
  218. package/fesm/services/auth-datasource.provider.js +0 -83
  219. package/fesm/services/auth-datasource.provider.spec.js +0 -157
  220. package/fesm/services/auth-email.service.js +0 -488
  221. package/fesm/services/auth-email.service.spec.js +0 -411
  222. package/fesm/services/authentication.service.js +0 -1122
  223. package/fesm/services/authentication.service.spec.js +0 -917
  224. package/fesm/services/branch.service.js +0 -143
  225. package/fesm/services/branch.service.spec.js +0 -165
  226. package/fesm/services/company-selection-session.service.js +0 -111
  227. package/fesm/services/company-selection-session.service.spec.js +0 -86
  228. package/fesm/services/company.service.js +0 -130
  229. package/fesm/services/company.service.spec.js +0 -123
  230. package/fesm/services/user-permission.service.js +0 -226
  231. package/fesm/services/user-permission.service.spec.js +0 -250
  232. package/fesm/services/user.service.js +0 -620
  233. package/fesm/services/user.service.spec.js +0 -673
  234. package/fesm/strategies/jwt.strategy.js +0 -130
  235. package/fesm/strategies/jwt.strategy.spec.js +0 -162
  236. package/fesm/validators/password.validator.js +0 -48
  237. package/fesm/validators/password.validator.spec.js +0 -157
@@ -1 +1,479 @@
1
- export * from './auth-swagger.config';
1
+ export const __rspack_esm_id = 428;
2
+ export const __rspack_esm_ids = [428];
3
+ export const __webpack_modules__ = {
4
+ 4706(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
+
6
+ // EXPORTS
7
+ __webpack_require__.d(__webpack_exports__, {
8
+ J: () => (/* reexport */ authSwaggerConfig)
9
+ });
10
+
11
+ ;// CONCATENATED MODULE: ./projects/nestjs-auth/src/docs/auth-swagger.config.ts
12
+ // ============================================================================
13
+ // Company feature exclusions
14
+ // ============================================================================
15
+ const COMPANY_RELATED_TAGS = [
16
+ 'Companies',
17
+ 'Branches',
18
+ 'User Permissions',
19
+ 'Company Selection'
20
+ ];
21
+ const COMPANY_SCHEMA_EXCLUSIONS = [
22
+ // Request DTOs
23
+ {
24
+ schemaName: 'RegistrationDto',
25
+ properties: [
26
+ 'companySlug',
27
+ 'branchSlug',
28
+ 'newCompanyName',
29
+ 'newCompanyPhone',
30
+ 'newCompanyAddress'
31
+ ]
32
+ },
33
+ {
34
+ schemaName: 'SelectDto',
35
+ properties: [
36
+ 'sessionId',
37
+ 'companyId',
38
+ 'branchId'
39
+ ]
40
+ },
41
+ {
42
+ schemaName: 'SwitchCompanyDto',
43
+ properties: [
44
+ 'companyId',
45
+ 'branchId'
46
+ ]
47
+ },
48
+ // Response DTOs
49
+ {
50
+ schemaName: 'RegistrationResponseDto',
51
+ properties: [
52
+ 'company',
53
+ 'branch'
54
+ ]
55
+ },
56
+ {
57
+ schemaName: 'LoginResponseDto',
58
+ properties: [
59
+ 'company',
60
+ 'branch'
61
+ ]
62
+ },
63
+ {
64
+ schemaName: 'MeResponseDto',
65
+ properties: [
66
+ 'company',
67
+ 'branch'
68
+ ]
69
+ },
70
+ // Nested helper DTOs
71
+ {
72
+ schemaName: 'CompanyInfoDto',
73
+ properties: [
74
+ 'id',
75
+ 'name',
76
+ 'slug',
77
+ 'logoId'
78
+ ]
79
+ },
80
+ {
81
+ schemaName: 'BranchInfoDto',
82
+ properties: [
83
+ 'id',
84
+ 'name',
85
+ 'slug',
86
+ 'logoId'
87
+ ]
88
+ },
89
+ {
90
+ schemaName: 'BranchSelectionInfoDto',
91
+ properties: [
92
+ 'id',
93
+ 'name',
94
+ 'slug',
95
+ 'logoId'
96
+ ]
97
+ },
98
+ {
99
+ schemaName: 'CompanyWithBranchesDto',
100
+ properties: [
101
+ 'id',
102
+ 'name',
103
+ 'slug',
104
+ 'logoId',
105
+ 'branches'
106
+ ]
107
+ },
108
+ {
109
+ schemaName: 'CompanySelectionResponseDto',
110
+ properties: [
111
+ 'requiresSelection',
112
+ 'sessionId',
113
+ 'expiresAt',
114
+ 'user',
115
+ 'companies'
116
+ ]
117
+ },
118
+ // Company management DTOs
119
+ {
120
+ schemaName: 'CreateCompanyDto',
121
+ properties: [
122
+ 'name',
123
+ 'slug',
124
+ 'logoId',
125
+ 'address',
126
+ 'phone',
127
+ 'email',
128
+ 'website',
129
+ 'serial',
130
+ 'isActive',
131
+ 'settings',
132
+ 'additionalFields'
133
+ ]
134
+ },
135
+ {
136
+ schemaName: 'UpdateCompanyDto',
137
+ properties: [
138
+ 'id',
139
+ 'name',
140
+ 'slug',
141
+ 'logoId',
142
+ 'address',
143
+ 'phone',
144
+ 'email',
145
+ 'website',
146
+ 'serial',
147
+ 'isActive',
148
+ 'settings',
149
+ 'additionalFields'
150
+ ]
151
+ },
152
+ {
153
+ schemaName: 'CompanyResponseDto',
154
+ properties: [
155
+ 'id',
156
+ 'name',
157
+ 'slug',
158
+ 'logoId',
159
+ 'address',
160
+ 'phone',
161
+ 'email',
162
+ 'website',
163
+ 'serial',
164
+ 'isActive',
165
+ 'settings',
166
+ 'additionalFields',
167
+ 'readOnly',
168
+ 'createdAt',
169
+ 'updatedAt'
170
+ ]
171
+ },
172
+ // Branch management DTOs
173
+ {
174
+ schemaName: 'CreateCompanyBranchDto',
175
+ properties: [
176
+ 'name',
177
+ 'slug',
178
+ 'companyId',
179
+ 'parentId',
180
+ 'logoId',
181
+ 'address',
182
+ 'phone',
183
+ 'email',
184
+ 'serial',
185
+ 'isActive',
186
+ 'additionalFields'
187
+ ]
188
+ },
189
+ {
190
+ schemaName: 'UpdateCompanyBranchDto',
191
+ properties: [
192
+ 'id',
193
+ 'name',
194
+ 'slug',
195
+ 'companyId',
196
+ 'parentId',
197
+ 'logoId',
198
+ 'address',
199
+ 'phone',
200
+ 'email',
201
+ 'serial',
202
+ 'isActive',
203
+ 'additionalFields'
204
+ ]
205
+ },
206
+ {
207
+ schemaName: 'CompanyBranchResponseDto',
208
+ properties: [
209
+ 'id',
210
+ 'name',
211
+ 'slug',
212
+ 'companyId',
213
+ 'parentId',
214
+ 'logoId',
215
+ 'address',
216
+ 'phone',
217
+ 'email',
218
+ 'serial',
219
+ 'isActive',
220
+ 'additionalFields',
221
+ 'readOnly',
222
+ 'createdAt',
223
+ 'updatedAt'
224
+ ]
225
+ },
226
+ // User permission DTOs
227
+ {
228
+ schemaName: 'UserCompanyPermissionDto',
229
+ properties: [
230
+ 'id',
231
+ 'userId',
232
+ 'companyId',
233
+ 'companyName',
234
+ 'companySlug'
235
+ ]
236
+ },
237
+ {
238
+ schemaName: 'UserBranchPermissionDto',
239
+ properties: [
240
+ 'id',
241
+ 'userId',
242
+ 'branchId',
243
+ 'branchName',
244
+ 'branchSlug',
245
+ 'companyId'
246
+ ]
247
+ },
248
+ {
249
+ schemaName: 'AssignUserCompanyDto',
250
+ properties: [
251
+ 'userId',
252
+ 'items'
253
+ ]
254
+ },
255
+ {
256
+ schemaName: 'AssignUserBranchDto',
257
+ properties: [
258
+ 'userId',
259
+ 'items'
260
+ ]
261
+ },
262
+ {
263
+ schemaName: 'PermissionItemDto',
264
+ properties: [
265
+ 'targetId',
266
+ 'isAdd'
267
+ ]
268
+ },
269
+ {
270
+ schemaName: 'UserCompaniesResponseDto',
271
+ properties: [
272
+ 'data'
273
+ ]
274
+ },
275
+ {
276
+ schemaName: 'UserBranchesResponseDto',
277
+ properties: [
278
+ 'data'
279
+ ]
280
+ }
281
+ ];
282
+ const COMPANY_EXAMPLE_EXCLUSIONS = [
283
+ {
284
+ pathPattern: '/auth/login',
285
+ method: 'post',
286
+ examples: [
287
+ 'loginSuccessWithCompany',
288
+ 'companySelection'
289
+ ]
290
+ }
291
+ ];
292
+ // ============================================================================
293
+ // Email verification exclusions
294
+ // ============================================================================
295
+ const EMAIL_VERIFICATION_PATHS = [
296
+ '/auth/forgot-password',
297
+ '/auth/reset-password',
298
+ '/auth/resend-verification',
299
+ '/auth/verify-email'
300
+ ];
301
+ const EMAIL_VERIFICATION_SCHEMA_EXCLUSIONS = [
302
+ {
303
+ schemaName: 'RegistrationResponseDto',
304
+ properties: [
305
+ 'requiresEmailVerification'
306
+ ]
307
+ },
308
+ {
309
+ schemaName: 'LoginResponseRequiresEmailVerificationDto',
310
+ properties: [
311
+ 'requiresEmailVerification',
312
+ 'email'
313
+ ]
314
+ }
315
+ ];
316
+ const EMAIL_VERIFICATION_EXAMPLE_EXCLUSIONS = [
317
+ {
318
+ pathPattern: '/auth/login',
319
+ method: 'post',
320
+ examples: [
321
+ 'emailVerification'
322
+ ]
323
+ }
324
+ ];
325
+ // ============================================================================
326
+ // Description builder
327
+ // ============================================================================
328
+ function buildDescription(enableCompanyFeature, enableEmailVerification, isMultiTenant) {
329
+ const multiTenantNote = isMultiTenant ? `\n> **Multi-Tenant Mode**: Include \`x-tenant-id\` header to target a specific tenant database.\n` : '';
330
+ const features = [
331
+ '- User registration',
332
+ '- Login with email/password',
333
+ '- Social sign-in (Google, Facebook, LinkedIn, Microsoft)',
334
+ '- JWT token-based authentication',
335
+ ...enableEmailVerification ? [
336
+ '- Email verification',
337
+ '- Forgot/reset password'
338
+ ] : [],
339
+ ...enableCompanyFeature ? [
340
+ '- Company/Branch selection flow (multi-company enabled)'
341
+ ] : [],
342
+ '- Token refresh',
343
+ '- Password change'
344
+ ].join('\n');
345
+ const loginFlowSection = enableCompanyFeature ? `
346
+ ### Authentication Flow
347
+
348
+ #### Simple Login (single company/branch)
349
+ \`\`\`
350
+ POST /auth/login → { accessToken, refreshToken, user, company, branch }
351
+ \`\`\`
352
+
353
+ #### Multi-Company Login (multiple companies or branches)
354
+ \`\`\`
355
+ POST /auth/login → { requiresSelection: true, sessionId, companies }
356
+ POST /auth/select → { accessToken, refreshToken, user, company, branch }
357
+ \`\`\`
358
+ ${enableEmailVerification ? `
359
+ #### Email Verification Required
360
+ \`\`\`
361
+ POST /auth/login → { requiresEmailVerification: true, email }
362
+ POST /auth/verify-email → { accessToken, refreshToken, user }
363
+ \`\`\`
364
+ ` : ''}
365
+ ### Company/Branch Selection Endpoints
366
+ - \`POST /auth/select\` - Complete login by selecting company and branch
367
+ - \`POST /auth/switch-company\` - Switch to different company/branch while logged in
368
+ ` : `
369
+ ### Authentication Flow
370
+ \`\`\`
371
+ POST /auth/login → { accessToken, refreshToken, user }
372
+ \`\`\`
373
+ ${enableEmailVerification ? `
374
+ #### Email Verification Required
375
+ \`\`\`
376
+ POST /auth/login → { requiresEmailVerification: true, email }
377
+ POST /auth/verify-email → { accessToken, refreshToken, user }
378
+ \`\`\`
379
+ ` : ''}`;
380
+ const emailVerificationSection = enableEmailVerification ? `
381
+ ### Email Verification Endpoints
382
+ - \`POST /auth/forgot-password\` - Request password reset email
383
+ - \`POST /auth/reset-password\` - Reset password using token
384
+ - \`POST /auth/resend-verification\` - Resend verification email
385
+ - \`POST /auth/verify-email\` - Verify email using token
386
+ ` : '';
387
+ const socialSection = `
388
+ ### Social Sign-In Endpoints
389
+ - \`POST /auth/social/providers\` - List the providers an administrator enabled
390
+ - \`POST /auth/social/authorize\` - Start a sign-in and get the provider's consent URL
391
+ - \`POST /auth/social/callback\` - Exchange the provider's code for a session
392
+ - \`POST /auth/social-config/*\` - Manage provider credentials
393
+ `;
394
+ const administrationSection = enableCompanyFeature ? `
395
+ ### Administration Endpoints
396
+ - \`POST /administration/users/*\` - User management
397
+ - \`POST /administration/company/*\` - Company management
398
+ - \`POST /administration/branch/*\` - Branch management
399
+ - \`POST /administration/user-permissions/*\` - User permission management
400
+ ` : `
401
+ ### Administration Endpoints
402
+ - \`POST /administration/users/*\` - User management
403
+ `;
404
+ const registrationSection = enableCompanyFeature ? `
405
+ ### Registration Flow
406
+
407
+ **Simple registration:**
408
+ \`\`\`json
409
+ { "name": "John Doe", "email": "john@example.com", "password": "password123" }
410
+ \`\`\`
411
+
412
+ **Join existing company:**
413
+ \`\`\`json
414
+ { "name": "John Doe", "email": "john@example.com", "password": "password123", "companySlug": "acme-corp", "branchSlug": "main-branch" }
415
+ \`\`\`
416
+
417
+ **Create new company:**
418
+ \`\`\`json
419
+ { "name": "John Doe", "email": "john@example.com", "password": "password123", "newCompanyName": "My New Company" }
420
+ \`\`\`
421
+ ` : `
422
+ ### Registration Flow
423
+ \`\`\`json
424
+ { "name": "John Doe", "email": "john@example.com", "password": "password123" }
425
+ \`\`\`
426
+ `;
427
+ return `
428
+ ## Authentication API
429
+ ${multiTenantNote}
430
+ Handles user authentication${enableCompanyFeature ? ', company/branch management' : ''}, and registration.
431
+
432
+ ### Features
433
+ ${features}
434
+ ${loginFlowSection}${emailVerificationSection}${socialSection}${administrationSection}${registrationSection}`;
435
+ }
436
+ // ============================================================================
437
+ // Config factory
438
+ // ============================================================================
439
+ function authSwaggerConfig(bootstrapConfig) {
440
+ const enableCompanyFeature = bootstrapConfig?.enableCompanyFeature ?? true;
441
+ const enableEmailVerification = bootstrapConfig?.enableEmailVerification ?? true;
442
+ const isMultiTenant = bootstrapConfig?.databaseMode === 'multi-tenant';
443
+ const excludeTags = enableCompanyFeature ? [] : COMPANY_RELATED_TAGS;
444
+ const excludeSchemaProperties = [
445
+ ...enableCompanyFeature ? [] : COMPANY_SCHEMA_EXCLUSIONS,
446
+ ...enableEmailVerification ? [] : EMAIL_VERIFICATION_SCHEMA_EXCLUSIONS
447
+ ];
448
+ // Merge example exclusions — both may target /auth/login with different example names
449
+ const excludeExamples = [
450
+ ...enableCompanyFeature ? [] : COMPANY_EXAMPLE_EXCLUSIONS,
451
+ ...enableEmailVerification ? [] : EMAIL_VERIFICATION_EXAMPLE_EXCLUSIONS
452
+ ];
453
+ const excludePaths = enableEmailVerification ? undefined : EMAIL_VERIFICATION_PATHS;
454
+ return {
455
+ title: 'Auth API',
456
+ description: buildDescription(enableCompanyFeature, enableEmailVerification, isMultiTenant),
457
+ version: '1.0',
458
+ path: 'api/docs/auth',
459
+ bearerAuth: true,
460
+ excludeTags,
461
+ excludeSchemaProperties: excludeSchemaProperties.length ? excludeSchemaProperties : undefined,
462
+ excludeExamples: excludeExamples.length ? excludeExamples : undefined,
463
+ excludePaths
464
+ };
465
+ }
466
+
467
+ ;// CONCATENATED MODULE: ./projects/nestjs-auth/src/docs/index.ts
468
+
469
+
470
+
471
+ },
472
+
473
+ };
474
+ import { __webpack_require__ } from '../runtime.js';
475
+ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
476
+ import * as __rspack_chunk_1 from './index.js';
477
+ __webpack_require__.C(__rspack_chunk_1);
478
+ var __webpack_exports__ = __webpack_exec__(4706);var __webpack_exports__authSwaggerConfig = __webpack_exports__.J;
479
+ export { __webpack_exports__authSwaggerConfig as authSwaggerConfig };
@@ -1,5 +1,123 @@
1
- export * from './authentication.dto';
2
- export * from './company-branch.dto';
3
- export * from './company.dto';
4
- export * from './user.dto';
5
- export * from './user-permission.dto';
1
+ export const __rspack_esm_id = 685;
2
+ export const __rspack_esm_ids = [685];
3
+ export const __webpack_modules__ = {
4
+ 9029(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
+ /* import */ var _authentication_dto_js__rspack_import_0 = __webpack_require__(8978);
6
+ /* import */ var _company_branch_dto_js__rspack_import_1 = __webpack_require__(9556);
7
+ /* import */ var _company_dto_js__rspack_import_2 = __webpack_require__(1845);
8
+ /* import */ var _social_auth_dto_js__rspack_import_3 = __webpack_require__(430);
9
+ /* import */ var _user_dto_js__rspack_import_4 = __webpack_require__(7265);
10
+ /* import */ var _user_permission_dto_js__rspack_import_5 = __webpack_require__(3939);
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ __webpack_require__.d(__webpack_exports__, {
19
+ $h: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.$h),
20
+ DU: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.DU),
21
+ ET: () => (/* reexport safe */ _company_branch_dto_js__rspack_import_1.ET),
22
+ G3: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.G3),
23
+ Ky: () => (/* reexport safe */ _company_dto_js__rspack_import_2.Ky),
24
+ LU: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.LU),
25
+ Oo: () => (/* reexport safe */ _company_branch_dto_js__rspack_import_1.Oo),
26
+ Oz: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.Oz),
27
+ QW: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.QW),
28
+ Qf: () => (/* reexport safe */ _user_dto_js__rspack_import_4.Qf),
29
+ Qm: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.Qm),
30
+ RP: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.RP),
31
+ RQ: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.RQ),
32
+ SN: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.SN),
33
+ TF: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.TF),
34
+ TG: () => (/* reexport safe */ _user_dto_js__rspack_import_4.TG),
35
+ UQ: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.UQ),
36
+ US: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.US),
37
+ Uu: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.Uu),
38
+ Vw: () => (/* reexport safe */ _company_branch_dto_js__rspack_import_1.Vw),
39
+ X8: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.X8),
40
+ _M: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0._M),
41
+ a2: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.a2),
42
+ aZ: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.aZ),
43
+ cd: () => (/* reexport safe */ _company_dto_js__rspack_import_2.cd),
44
+ dp: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.dp),
45
+ fF: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.fF),
46
+ fP: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.fP),
47
+ gw: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.gw),
48
+ iJ: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.iJ),
49
+ k2: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.k2),
50
+ kd: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.kd),
51
+ kq: () => (/* reexport safe */ _user_dto_js__rspack_import_4.kq),
52
+ l4: () => (/* reexport safe */ _company_dto_js__rspack_import_2.l4),
53
+ mG: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.mG),
54
+ pb: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.pb),
55
+ pd: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.pd),
56
+ qW: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.qW),
57
+ rl: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.rl),
58
+ rn: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.rn),
59
+ s4: () => (/* reexport safe */ _social_auth_dto_js__rspack_import_3.s4),
60
+ sx: () => (/* reexport safe */ _user_dto_js__rspack_import_4.sx),
61
+ vb: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.vb),
62
+ wc: () => (/* reexport safe */ _user_permission_dto_js__rspack_import_5.wc),
63
+ xG: () => (/* reexport safe */ _authentication_dto_js__rspack_import_0.xG)
64
+ });
65
+
66
+
67
+ },
68
+
69
+ };
70
+ import { __webpack_require__ } from '../runtime.js';
71
+ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
72
+ import * as __rspack_chunk_1 from '../370.js';
73
+ __webpack_require__.C(__rspack_chunk_1);
74
+ import * as __rspack_chunk_2 from '../118.js';
75
+ __webpack_require__.C(__rspack_chunk_2);
76
+ import * as __rspack_chunk_3 from './index.js';
77
+ __webpack_require__.C(__rspack_chunk_3);
78
+ var __webpack_exports__ = __webpack_exec__(9029);var __webpack_exports__AssignUserBranchDto = __webpack_exports__.qW;
79
+ var __webpack_exports__AssignUserCompanyDto = __webpack_exports__.DU;
80
+ var __webpack_exports__BranchInfoDto = __webpack_exports__.UQ;
81
+ var __webpack_exports__BranchSelectionInfoDto = __webpack_exports__.G3;
82
+ var __webpack_exports__ChangePasswordDto = __webpack_exports__.$h;
83
+ var __webpack_exports__CompanyBranchResponseDto = __webpack_exports__.ET;
84
+ var __webpack_exports__CompanyInfoDto = __webpack_exports__.fF;
85
+ var __webpack_exports__CompanyResponseDto = __webpack_exports__.cd;
86
+ var __webpack_exports__CompanySelectionResponseDto = __webpack_exports__.iJ;
87
+ var __webpack_exports__CompanyWithBranchesDto = __webpack_exports__.TF;
88
+ var __webpack_exports__CreateCompanyBranchDto = __webpack_exports__.Vw;
89
+ var __webpack_exports__CreateCompanyDto = __webpack_exports__.l4;
90
+ var __webpack_exports__CreateSocialAuthConfigDto = __webpack_exports__.X8;
91
+ var __webpack_exports__CreateUserDto = __webpack_exports__.TG;
92
+ var __webpack_exports__ForgotPasswordDto = __webpack_exports__.mG;
93
+ var __webpack_exports__LoginDto = __webpack_exports__.pb;
94
+ var __webpack_exports__LoginResponseDto = __webpack_exports__.gw;
95
+ var __webpack_exports__LoginResponseRequiresEmailVerificationDto = __webpack_exports__.rn;
96
+ var __webpack_exports__MeResponseDto = __webpack_exports__.vb;
97
+ var __webpack_exports__PermissionItemDto = __webpack_exports__.Uu;
98
+ var __webpack_exports__RefreshTokenDto = __webpack_exports__.k2;
99
+ var __webpack_exports__RegistrationDto = __webpack_exports__.xG;
100
+ var __webpack_exports__RegistrationResponseDto = __webpack_exports__._M;
101
+ var __webpack_exports__ResendVerificationDto = __webpack_exports__.Oz;
102
+ var __webpack_exports__ResetPasswordDto = __webpack_exports__.US;
103
+ var __webpack_exports__SelectDto = __webpack_exports__.aZ;
104
+ var __webpack_exports__SocialAuthConfigResponseDto = __webpack_exports__.SN;
105
+ var __webpack_exports__SocialAuthorizeDto = __webpack_exports__.s4;
106
+ var __webpack_exports__SocialAuthorizeResponseDto = __webpack_exports__.pd;
107
+ var __webpack_exports__SocialCallbackDto = __webpack_exports__.QW;
108
+ var __webpack_exports__SocialProviderInfoDto = __webpack_exports__.a2;
109
+ var __webpack_exports__SocialProvidersDto = __webpack_exports__.fP;
110
+ var __webpack_exports__SwitchCompanyDto = __webpack_exports__.RQ;
111
+ var __webpack_exports__UpdateCompanyBranchDto = __webpack_exports__.Oo;
112
+ var __webpack_exports__UpdateCompanyDto = __webpack_exports__.Ky;
113
+ var __webpack_exports__UpdateSocialAuthConfigDto = __webpack_exports__.kd;
114
+ var __webpack_exports__UpdateUserDto = __webpack_exports__.Qf;
115
+ var __webpack_exports__UserBranchPermissionDto = __webpack_exports__.Qm;
116
+ var __webpack_exports__UserBranchesResponseDto = __webpack_exports__.wc;
117
+ var __webpack_exports__UserCompaniesResponseDto = __webpack_exports__.LU;
118
+ var __webpack_exports__UserCompanyPermissionDto = __webpack_exports__.RP;
119
+ var __webpack_exports__UserInfoDto = __webpack_exports__.dp;
120
+ var __webpack_exports__UserLookupResponseDto = __webpack_exports__.sx;
121
+ var __webpack_exports__UserResponseDto = __webpack_exports__.kq;
122
+ var __webpack_exports__VerifyEmailDto = __webpack_exports__.rl;
123
+ export { __webpack_exports__AssignUserBranchDto as AssignUserBranchDto, __webpack_exports__AssignUserCompanyDto as AssignUserCompanyDto, __webpack_exports__BranchInfoDto as BranchInfoDto, __webpack_exports__BranchSelectionInfoDto as BranchSelectionInfoDto, __webpack_exports__ChangePasswordDto as ChangePasswordDto, __webpack_exports__CompanyBranchResponseDto as CompanyBranchResponseDto, __webpack_exports__CompanyInfoDto as CompanyInfoDto, __webpack_exports__CompanyResponseDto as CompanyResponseDto, __webpack_exports__CompanySelectionResponseDto as CompanySelectionResponseDto, __webpack_exports__CompanyWithBranchesDto as CompanyWithBranchesDto, __webpack_exports__CreateCompanyBranchDto as CreateCompanyBranchDto, __webpack_exports__CreateCompanyDto as CreateCompanyDto, __webpack_exports__CreateSocialAuthConfigDto as CreateSocialAuthConfigDto, __webpack_exports__CreateUserDto as CreateUserDto, __webpack_exports__ForgotPasswordDto as ForgotPasswordDto, __webpack_exports__LoginDto as LoginDto, __webpack_exports__LoginResponseDto as LoginResponseDto, __webpack_exports__LoginResponseRequiresEmailVerificationDto as LoginResponseRequiresEmailVerificationDto, __webpack_exports__MeResponseDto as MeResponseDto, __webpack_exports__PermissionItemDto as PermissionItemDto, __webpack_exports__RefreshTokenDto as RefreshTokenDto, __webpack_exports__RegistrationDto as RegistrationDto, __webpack_exports__RegistrationResponseDto as RegistrationResponseDto, __webpack_exports__ResendVerificationDto as ResendVerificationDto, __webpack_exports__ResetPasswordDto as ResetPasswordDto, __webpack_exports__SelectDto as SelectDto, __webpack_exports__SocialAuthConfigResponseDto as SocialAuthConfigResponseDto, __webpack_exports__SocialAuthorizeDto as SocialAuthorizeDto, __webpack_exports__SocialAuthorizeResponseDto as SocialAuthorizeResponseDto, __webpack_exports__SocialCallbackDto as SocialCallbackDto, __webpack_exports__SocialProviderInfoDto as SocialProviderInfoDto, __webpack_exports__SocialProvidersDto as SocialProvidersDto, __webpack_exports__SwitchCompanyDto as SwitchCompanyDto, __webpack_exports__UpdateCompanyBranchDto as UpdateCompanyBranchDto, __webpack_exports__UpdateCompanyDto as UpdateCompanyDto, __webpack_exports__UpdateSocialAuthConfigDto as UpdateSocialAuthConfigDto, __webpack_exports__UpdateUserDto as UpdateUserDto, __webpack_exports__UserBranchPermissionDto as UserBranchPermissionDto, __webpack_exports__UserBranchesResponseDto as UserBranchesResponseDto, __webpack_exports__UserCompaniesResponseDto as UserCompaniesResponseDto, __webpack_exports__UserCompanyPermissionDto as UserCompanyPermissionDto, __webpack_exports__UserInfoDto as UserInfoDto, __webpack_exports__UserLookupResponseDto as UserLookupResponseDto, __webpack_exports__UserResponseDto as UserResponseDto, __webpack_exports__VerifyEmailDto as VerifyEmailDto };