@spfn/auth 0.2.0-beta.69 → 0.2.0-beta.70

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.
@@ -655,7 +655,7 @@ declare const mainAuthRouter: _spfn_core_route.Router<{
655
655
  id: number;
656
656
  name: string;
657
657
  displayName: string;
658
- category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
658
+ category: "custom" | "user" | "auth" | "rbac" | "system" | undefined;
659
659
  }[];
660
660
  userId: number;
661
661
  publicId: string;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as _spfn_core_nextjs from '@spfn/core/nextjs';
2
- import { R as RoleConfig, P as PermissionConfig, S as SendVerificationCodeResult, a as RegisterResult, L as LoginResult, b as RotateKeyResult, I as IssueOneTimeTokenResult, O as OAuthStartResult, c as OAuthNativeResult, U as UserProfile, d as ProfileInfo, m as mainAuthRouter } from './authenticate-NhEb_j27.js';
3
- export { j as AuthInitOptions, A as AuthSession, h as PERMISSION_CATEGORIES, i as PermissionCategory, g as VERIFICATION_PURPOSES, f as VERIFICATION_TARGET_TYPES, e as VerificationPurpose, V as VerificationTargetType } from './authenticate-NhEb_j27.js';
2
+ import { R as RoleConfig, P as PermissionConfig, S as SendVerificationCodeResult, a as RegisterResult, L as LoginResult, b as RotateKeyResult, I as IssueOneTimeTokenResult, O as OAuthStartResult, c as OAuthNativeResult, U as UserProfile, d as ProfileInfo, m as mainAuthRouter } from './authenticate-tmmbh1ux.js';
3
+ export { j as AuthInitOptions, A as AuthSession, h as PERMISSION_CATEGORIES, i as PermissionCategory, g as VERIFICATION_PURPOSES, f as VERIFICATION_TARGET_TYPES, e as VerificationPurpose, V as VerificationTargetType } from './authenticate-tmmbh1ux.js';
4
4
  import * as _spfn_core_route from '@spfn/core/route';
5
5
  import { HttpMethod } from '@spfn/core/route';
6
6
  export { I as INVITATION_STATUSES, b as InvitationStatus, a as KEY_ALGORITHM, K as KeyAlgorithmType, S as SOCIAL_PROVIDERS, d as SocialProvider, U as USER_STATUSES, c as UserStatus } from './types-BtksCI9X.js';
@@ -163,7 +163,7 @@ declare const authApi: _spfn_core_nextjs.Client<_spfn_core_route.Router<{
163
163
  id: number;
164
164
  name: string;
165
165
  displayName: string;
166
- category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
166
+ category: "custom" | "user" | "auth" | "rbac" | "system" | undefined;
167
167
  }[];
168
168
  userId: number;
169
169
  publicId: string;
package/dist/server.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { j as AuthInitOptions, k as OAuthProvider, e as VerificationPurpose, i as PermissionCategory, l as AuthContext } from './authenticate-NhEb_j27.js';
2
- export { C as ChangePasswordParams, a3 as EmailSchema, I as IssueOneTimeTokenResult, s as LoginParams, L as LoginResult, t as LogoutParams, aa as NativeVerifyOptions, a8 as NormalizedIdentity, Z as OAuthCallbackParams, _ as OAuthCallbackResult, a0 as OAuthNativeParams, c as OAuthNativeResult, Y as OAuthStartParams, O as OAuthStartResult, a9 as OAuthTokens, a5 as PasswordSchema, a4 as PhoneSchema, q as RegisterParams, E as RegisterPublicKeyParams, a as RegisterResult, G as RevokeKeyParams, F as RotateKeyParams, b as RotateKeyResult, w as SendVerificationCodeParams, S as SendVerificationCodeResult, a6 as TargetTypeSchema, g as VERIFICATION_PURPOSES, f as VERIFICATION_TARGET_TYPES, a7 as VerificationPurposeSchema, V as VerificationTargetType, x as VerifyCodeParams, y as VerifyCodeResult, m as authRouter, a1 as authenticate, N as buildOAuthErrorUrl, p as changePasswordService, W as getEnabledOAuthProviders, X as getGoogleAccessToken, ac as getOAuthProvider, ad as getRegisteredProviders, Q as isOAuthProviderEnabled, H as issueOneTimeTokenService, n as loginService, o as logoutService, M as oauthCallbackService, $ as oauthNativeService, K as oauthStartService, a2 as optionalAuth, ab as registerOAuthProvider, z as registerPublicKeyService, r as registerService, T as requireEnabledProvider, D as revokeKeyService, B as rotateKeyService, u as sendVerificationCodeService, v as verifyCodeService, J as verifyOneTimeTokenService } from './authenticate-NhEb_j27.js';
1
+ import { j as AuthInitOptions, k as OAuthProvider, e as VerificationPurpose, i as PermissionCategory, l as AuthContext } from './authenticate-tmmbh1ux.js';
2
+ export { C as ChangePasswordParams, a3 as EmailSchema, I as IssueOneTimeTokenResult, s as LoginParams, L as LoginResult, t as LogoutParams, aa as NativeVerifyOptions, a8 as NormalizedIdentity, Z as OAuthCallbackParams, _ as OAuthCallbackResult, a0 as OAuthNativeParams, c as OAuthNativeResult, Y as OAuthStartParams, O as OAuthStartResult, a9 as OAuthTokens, a5 as PasswordSchema, a4 as PhoneSchema, q as RegisterParams, E as RegisterPublicKeyParams, a as RegisterResult, G as RevokeKeyParams, F as RotateKeyParams, b as RotateKeyResult, w as SendVerificationCodeParams, S as SendVerificationCodeResult, a6 as TargetTypeSchema, g as VERIFICATION_PURPOSES, f as VERIFICATION_TARGET_TYPES, a7 as VerificationPurposeSchema, V as VerificationTargetType, x as VerifyCodeParams, y as VerifyCodeResult, m as authRouter, a1 as authenticate, N as buildOAuthErrorUrl, p as changePasswordService, W as getEnabledOAuthProviders, X as getGoogleAccessToken, ac as getOAuthProvider, ad as getRegisteredProviders, Q as isOAuthProviderEnabled, H as issueOneTimeTokenService, n as loginService, o as logoutService, M as oauthCallbackService, $ as oauthNativeService, K as oauthStartService, a2 as optionalAuth, ab as registerOAuthProvider, z as registerPublicKeyService, r as registerService, T as requireEnabledProvider, D as revokeKeyService, B as rotateKeyService, u as sendVerificationCodeService, v as verifyCodeService, J as verifyOneTimeTokenService } from './authenticate-tmmbh1ux.js';
3
3
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
4
4
  import { K as KeyAlgorithmType, b as InvitationStatus, d as SocialProvider } from './types-BtksCI9X.js';
5
5
  export { I as INVITATION_STATUSES, a as KEY_ALGORITHM, S as SOCIAL_PROVIDERS, U as USER_STATUSES, c as UserStatus } from './types-BtksCI9X.js';
@@ -1352,7 +1352,7 @@ declare function getAuthSessionService(userId: string | number | bigint): Promis
1352
1352
  id: number;
1353
1353
  name: string;
1354
1354
  displayName: string;
1355
- category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
1355
+ category: "custom" | "user" | "auth" | "rbac" | "system" | undefined;
1356
1356
  }[];
1357
1357
  userId: number;
1358
1358
  publicId: string;
@@ -2653,7 +2653,7 @@ declare const permissions: drizzle_orm_pg_core.PgTableWithColumns<{
2653
2653
  tableName: "permissions";
2654
2654
  dataType: "string";
2655
2655
  columnType: "PgText";
2656
- data: "auth" | "custom" | "user" | "rbac" | "system";
2656
+ data: "custom" | "user" | "auth" | "rbac" | "system";
2657
2657
  driverParam: string;
2658
2658
  notNull: false;
2659
2659
  hasDefault: false;
@@ -3246,15 +3246,15 @@ declare class UsersRepository extends BaseRepository {
3246
3246
  create(data: NewUser): Promise<{
3247
3247
  email: string | null;
3248
3248
  phone: string | null;
3249
+ status: "active" | "inactive" | "suspended";
3250
+ username: string | null;
3249
3251
  id: number;
3252
+ createdAt: Date;
3253
+ updatedAt: Date;
3250
3254
  publicId: string;
3251
- username: string | null;
3252
3255
  passwordHash: string | null;
3253
3256
  passwordChangeRequired: boolean;
3254
3257
  roleId: number;
3255
- createdAt: Date;
3256
- updatedAt: Date;
3257
- status: "active" | "inactive" | "suspended";
3258
3258
  emailVerifiedAt: Date | null;
3259
3259
  phoneVerifiedAt: Date | null;
3260
3260
  lastLoginAt: Date | null;
@@ -3326,15 +3326,15 @@ declare class UsersRepository extends BaseRepository {
3326
3326
  deleteById(id: number): Promise<{
3327
3327
  email: string | null;
3328
3328
  phone: string | null;
3329
+ status: "active" | "inactive" | "suspended";
3330
+ username: string | null;
3329
3331
  id: number;
3332
+ createdAt: Date;
3333
+ updatedAt: Date;
3330
3334
  publicId: string;
3331
- username: string | null;
3332
3335
  passwordHash: string | null;
3333
3336
  passwordChangeRequired: boolean;
3334
3337
  roleId: number;
3335
- createdAt: Date;
3336
- updatedAt: Date;
3337
- status: "active" | "inactive" | "suspended";
3338
3338
  emailVerifiedAt: Date | null;
3339
3339
  phoneVerifiedAt: Date | null;
3340
3340
  lastLoginAt: Date | null;
@@ -3357,7 +3357,7 @@ declare class UsersRepository extends BaseRepository {
3357
3357
  id: number;
3358
3358
  name: string;
3359
3359
  displayName: string;
3360
- category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
3360
+ category: "custom" | "user" | "auth" | "rbac" | "system" | undefined;
3361
3361
  }[];
3362
3362
  }>;
3363
3363
  /**
@@ -3472,16 +3472,16 @@ declare class KeysRepository extends BaseRepository {
3472
3472
  * Write primary 사용
3473
3473
  */
3474
3474
  create(data: NewUserPublicKey): Promise<{
3475
- publicKey: string;
3476
- keyId: string;
3477
- fingerprint: string;
3478
- algorithm: "ES256" | "RS256";
3479
3475
  userId: number;
3476
+ keyId: string;
3480
3477
  id: number;
3481
3478
  isActive: boolean;
3482
3479
  createdAt: Date;
3483
- expiresAt: Date | null;
3480
+ publicKey: string;
3481
+ algorithm: "ES256" | "RS256";
3482
+ fingerprint: string;
3484
3483
  lastUsedAt: Date | null;
3484
+ expiresAt: Date | null;
3485
3485
  revokedAt: Date | null;
3486
3486
  revokedReason: string | null;
3487
3487
  }>;
@@ -3508,16 +3508,16 @@ declare class KeysRepository extends BaseRepository {
3508
3508
  * Write primary 사용
3509
3509
  */
3510
3510
  deleteByKeyIdAndUserId(keyId: string, userId: number): Promise<{
3511
- publicKey: string;
3512
- keyId: string;
3513
- fingerprint: string;
3514
- algorithm: "ES256" | "RS256";
3515
3511
  userId: number;
3512
+ keyId: string;
3516
3513
  id: number;
3517
3514
  isActive: boolean;
3518
3515
  createdAt: Date;
3519
- expiresAt: Date | null;
3516
+ publicKey: string;
3517
+ algorithm: "ES256" | "RS256";
3518
+ fingerprint: string;
3520
3519
  lastUsedAt: Date | null;
3520
+ expiresAt: Date | null;
3521
3521
  revokedAt: Date | null;
3522
3522
  revokedReason: string | null;
3523
3523
  }>;
@@ -3624,14 +3624,14 @@ declare class VerificationCodesRepository extends BaseRepository {
3624
3624
  * Write primary 사용
3625
3625
  */
3626
3626
  create(data: NewVerificationCode): Promise<{
3627
- target: string;
3628
- targetType: "email" | "phone";
3629
- purpose: "registration" | "login" | "password_reset" | "email_change" | "phone_change";
3630
- code: string;
3631
3627
  id: number;
3632
3628
  createdAt: Date;
3633
3629
  updatedAt: Date;
3634
3630
  expiresAt: Date;
3631
+ target: string;
3632
+ targetType: "email" | "phone";
3633
+ code: string;
3634
+ purpose: "registration" | "login" | "password_reset" | "email_change" | "phone_change";
3635
3635
  usedAt: Date | null;
3636
3636
  attempts: number;
3637
3637
  }>;
@@ -3820,7 +3820,7 @@ declare class PermissionsRepository extends BaseRepository {
3820
3820
  name: string;
3821
3821
  displayName: string;
3822
3822
  description: string | null;
3823
- category: "auth" | "custom" | "user" | "rbac" | "system" | null;
3823
+ category: "custom" | "user" | "auth" | "rbac" | "system" | null;
3824
3824
  isBuiltin: boolean;
3825
3825
  isSystem: boolean;
3826
3826
  isActive: boolean;
@@ -3836,7 +3836,7 @@ declare class PermissionsRepository extends BaseRepository {
3836
3836
  name: string;
3837
3837
  displayName: string;
3838
3838
  description: string | null;
3839
- category: "auth" | "custom" | "user" | "rbac" | "system" | null;
3839
+ category: "custom" | "user" | "auth" | "rbac" | "system" | null;
3840
3840
  isBuiltin: boolean;
3841
3841
  isSystem: boolean;
3842
3842
  isActive: boolean;
@@ -3876,7 +3876,7 @@ declare class PermissionsRepository extends BaseRepository {
3876
3876
  name: string;
3877
3877
  displayName: string;
3878
3878
  description: string | null;
3879
- category: "auth" | "custom" | "user" | "rbac" | "system" | null;
3879
+ category: "custom" | "user" | "auth" | "rbac" | "system" | null;
3880
3880
  isBuiltin: boolean;
3881
3881
  isSystem: boolean;
3882
3882
  isActive: boolean;
@@ -3887,7 +3887,6 @@ declare class PermissionsRepository extends BaseRepository {
3887
3887
  */
3888
3888
  deleteById(id: number): Promise<{
3889
3889
  description: string | null;
3890
- metadata: Record<string, any> | null;
3891
3890
  id: number;
3892
3891
  name: string;
3893
3892
  displayName: string;
@@ -3896,7 +3895,8 @@ declare class PermissionsRepository extends BaseRepository {
3896
3895
  isActive: boolean;
3897
3896
  createdAt: Date;
3898
3897
  updatedAt: Date;
3899
- category: "auth" | "custom" | "user" | "rbac" | "system" | null;
3898
+ metadata: Record<string, any> | null;
3899
+ category: "custom" | "user" | "auth" | "rbac" | "system" | null;
3900
3900
  }>;
3901
3901
  }
3902
3902
  declare const permissionsRepository: PermissionsRepository;
@@ -3941,9 +3941,9 @@ declare class RolePermissionsRepository extends BaseRepository {
3941
3941
  */
3942
3942
  createMany(data: NewRolePermission[]): Promise<{
3943
3943
  id: number;
3944
- roleId: number;
3945
3944
  createdAt: Date;
3946
3945
  updatedAt: Date;
3946
+ roleId: number;
3947
3947
  permissionId: number;
3948
3948
  }[]>;
3949
3949
  /**
@@ -3959,9 +3959,9 @@ declare class RolePermissionsRepository extends BaseRepository {
3959
3959
  */
3960
3960
  setPermissionsForRole(roleId: number, permissionIds: number[]): Promise<{
3961
3961
  id: number;
3962
- roleId: number;
3963
3962
  createdAt: Date;
3964
3963
  updatedAt: Date;
3964
+ roleId: number;
3965
3965
  permissionId: number;
3966
3966
  }[]>;
3967
3967
  }
@@ -4026,10 +4026,10 @@ declare class UserPermissionsRepository extends BaseRepository {
4026
4026
  id: number;
4027
4027
  createdAt: Date;
4028
4028
  updatedAt: Date;
4029
- permissionId: number;
4030
4029
  expiresAt: Date | null;
4031
- reason: string | null;
4030
+ permissionId: number;
4032
4031
  granted: boolean;
4032
+ reason: string | null;
4033
4033
  }>;
4034
4034
  /**
4035
4035
  * 사용자 권한 오버라이드 업데이트
@@ -4052,10 +4052,10 @@ declare class UserPermissionsRepository extends BaseRepository {
4052
4052
  id: number;
4053
4053
  createdAt: Date;
4054
4054
  updatedAt: Date;
4055
- permissionId: number;
4056
4055
  expiresAt: Date | null;
4057
- reason: string | null;
4056
+ permissionId: number;
4058
4057
  granted: boolean;
4058
+ reason: string | null;
4059
4059
  }>;
4060
4060
  /**
4061
4061
  * 사용자의 모든 권한 오버라이드 삭제
@@ -4133,7 +4133,6 @@ declare class UserProfilesRepository extends BaseRepository {
4133
4133
  * 프로필 생성
4134
4134
  */
4135
4135
  create(data: NewUserProfile): Promise<{
4136
- metadata: Record<string, any> | null;
4137
4136
  userId: number;
4138
4137
  id: number;
4139
4138
  displayName: string | null;
@@ -4151,6 +4150,7 @@ declare class UserProfilesRepository extends BaseRepository {
4151
4150
  location: string | null;
4152
4151
  company: string | null;
4153
4152
  jobTitle: string | null;
4153
+ metadata: Record<string, any> | null;
4154
4154
  }>;
4155
4155
  /**
4156
4156
  * 프로필 업데이트 (by ID)
@@ -4202,7 +4202,6 @@ declare class UserProfilesRepository extends BaseRepository {
4202
4202
  * 프로필 삭제 (by ID)
4203
4203
  */
4204
4204
  deleteById(id: number): Promise<{
4205
- metadata: Record<string, any> | null;
4206
4205
  userId: number;
4207
4206
  id: number;
4208
4207
  displayName: string | null;
@@ -4220,12 +4219,12 @@ declare class UserProfilesRepository extends BaseRepository {
4220
4219
  location: string | null;
4221
4220
  company: string | null;
4222
4221
  jobTitle: string | null;
4222
+ metadata: Record<string, any> | null;
4223
4223
  }>;
4224
4224
  /**
4225
4225
  * 프로필 삭제 (by User ID)
4226
4226
  */
4227
4227
  deleteByUserId(userId: number): Promise<{
4228
- metadata: Record<string, any> | null;
4229
4228
  userId: number;
4230
4229
  id: number;
4231
4230
  displayName: string | null;
@@ -4243,6 +4242,7 @@ declare class UserProfilesRepository extends BaseRepository {
4243
4242
  location: string | null;
4244
4243
  company: string | null;
4245
4244
  jobTitle: string | null;
4245
+ metadata: Record<string, any> | null;
4246
4246
  }>;
4247
4247
  /**
4248
4248
  * 프로필 Upsert (by User ID)
@@ -4251,7 +4251,6 @@ declare class UserProfilesRepository extends BaseRepository {
4251
4251
  * 새로 생성 시 displayName은 필수 (없으면 'User'로 설정)
4252
4252
  */
4253
4253
  upsertByUserId(userId: number, data: Partial<Omit<NewUserProfile, 'userId'>>): Promise<{
4254
- metadata: Record<string, any> | null;
4255
4254
  userId: number;
4256
4255
  id: number;
4257
4256
  displayName: string | null;
@@ -4269,6 +4268,7 @@ declare class UserProfilesRepository extends BaseRepository {
4269
4268
  location: string | null;
4270
4269
  company: string | null;
4271
4270
  jobTitle: string | null;
4271
+ metadata: Record<string, any> | null;
4272
4272
  }>;
4273
4273
  /**
4274
4274
  * User ID로 프로필 데이터 조회 (formatted)
@@ -4396,15 +4396,15 @@ declare class InvitationsRepository extends BaseRepository {
4396
4396
  */
4397
4397
  create(data: NewInvitation): Promise<{
4398
4398
  email: string;
4399
- metadata: Record<string, any> | null;
4399
+ status: "pending" | "accepted" | "expired" | "cancelled";
4400
4400
  id: number;
4401
- roleId: number;
4402
4401
  createdAt: Date;
4403
4402
  updatedAt: Date;
4404
- status: "pending" | "accepted" | "expired" | "cancelled";
4403
+ roleId: number;
4404
+ metadata: Record<string, any> | null;
4405
+ expiresAt: Date;
4405
4406
  token: string;
4406
4407
  invitedBy: number;
4407
- expiresAt: Date;
4408
4408
  acceptedAt: Date | null;
4409
4409
  cancelledAt: Date | null;
4410
4410
  }>;
@@ -4430,15 +4430,15 @@ declare class InvitationsRepository extends BaseRepository {
4430
4430
  */
4431
4431
  deleteById(id: number): Promise<{
4432
4432
  email: string;
4433
- metadata: Record<string, any> | null;
4433
+ status: "pending" | "accepted" | "expired" | "cancelled";
4434
4434
  id: number;
4435
- roleId: number;
4436
4435
  createdAt: Date;
4437
4436
  updatedAt: Date;
4438
- status: "pending" | "accepted" | "expired" | "cancelled";
4437
+ roleId: number;
4438
+ metadata: Record<string, any> | null;
4439
+ expiresAt: Date;
4439
4440
  token: string;
4440
4441
  invitedBy: number;
4441
- expiresAt: Date;
4442
4442
  acceptedAt: Date | null;
4443
4443
  cancelledAt: Date | null;
4444
4444
  }>;
@@ -5162,15 +5162,15 @@ declare function getUser(c: Context | {
5162
5162
  }): {
5163
5163
  email: string | null;
5164
5164
  phone: string | null;
5165
+ status: "active" | "inactive" | "suspended";
5166
+ username: string | null;
5165
5167
  id: number;
5168
+ createdAt: Date;
5169
+ updatedAt: Date;
5166
5170
  publicId: string;
5167
- username: string | null;
5168
5171
  passwordHash: string | null;
5169
5172
  passwordChangeRequired: boolean;
5170
5173
  roleId: number;
5171
- createdAt: Date;
5172
- updatedAt: Date;
5173
- status: "active" | "inactive" | "suspended";
5174
5174
  emailVerifiedAt: Date | null;
5175
5175
  phoneVerifiedAt: Date | null;
5176
5176
  lastLoginAt: Date | null;
@@ -5632,9 +5632,9 @@ declare const invitationCreatedEvent: _spfn_core_event.EventDef<{
5632
5632
  } | undefined;
5633
5633
  email: string;
5634
5634
  roleId: number;
5635
+ expiresAt: string;
5635
5636
  token: string;
5636
5637
  invitedBy: string;
5637
- expiresAt: string;
5638
5638
  invitationId: string;
5639
5639
  isResend: boolean;
5640
5640
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spfn/auth",
3
- "version": "0.2.0-beta.69",
3
+ "version": "0.2.0-beta.70",
4
4
  "type": "module",
5
5
  "description": "Authentication, authorization, and RBAC module for SPFN",
6
6
  "author": "Ray Im <rayim@fxy.global>",
@@ -101,9 +101,9 @@
101
101
  "tsx": "^4.20.6",
102
102
  "typescript": "^5.3.3",
103
103
  "vitest": "^4.0.6",
104
- "@spfn/core": "0.2.0-beta.54",
105
- "@spfn/notification": "0.1.0-beta.21",
106
- "spfn": "0.2.0-beta.50"
104
+ "@spfn/core": "0.2.0-beta.55",
105
+ "spfn": "0.2.0-beta.51",
106
+ "@spfn/notification": "0.1.0-beta.22"
107
107
  },
108
108
  "peerDependencies": {
109
109
  "@spfn/core": ">=0.2.0-beta.54",