@spfn/auth 0.2.0-beta.90 → 0.2.0-beta.91
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.
- package/README.md +27 -0
- package/dist/{authenticate-CnccboAg.d.ts → authenticate-DlTGaBT8.d.ts} +26 -6
- package/dist/client-proof.d.ts +47 -118
- package/dist/client-proof.js +46 -18
- package/dist/client-proof.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/nextjs/server.d.ts +2 -2
- package/dist/server.d.ts +204 -84
- package/dist/server.js +473 -133
- package/dist/server.js.map +1 -1
- package/dist/{session-CFK4BT25.d.ts → session-DTHahDQ9.d.ts} +1 -1
- package/dist/{types-CD95yudz.d.ts → types-DYyhze28.d.ts} +1 -1
- package/dist/wire-version-CtzMKvBB.d.ts +134 -0
- package/migrations/20260805143152_vengeful_ravenous/migration.sql +4 -0
- package/migrations/20260805143152_vengeful_ravenous/snapshot.json +3190 -0
- package/package.json +2 -2
package/dist/server.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { A as AuthInitOptions, l as OAuthProvider, j as VerificationPurpose, h as PermissionCategory, n as AuthContext } from './authenticate-DlTGaBT8.js';
|
|
2
|
+
export { o as AuthProfileOutcome, p as AuthProfileVerifier, C as ChangePasswordParams, D as DeviceNameSchema, E as EmailSchema, I as IssueOneTimeTokenResult, q as KEY_FINGERPRINT_PREFIX_LENGTH, K as KeySummary, r as LoginParams, L as LoginResult, s as LogoutParams, N as NativeVerifyOptions, t as NormalizedIdentity, u as OAuthCallbackParams, v as OAuthCallbackResult, w as OAuthCodeExchangeOptions, x as OAuthNativeParams, d as OAuthNativeResult, y as OAuthStartParams, O as OAuthStartResult, z as OAuthTokens, B as PasswordSchema, F as PhoneSchema, G as PlatformSchema, H as RegisterParams, J as RegisterPublicKeyParams, a as RegisterResult, M as RevokeAllKeysParams, c as RevokeAllKeysResult, Q as RevokeKeyParams, T as RotateKeyParams, b as RotateKeyResult, W as SendVerificationCodeParams, S as SendVerificationCodeResult, X as TargetTypeSchema, Y as UnlinkNotification, Z as UnlinkNotifyRejection, _ as UnlinkNotifyRequest, $ as UnlinkNotifyResult, V as VERIFICATION_PURPOSES, i as VERIFICATION_TARGET_TYPES, a0 as VerificationPurposeSchema, k as VerificationTargetType, a1 as VerifyCodeParams, a2 as VerifyCodeResult, m as authRouter, a3 as authenticate, a4 as buildOAuthErrorUrl, a5 as changePasswordService, a6 as getEnabledOAuthProviders, a7 as getGoogleAccessToken, a8 as getOAuthProvider, a9 as getRegisteredProviders, aa as isOAuthProviderEnabled, ab as issueOneTimeTokenService, ac as listKeysService, ad as loginService, ae as logoutService, af as oauthCallbackService, ag as oauthNativeService, ah as oauthStartService, ai as oauthUnlinkNotifyService, aj as optionalAuth, ak as registerOAuthProvider, al as registerPublicKeyService, am as registerService, an as requireEnabledProvider, ao as resolveAuthenticatedUser, ap as revokeAllKeysService, aq as revokeKeyService, ar as rotateKeyService, as as runAuthProfile, at as selectAuthProfile, au as sendVerificationCodeService, av as verifyCodeService, aw as verifyOneTimeTokenService } from './authenticate-DlTGaBT8.js';
|
|
3
3
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
4
|
-
import { K as KeyAlgorithmType,
|
|
5
|
-
export {
|
|
4
|
+
import { K as KeyAlgorithmType, d as InvitationStatus, j as SocialProvider, c as AccountDeletionRequestedBy, i as PurgeStrategy } from './types-DYyhze28.js';
|
|
5
|
+
export { A as ACCOUNT_DELETION_REQUESTED_BY, a as ACCOUNT_DELETION_REQUEST_STATUSES, b as AccountDeletionRequestStatus, I as INVITATION_STATUSES, e as KEY_ALGORITHM, f as KEY_DEVICE_NAME_MAX_LENGTH, g as KEY_PLATFORM, h as KeyPlatformType, P as PURGE_STRATEGIES, S as SOCIAL_PROVIDERS, U as USER_STATUSES, k as UserStatus } from './types-DYyhze28.js';
|
|
6
6
|
import { UserProfile as UserProfile$1, ProfileInfo } from '@spfn/auth';
|
|
7
7
|
import { BaseRepository } from '@spfn/core/db';
|
|
8
|
+
import { c as ClientIdentity } from './wire-version-CtzMKvBB.js';
|
|
8
9
|
import { Context } from 'hono';
|
|
9
10
|
import * as _spfn_core_route from '@spfn/core/route';
|
|
10
11
|
import { Algorithm } from 'jsonwebtoken';
|
|
11
|
-
export { S as SessionData, g as getSessionInfo, s as sealSession, a as shouldRefreshSession, u as unsealSession } from './session-
|
|
12
|
+
export { S as SessionData, g as getSessionInfo, s as sealSession, a as shouldRefreshSession, u as unsealSession } from './session-DTHahDQ9.js';
|
|
12
13
|
import { JWTPayload } from 'jose';
|
|
13
|
-
import {
|
|
14
|
+
import { SSETokenManager, SSETokenStore } from '@spfn/core/event/sse';
|
|
14
15
|
import * as _spfn_core_logger from '@spfn/core/logger';
|
|
15
16
|
import * as _spfn_core_job from '@spfn/core/job';
|
|
16
17
|
import * as _spfn_core_event from '@spfn/core/event';
|
|
@@ -1317,7 +1318,7 @@ declare function getAuthSessionService(userId: string | number | bigint): Promis
|
|
|
1317
1318
|
id: number;
|
|
1318
1319
|
name: string;
|
|
1319
1320
|
displayName: string;
|
|
1320
|
-
category: "
|
|
1321
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
|
|
1321
1322
|
}[];
|
|
1322
1323
|
userId: number;
|
|
1323
1324
|
publicId: string;
|
|
@@ -1763,7 +1764,7 @@ declare const accountDeletionRequests: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
1763
1764
|
name: string;
|
|
1764
1765
|
tableName: "account_deletion_requests";
|
|
1765
1766
|
dataType: "string enum";
|
|
1766
|
-
data: "
|
|
1767
|
+
data: "admin" | "self";
|
|
1767
1768
|
driverParam: string;
|
|
1768
1769
|
notNull: true;
|
|
1769
1770
|
hasDefault: true;
|
|
@@ -2371,6 +2372,66 @@ declare const userPublicKeys: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
2371
2372
|
identity: undefined;
|
|
2372
2373
|
generated: undefined;
|
|
2373
2374
|
}>;
|
|
2375
|
+
clientKind: drizzle_orm_pg_core.PgBuildColumn<"user_public_keys", drizzle_orm_pg_core.PgTextBuilder<["web", "ios", "android"] & [string, ...string[]]>, {
|
|
2376
|
+
name: string;
|
|
2377
|
+
tableName: "user_public_keys";
|
|
2378
|
+
dataType: "string enum";
|
|
2379
|
+
data: "ios" | "android" | "web";
|
|
2380
|
+
driverParam: string;
|
|
2381
|
+
notNull: false;
|
|
2382
|
+
hasDefault: false;
|
|
2383
|
+
isPrimaryKey: false;
|
|
2384
|
+
isAutoincrement: false;
|
|
2385
|
+
hasRuntimeDefault: false;
|
|
2386
|
+
enumValues: ["web", "ios", "android"] & [string, ...string[]];
|
|
2387
|
+
identity: undefined;
|
|
2388
|
+
generated: undefined;
|
|
2389
|
+
}>;
|
|
2390
|
+
clientVersion: drizzle_orm_pg_core.PgBuildColumn<"user_public_keys", drizzle_orm_pg_core.PgTextBuilder<[string, ...string[]]>, {
|
|
2391
|
+
name: string;
|
|
2392
|
+
tableName: "user_public_keys";
|
|
2393
|
+
dataType: "string";
|
|
2394
|
+
data: string;
|
|
2395
|
+
driverParam: string;
|
|
2396
|
+
notNull: false;
|
|
2397
|
+
hasDefault: false;
|
|
2398
|
+
isPrimaryKey: false;
|
|
2399
|
+
isAutoincrement: false;
|
|
2400
|
+
hasRuntimeDefault: false;
|
|
2401
|
+
enumValues: undefined;
|
|
2402
|
+
identity: undefined;
|
|
2403
|
+
generated: undefined;
|
|
2404
|
+
}>;
|
|
2405
|
+
clientContractVersion: drizzle_orm_pg_core.PgBuildColumn<"user_public_keys", drizzle_orm_pg_core.PgTextBuilder<[string, ...string[]]>, {
|
|
2406
|
+
name: string;
|
|
2407
|
+
tableName: "user_public_keys";
|
|
2408
|
+
dataType: "string";
|
|
2409
|
+
data: string;
|
|
2410
|
+
driverParam: string;
|
|
2411
|
+
notNull: false;
|
|
2412
|
+
hasDefault: false;
|
|
2413
|
+
isPrimaryKey: false;
|
|
2414
|
+
isAutoincrement: false;
|
|
2415
|
+
hasRuntimeDefault: false;
|
|
2416
|
+
enumValues: undefined;
|
|
2417
|
+
identity: undefined;
|
|
2418
|
+
generated: undefined;
|
|
2419
|
+
}>;
|
|
2420
|
+
clientSeenAt: drizzle_orm_pg_core.PgBuildColumn<"user_public_keys", drizzle_orm_pg_core.PgTimestampBuilder, {
|
|
2421
|
+
name: string;
|
|
2422
|
+
tableName: "user_public_keys";
|
|
2423
|
+
dataType: "object date";
|
|
2424
|
+
data: Date;
|
|
2425
|
+
driverParam: string;
|
|
2426
|
+
notNull: false;
|
|
2427
|
+
hasDefault: false;
|
|
2428
|
+
isPrimaryKey: false;
|
|
2429
|
+
isAutoincrement: false;
|
|
2430
|
+
hasRuntimeDefault: false;
|
|
2431
|
+
enumValues: undefined;
|
|
2432
|
+
identity: undefined;
|
|
2433
|
+
generated: undefined;
|
|
2434
|
+
}>;
|
|
2374
2435
|
isActive: drizzle_orm_pg_core.PgBuildColumn<"user_public_keys", drizzle_orm_pg_core.SetHasDefault<drizzle_orm_pg_core.SetNotNull<drizzle_orm_pg_core.PgBooleanBuilder>>, {
|
|
2375
2436
|
name: string;
|
|
2376
2437
|
tableName: "user_public_keys";
|
|
@@ -2907,7 +2968,7 @@ declare const permissions: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
|
2907
2968
|
name: string;
|
|
2908
2969
|
tableName: "permissions";
|
|
2909
2970
|
dataType: "string enum";
|
|
2910
|
-
data: "
|
|
2971
|
+
data: "auth" | "custom" | "user" | "rbac" | "system";
|
|
2911
2972
|
driverParam: string;
|
|
2912
2973
|
notNull: false;
|
|
2913
2974
|
hasDefault: false;
|
|
@@ -3496,15 +3557,15 @@ declare class UsersRepository extends BaseRepository {
|
|
|
3496
3557
|
create(data: NewUser): Promise<{
|
|
3497
3558
|
email: string | null;
|
|
3498
3559
|
phone: string | null;
|
|
3499
|
-
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
3500
|
-
username: string | null;
|
|
3501
3560
|
id: number;
|
|
3502
|
-
createdAt: Date;
|
|
3503
|
-
updatedAt: Date;
|
|
3504
3561
|
publicId: string;
|
|
3562
|
+
username: string | null;
|
|
3505
3563
|
passwordHash: string | null;
|
|
3506
3564
|
passwordChangeRequired: boolean;
|
|
3507
3565
|
roleId: number;
|
|
3566
|
+
createdAt: Date;
|
|
3567
|
+
updatedAt: Date;
|
|
3568
|
+
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
3508
3569
|
emailVerifiedAt: Date | null;
|
|
3509
3570
|
phoneVerifiedAt: Date | null;
|
|
3510
3571
|
lastLoginAt: Date | null;
|
|
@@ -3611,15 +3672,15 @@ declare class UsersRepository extends BaseRepository {
|
|
|
3611
3672
|
deleteById(id: number): Promise<{
|
|
3612
3673
|
email: string | null;
|
|
3613
3674
|
phone: string | null;
|
|
3614
|
-
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
3615
|
-
username: string | null;
|
|
3616
3675
|
id: number;
|
|
3617
|
-
createdAt: Date;
|
|
3618
|
-
updatedAt: Date;
|
|
3619
3676
|
publicId: string;
|
|
3677
|
+
username: string | null;
|
|
3620
3678
|
passwordHash: string | null;
|
|
3621
3679
|
passwordChangeRequired: boolean;
|
|
3622
3680
|
roleId: number;
|
|
3681
|
+
createdAt: Date;
|
|
3682
|
+
updatedAt: Date;
|
|
3683
|
+
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
3623
3684
|
emailVerifiedAt: Date | null;
|
|
3624
3685
|
phoneVerifiedAt: Date | null;
|
|
3625
3686
|
lastLoginAt: Date | null;
|
|
@@ -3644,7 +3705,7 @@ declare class UsersRepository extends BaseRepository {
|
|
|
3644
3705
|
id: number;
|
|
3645
3706
|
name: string;
|
|
3646
3707
|
displayName: string;
|
|
3647
|
-
category: "
|
|
3708
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | undefined;
|
|
3648
3709
|
}[];
|
|
3649
3710
|
}>;
|
|
3650
3711
|
/**
|
|
@@ -3713,6 +3774,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3713
3774
|
fingerprint: string;
|
|
3714
3775
|
deviceName: string | null;
|
|
3715
3776
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3777
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3778
|
+
clientVersion: string | null;
|
|
3779
|
+
clientContractVersion: string | null;
|
|
3780
|
+
clientSeenAt: Date | null;
|
|
3716
3781
|
isActive: boolean;
|
|
3717
3782
|
createdAt: Date;
|
|
3718
3783
|
lastUsedAt: Date | null;
|
|
@@ -3733,6 +3798,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3733
3798
|
fingerprint: string;
|
|
3734
3799
|
deviceName: string | null;
|
|
3735
3800
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3801
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3802
|
+
clientVersion: string | null;
|
|
3803
|
+
clientContractVersion: string | null;
|
|
3804
|
+
clientSeenAt: Date | null;
|
|
3736
3805
|
isActive: boolean;
|
|
3737
3806
|
createdAt: Date;
|
|
3738
3807
|
lastUsedAt: Date | null;
|
|
@@ -3753,6 +3822,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3753
3822
|
fingerprint: string;
|
|
3754
3823
|
deviceName: string | null;
|
|
3755
3824
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3825
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3826
|
+
clientVersion: string | null;
|
|
3827
|
+
clientContractVersion: string | null;
|
|
3828
|
+
clientSeenAt: Date | null;
|
|
3756
3829
|
isActive: boolean;
|
|
3757
3830
|
createdAt: Date;
|
|
3758
3831
|
lastUsedAt: Date | null;
|
|
@@ -3787,18 +3860,22 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3787
3860
|
* Write primary 사용
|
|
3788
3861
|
*/
|
|
3789
3862
|
create(data: NewUserPublicKey): Promise<{
|
|
3790
|
-
userId: number;
|
|
3791
|
-
keyId: string;
|
|
3792
|
-
id: number;
|
|
3793
|
-
isActive: boolean;
|
|
3794
|
-
createdAt: Date;
|
|
3795
3863
|
publicKey: string;
|
|
3796
|
-
|
|
3864
|
+
keyId: string;
|
|
3797
3865
|
fingerprint: string;
|
|
3866
|
+
algorithm: "ES256" | "RS256";
|
|
3798
3867
|
deviceName: string | null;
|
|
3799
3868
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3800
|
-
|
|
3869
|
+
userId: number;
|
|
3870
|
+
id: number;
|
|
3871
|
+
isActive: boolean;
|
|
3872
|
+
createdAt: Date;
|
|
3801
3873
|
expiresAt: Date | null;
|
|
3874
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3875
|
+
clientVersion: string | null;
|
|
3876
|
+
clientContractVersion: string | null;
|
|
3877
|
+
clientSeenAt: Date | null;
|
|
3878
|
+
lastUsedAt: Date | null;
|
|
3802
3879
|
revokedAt: Date | null;
|
|
3803
3880
|
revokedReason: string | null;
|
|
3804
3881
|
}>;
|
|
@@ -3815,6 +3892,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3815
3892
|
fingerprint: string;
|
|
3816
3893
|
deviceName: string | null;
|
|
3817
3894
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3895
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3896
|
+
clientVersion: string | null;
|
|
3897
|
+
clientContractVersion: string | null;
|
|
3898
|
+
clientSeenAt: Date | null;
|
|
3818
3899
|
isActive: boolean;
|
|
3819
3900
|
createdAt: Date;
|
|
3820
3901
|
lastUsedAt: Date | null;
|
|
@@ -3838,6 +3919,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3838
3919
|
fingerprint: string;
|
|
3839
3920
|
deviceName: string | null;
|
|
3840
3921
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3922
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3923
|
+
clientVersion: string | null;
|
|
3924
|
+
clientContractVersion: string | null;
|
|
3925
|
+
clientSeenAt: Date | null;
|
|
3841
3926
|
isActive: boolean;
|
|
3842
3927
|
createdAt: Date;
|
|
3843
3928
|
lastUsedAt: Date | null;
|
|
@@ -3861,6 +3946,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3861
3946
|
fingerprint: string;
|
|
3862
3947
|
deviceName: string | null;
|
|
3863
3948
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3949
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3950
|
+
clientVersion: string | null;
|
|
3951
|
+
clientContractVersion: string | null;
|
|
3952
|
+
clientSeenAt: Date | null;
|
|
3864
3953
|
isActive: boolean;
|
|
3865
3954
|
createdAt: Date;
|
|
3866
3955
|
lastUsedAt: Date | null;
|
|
@@ -3873,18 +3962,22 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3873
3962
|
* Write primary 사용
|
|
3874
3963
|
*/
|
|
3875
3964
|
deleteByKeyIdAndUserId(keyId: string, userId: number): Promise<{
|
|
3876
|
-
userId: number;
|
|
3877
|
-
keyId: string;
|
|
3878
|
-
id: number;
|
|
3879
|
-
isActive: boolean;
|
|
3880
|
-
createdAt: Date;
|
|
3881
3965
|
publicKey: string;
|
|
3882
|
-
|
|
3966
|
+
keyId: string;
|
|
3883
3967
|
fingerprint: string;
|
|
3968
|
+
algorithm: "ES256" | "RS256";
|
|
3884
3969
|
deviceName: string | null;
|
|
3885
3970
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
3886
|
-
|
|
3971
|
+
userId: number;
|
|
3972
|
+
id: number;
|
|
3973
|
+
isActive: boolean;
|
|
3974
|
+
createdAt: Date;
|
|
3887
3975
|
expiresAt: Date | null;
|
|
3976
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
3977
|
+
clientVersion: string | null;
|
|
3978
|
+
clientContractVersion: string | null;
|
|
3979
|
+
clientSeenAt: Date | null;
|
|
3980
|
+
lastUsedAt: Date | null;
|
|
3888
3981
|
revokedAt: Date | null;
|
|
3889
3982
|
revokedReason: string | null;
|
|
3890
3983
|
}>;
|
|
@@ -3909,6 +4002,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3909
4002
|
fingerprint: string;
|
|
3910
4003
|
deviceName: string | null;
|
|
3911
4004
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
4005
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
4006
|
+
clientVersion: string | null;
|
|
4007
|
+
clientContractVersion: string | null;
|
|
4008
|
+
clientSeenAt: Date | null;
|
|
3912
4009
|
isActive: boolean;
|
|
3913
4010
|
createdAt: Date;
|
|
3914
4011
|
lastUsedAt: Date | null;
|
|
@@ -3929,6 +4026,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3929
4026
|
fingerprint: string;
|
|
3930
4027
|
deviceName: string | null;
|
|
3931
4028
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
4029
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
4030
|
+
clientVersion: string | null;
|
|
4031
|
+
clientContractVersion: string | null;
|
|
4032
|
+
clientSeenAt: Date | null;
|
|
3932
4033
|
isActive: boolean;
|
|
3933
4034
|
createdAt: Date;
|
|
3934
4035
|
lastUsedAt: Date | null;
|
|
@@ -3952,6 +4053,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3952
4053
|
fingerprint: string;
|
|
3953
4054
|
deviceName: string | null;
|
|
3954
4055
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
4056
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
4057
|
+
clientVersion: string | null;
|
|
4058
|
+
clientContractVersion: string | null;
|
|
4059
|
+
clientSeenAt: Date | null;
|
|
3955
4060
|
isActive: boolean;
|
|
3956
4061
|
createdAt: Date;
|
|
3957
4062
|
lastUsedAt: Date | null;
|
|
@@ -3972,6 +4077,10 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3972
4077
|
fingerprint: string;
|
|
3973
4078
|
deviceName: string | null;
|
|
3974
4079
|
platform: "ios" | "android" | "web" | "desktop" | null;
|
|
4080
|
+
clientKind: "ios" | "android" | "web" | null;
|
|
4081
|
+
clientVersion: string | null;
|
|
4082
|
+
clientContractVersion: string | null;
|
|
4083
|
+
clientSeenAt: Date | null;
|
|
3975
4084
|
isActive: boolean;
|
|
3976
4085
|
createdAt: Date;
|
|
3977
4086
|
lastUsedAt: Date | null;
|
|
@@ -3987,8 +4096,19 @@ declare class KeysRepository extends BaseRepository {
|
|
|
3987
4096
|
* LAST_USED_THROTTLE_MS), so a busy key isn't UPDATEd on every request. The
|
|
3988
4097
|
* throttle lives in the WHERE clause — atomic, no read-then-write race. No
|
|
3989
4098
|
* RETURNING (callers fire-and-forget and discard the row).
|
|
4099
|
+
*
|
|
4100
|
+
* `identity` is what the client said about itself on this request. It is
|
|
4101
|
+
* recorded on the same row, and the throttle does not apply to it: a version
|
|
4102
|
+
* that changed is written immediately, because an app update is the event this
|
|
4103
|
+
* column exists to catch and waiting a minute to notice it serves nobody. A
|
|
4104
|
+
* version that did not change writes nothing extra — the UPDATE the throttle
|
|
4105
|
+
* was already going to do carries it.
|
|
4106
|
+
*
|
|
4107
|
+
* `clientSeenAt` moves only when one of the three values differs from what is
|
|
4108
|
+
* stored, so it answers "since when has this device been on this release"
|
|
4109
|
+
* rather than "when was it last seen", which lastUsedAt already answers.
|
|
3990
4110
|
*/
|
|
3991
|
-
updateLastUsedById(id: number): Promise<void>;
|
|
4111
|
+
updateLastUsedById(id: number, identity?: ClientIdentity | null): Promise<void>;
|
|
3992
4112
|
}
|
|
3993
4113
|
declare const keysRepository: KeysRepository;
|
|
3994
4114
|
|
|
@@ -4046,14 +4166,14 @@ declare class VerificationCodesRepository extends BaseRepository {
|
|
|
4046
4166
|
* Write primary 사용
|
|
4047
4167
|
*/
|
|
4048
4168
|
create(data: NewVerificationCode): Promise<{
|
|
4169
|
+
target: string;
|
|
4170
|
+
targetType: "email" | "phone";
|
|
4171
|
+
purpose: "registration" | "login" | "password_reset" | "email_change" | "phone_change" | "account_deletion";
|
|
4172
|
+
code: string;
|
|
4049
4173
|
id: number;
|
|
4050
4174
|
createdAt: Date;
|
|
4051
4175
|
updatedAt: Date;
|
|
4052
4176
|
expiresAt: Date;
|
|
4053
|
-
target: string;
|
|
4054
|
-
targetType: "email" | "phone";
|
|
4055
|
-
code: string;
|
|
4056
|
-
purpose: "registration" | "login" | "password_reset" | "email_change" | "phone_change" | "account_deletion";
|
|
4057
4177
|
usedAt: Date | null;
|
|
4058
4178
|
attempts: number;
|
|
4059
4179
|
}>;
|
|
@@ -4186,8 +4306,8 @@ declare class RolesRepository extends BaseRepository {
|
|
|
4186
4306
|
*/
|
|
4187
4307
|
create(data: NewRoleEntity): Promise<{
|
|
4188
4308
|
description: string | null;
|
|
4189
|
-
id: number;
|
|
4190
4309
|
name: string;
|
|
4310
|
+
id: number;
|
|
4191
4311
|
displayName: string;
|
|
4192
4312
|
isBuiltin: boolean;
|
|
4193
4313
|
isSystem: boolean;
|
|
@@ -4216,8 +4336,8 @@ declare class RolesRepository extends BaseRepository {
|
|
|
4216
4336
|
*/
|
|
4217
4337
|
deleteById(id: number): Promise<{
|
|
4218
4338
|
description: string | null;
|
|
4219
|
-
id: number;
|
|
4220
4339
|
name: string;
|
|
4340
|
+
id: number;
|
|
4221
4341
|
displayName: string;
|
|
4222
4342
|
isBuiltin: boolean;
|
|
4223
4343
|
isSystem: boolean;
|
|
@@ -4250,7 +4370,7 @@ declare class PermissionsRepository extends BaseRepository {
|
|
|
4250
4370
|
name: string;
|
|
4251
4371
|
displayName: string;
|
|
4252
4372
|
description: string | null;
|
|
4253
|
-
category: "
|
|
4373
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | null;
|
|
4254
4374
|
isBuiltin: boolean;
|
|
4255
4375
|
isSystem: boolean;
|
|
4256
4376
|
isActive: boolean;
|
|
@@ -4266,7 +4386,7 @@ declare class PermissionsRepository extends BaseRepository {
|
|
|
4266
4386
|
name: string;
|
|
4267
4387
|
displayName: string;
|
|
4268
4388
|
description: string | null;
|
|
4269
|
-
category: "
|
|
4389
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | null;
|
|
4270
4390
|
isBuiltin: boolean;
|
|
4271
4391
|
isSystem: boolean;
|
|
4272
4392
|
isActive: boolean;
|
|
@@ -4306,7 +4426,7 @@ declare class PermissionsRepository extends BaseRepository {
|
|
|
4306
4426
|
name: string;
|
|
4307
4427
|
displayName: string;
|
|
4308
4428
|
description: string | null;
|
|
4309
|
-
category: "
|
|
4429
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | null;
|
|
4310
4430
|
isBuiltin: boolean;
|
|
4311
4431
|
isSystem: boolean;
|
|
4312
4432
|
isActive: boolean;
|
|
@@ -4317,16 +4437,16 @@ declare class PermissionsRepository extends BaseRepository {
|
|
|
4317
4437
|
*/
|
|
4318
4438
|
deleteById(id: number): Promise<{
|
|
4319
4439
|
description: string | null;
|
|
4320
|
-
|
|
4440
|
+
metadata: Record<string, any> | null;
|
|
4321
4441
|
name: string;
|
|
4442
|
+
id: number;
|
|
4322
4443
|
displayName: string;
|
|
4323
4444
|
isBuiltin: boolean;
|
|
4324
4445
|
isSystem: boolean;
|
|
4325
4446
|
isActive: boolean;
|
|
4326
4447
|
createdAt: Date;
|
|
4327
4448
|
updatedAt: Date;
|
|
4328
|
-
|
|
4329
|
-
category: "custom" | "user" | "auth" | "rbac" | "system" | null;
|
|
4449
|
+
category: "auth" | "custom" | "user" | "rbac" | "system" | null;
|
|
4330
4450
|
}>;
|
|
4331
4451
|
}
|
|
4332
4452
|
declare const permissionsRepository: PermissionsRepository;
|
|
@@ -4371,9 +4491,9 @@ declare class RolePermissionsRepository extends BaseRepository {
|
|
|
4371
4491
|
*/
|
|
4372
4492
|
createMany(data: NewRolePermission[]): Promise<{
|
|
4373
4493
|
id: number;
|
|
4494
|
+
roleId: number;
|
|
4374
4495
|
createdAt: Date;
|
|
4375
4496
|
updatedAt: Date;
|
|
4376
|
-
roleId: number;
|
|
4377
4497
|
permissionId: number;
|
|
4378
4498
|
}[]>;
|
|
4379
4499
|
/**
|
|
@@ -4389,9 +4509,9 @@ declare class RolePermissionsRepository extends BaseRepository {
|
|
|
4389
4509
|
*/
|
|
4390
4510
|
setPermissionsForRole(roleId: number, permissionIds: number[]): Promise<{
|
|
4391
4511
|
id: number;
|
|
4512
|
+
roleId: number;
|
|
4392
4513
|
createdAt: Date;
|
|
4393
4514
|
updatedAt: Date;
|
|
4394
|
-
roleId: number;
|
|
4395
4515
|
permissionId: number;
|
|
4396
4516
|
}[]>;
|
|
4397
4517
|
}
|
|
@@ -4456,9 +4576,9 @@ declare class UserPermissionsRepository extends BaseRepository {
|
|
|
4456
4576
|
id: number;
|
|
4457
4577
|
createdAt: Date;
|
|
4458
4578
|
updatedAt: Date;
|
|
4459
|
-
expiresAt: Date | null;
|
|
4460
|
-
reason: string | null;
|
|
4461
4579
|
permissionId: number;
|
|
4580
|
+
reason: string | null;
|
|
4581
|
+
expiresAt: Date | null;
|
|
4462
4582
|
granted: boolean;
|
|
4463
4583
|
}>;
|
|
4464
4584
|
/**
|
|
@@ -4482,9 +4602,9 @@ declare class UserPermissionsRepository extends BaseRepository {
|
|
|
4482
4602
|
id: number;
|
|
4483
4603
|
createdAt: Date;
|
|
4484
4604
|
updatedAt: Date;
|
|
4485
|
-
expiresAt: Date | null;
|
|
4486
|
-
reason: string | null;
|
|
4487
4605
|
permissionId: number;
|
|
4606
|
+
reason: string | null;
|
|
4607
|
+
expiresAt: Date | null;
|
|
4488
4608
|
granted: boolean;
|
|
4489
4609
|
}>;
|
|
4490
4610
|
/**
|
|
@@ -4563,6 +4683,7 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4563
4683
|
* 프로필 생성
|
|
4564
4684
|
*/
|
|
4565
4685
|
create(data: NewUserProfile): Promise<{
|
|
4686
|
+
metadata: Record<string, any> | null;
|
|
4566
4687
|
userId: number;
|
|
4567
4688
|
id: number;
|
|
4568
4689
|
displayName: string | null;
|
|
@@ -4580,7 +4701,6 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4580
4701
|
location: string | null;
|
|
4581
4702
|
company: string | null;
|
|
4582
4703
|
jobTitle: string | null;
|
|
4583
|
-
metadata: Record<string, any> | null;
|
|
4584
4704
|
}>;
|
|
4585
4705
|
/**
|
|
4586
4706
|
* 프로필 업데이트 (by ID)
|
|
@@ -4632,6 +4752,7 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4632
4752
|
* 프로필 삭제 (by ID)
|
|
4633
4753
|
*/
|
|
4634
4754
|
deleteById(id: number): Promise<{
|
|
4755
|
+
metadata: Record<string, any> | null;
|
|
4635
4756
|
userId: number;
|
|
4636
4757
|
id: number;
|
|
4637
4758
|
displayName: string | null;
|
|
@@ -4649,12 +4770,12 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4649
4770
|
location: string | null;
|
|
4650
4771
|
company: string | null;
|
|
4651
4772
|
jobTitle: string | null;
|
|
4652
|
-
metadata: Record<string, any> | null;
|
|
4653
4773
|
}>;
|
|
4654
4774
|
/**
|
|
4655
4775
|
* 프로필 삭제 (by User ID)
|
|
4656
4776
|
*/
|
|
4657
4777
|
deleteByUserId(userId: number): Promise<{
|
|
4778
|
+
metadata: Record<string, any> | null;
|
|
4658
4779
|
userId: number;
|
|
4659
4780
|
id: number;
|
|
4660
4781
|
displayName: string | null;
|
|
@@ -4672,7 +4793,6 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4672
4793
|
location: string | null;
|
|
4673
4794
|
company: string | null;
|
|
4674
4795
|
jobTitle: string | null;
|
|
4675
|
-
metadata: Record<string, any> | null;
|
|
4676
4796
|
}>;
|
|
4677
4797
|
/**
|
|
4678
4798
|
* 프로필 Upsert (by User ID)
|
|
@@ -4681,6 +4801,7 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4681
4801
|
* 새로 생성 시 displayName은 필수 (없으면 'User'로 설정)
|
|
4682
4802
|
*/
|
|
4683
4803
|
upsertByUserId(userId: number, data: Partial<Omit<NewUserProfile, 'userId'>>): Promise<{
|
|
4804
|
+
metadata: Record<string, any> | null;
|
|
4684
4805
|
userId: number;
|
|
4685
4806
|
id: number;
|
|
4686
4807
|
displayName: string | null;
|
|
@@ -4698,7 +4819,6 @@ declare class UserProfilesRepository extends BaseRepository {
|
|
|
4698
4819
|
location: string | null;
|
|
4699
4820
|
company: string | null;
|
|
4700
4821
|
jobTitle: string | null;
|
|
4701
|
-
metadata: Record<string, any> | null;
|
|
4702
4822
|
}>;
|
|
4703
4823
|
/**
|
|
4704
4824
|
* User ID로 프로필 데이터 조회 (formatted)
|
|
@@ -4826,15 +4946,15 @@ declare class InvitationsRepository extends BaseRepository {
|
|
|
4826
4946
|
*/
|
|
4827
4947
|
create(data: NewInvitation): Promise<{
|
|
4828
4948
|
email: string;
|
|
4829
|
-
|
|
4949
|
+
metadata: Record<string, any> | null;
|
|
4830
4950
|
id: number;
|
|
4951
|
+
roleId: number;
|
|
4831
4952
|
createdAt: Date;
|
|
4832
4953
|
updatedAt: Date;
|
|
4833
|
-
|
|
4834
|
-
metadata: Record<string, any> | null;
|
|
4835
|
-
expiresAt: Date;
|
|
4954
|
+
status: "pending" | "accepted" | "expired" | "cancelled";
|
|
4836
4955
|
token: string;
|
|
4837
4956
|
invitedBy: number;
|
|
4957
|
+
expiresAt: Date;
|
|
4838
4958
|
acceptedAt: Date | null;
|
|
4839
4959
|
cancelledAt: Date | null;
|
|
4840
4960
|
}>;
|
|
@@ -4860,15 +4980,15 @@ declare class InvitationsRepository extends BaseRepository {
|
|
|
4860
4980
|
*/
|
|
4861
4981
|
deleteById(id: number): Promise<{
|
|
4862
4982
|
email: string;
|
|
4863
|
-
|
|
4983
|
+
metadata: Record<string, any> | null;
|
|
4864
4984
|
id: number;
|
|
4985
|
+
roleId: number;
|
|
4865
4986
|
createdAt: Date;
|
|
4866
4987
|
updatedAt: Date;
|
|
4867
|
-
|
|
4868
|
-
metadata: Record<string, any> | null;
|
|
4869
|
-
expiresAt: Date;
|
|
4988
|
+
status: "pending" | "accepted" | "expired" | "cancelled";
|
|
4870
4989
|
token: string;
|
|
4871
4990
|
invitedBy: number;
|
|
4991
|
+
expiresAt: Date;
|
|
4872
4992
|
acceptedAt: Date | null;
|
|
4873
4993
|
cancelledAt: Date | null;
|
|
4874
4994
|
}>;
|
|
@@ -5106,9 +5226,9 @@ declare class SocialAccountsRepository extends BaseRepository {
|
|
|
5106
5226
|
createdAt: Date;
|
|
5107
5227
|
updatedAt: Date;
|
|
5108
5228
|
provider: "google" | "apple" | "github" | "kakao" | "naver" | "superself";
|
|
5229
|
+
accessToken: string | null;
|
|
5109
5230
|
providerUserId: string;
|
|
5110
5231
|
providerEmail: string | null;
|
|
5111
|
-
accessToken: string | null;
|
|
5112
5232
|
refreshToken: string | null;
|
|
5113
5233
|
tokenExpiresAt: Date | null;
|
|
5114
5234
|
}>;
|
|
@@ -5122,9 +5242,9 @@ declare class SocialAccountsRepository extends BaseRepository {
|
|
|
5122
5242
|
createdAt: Date;
|
|
5123
5243
|
updatedAt: Date;
|
|
5124
5244
|
provider: "google" | "apple" | "github" | "kakao" | "naver" | "superself";
|
|
5245
|
+
accessToken: string | null;
|
|
5125
5246
|
providerUserId: string;
|
|
5126
5247
|
providerEmail: string | null;
|
|
5127
|
-
accessToken: string | null;
|
|
5128
5248
|
refreshToken: string | null;
|
|
5129
5249
|
tokenExpiresAt: Date | null;
|
|
5130
5250
|
}>;
|
|
@@ -5184,7 +5304,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5184
5304
|
requestedAt: Date;
|
|
5185
5305
|
purgeScheduledAt: Date;
|
|
5186
5306
|
status: "pending" | "cancelled" | "completed";
|
|
5187
|
-
requestedBy: "
|
|
5307
|
+
requestedBy: "admin" | "self";
|
|
5188
5308
|
reason: string | null;
|
|
5189
5309
|
cancelledAt: Date | null;
|
|
5190
5310
|
completedAt: Date | null;
|
|
@@ -5203,7 +5323,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5203
5323
|
requestedAt: Date;
|
|
5204
5324
|
purgeScheduledAt: Date;
|
|
5205
5325
|
status: "pending" | "cancelled" | "completed";
|
|
5206
|
-
requestedBy: "
|
|
5326
|
+
requestedBy: "admin" | "self";
|
|
5207
5327
|
reason: string | null;
|
|
5208
5328
|
cancelledAt: Date | null;
|
|
5209
5329
|
completedAt: Date | null;
|
|
@@ -5225,7 +5345,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5225
5345
|
requestedAt: Date;
|
|
5226
5346
|
purgeScheduledAt: Date;
|
|
5227
5347
|
status: "pending" | "cancelled" | "completed";
|
|
5228
|
-
requestedBy: "
|
|
5348
|
+
requestedBy: "admin" | "self";
|
|
5229
5349
|
reason: string | null;
|
|
5230
5350
|
cancelledAt: Date | null;
|
|
5231
5351
|
completedAt: Date | null;
|
|
@@ -5244,7 +5364,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5244
5364
|
requestedAt: Date;
|
|
5245
5365
|
purgeScheduledAt: Date;
|
|
5246
5366
|
status: "pending" | "cancelled" | "completed";
|
|
5247
|
-
requestedBy: "
|
|
5367
|
+
requestedBy: "admin" | "self";
|
|
5248
5368
|
reason: string | null;
|
|
5249
5369
|
cancelledAt: Date | null;
|
|
5250
5370
|
completedAt: Date | null;
|
|
@@ -5256,16 +5376,16 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5256
5376
|
*/
|
|
5257
5377
|
create(data: NewAccountDeletionRequest): Promise<{
|
|
5258
5378
|
userId: number | null;
|
|
5259
|
-
status: "pending" | "cancelled" | "completed";
|
|
5260
|
-
purgeScheduledAt: Date;
|
|
5261
5379
|
id: number;
|
|
5262
5380
|
createdAt: Date;
|
|
5263
5381
|
updatedAt: Date;
|
|
5382
|
+
status: "pending" | "cancelled" | "completed";
|
|
5383
|
+
reason: string | null;
|
|
5384
|
+
purgeScheduledAt: Date;
|
|
5264
5385
|
cancelledAt: Date | null;
|
|
5265
5386
|
userPublicId: string;
|
|
5266
5387
|
requestedAt: Date;
|
|
5267
|
-
requestedBy: "
|
|
5268
|
-
reason: string | null;
|
|
5388
|
+
requestedBy: "admin" | "self";
|
|
5269
5389
|
completedAt: Date | null;
|
|
5270
5390
|
purgeStrategy: "anonymize" | "hard-delete" | null;
|
|
5271
5391
|
}>;
|
|
@@ -5286,7 +5406,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5286
5406
|
requestedAt: Date;
|
|
5287
5407
|
purgeScheduledAt: Date;
|
|
5288
5408
|
status: "pending" | "cancelled" | "completed";
|
|
5289
|
-
requestedBy: "
|
|
5409
|
+
requestedBy: "admin" | "self";
|
|
5290
5410
|
reason: string | null;
|
|
5291
5411
|
cancelledAt: Date | null;
|
|
5292
5412
|
completedAt: Date | null;
|
|
@@ -5311,7 +5431,7 @@ declare class AccountDeletionRequestsRepository extends BaseRepository {
|
|
|
5311
5431
|
requestedAt: Date;
|
|
5312
5432
|
purgeScheduledAt: Date;
|
|
5313
5433
|
status: "pending" | "cancelled" | "completed";
|
|
5314
|
-
requestedBy: "
|
|
5434
|
+
requestedBy: "admin" | "self";
|
|
5315
5435
|
reason: string | null;
|
|
5316
5436
|
cancelledAt: Date | null;
|
|
5317
5437
|
completedAt: Date | null;
|
|
@@ -5763,15 +5883,15 @@ declare function getUser(c: Context | {
|
|
|
5763
5883
|
}): {
|
|
5764
5884
|
email: string | null;
|
|
5765
5885
|
phone: string | null;
|
|
5766
|
-
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
5767
|
-
username: string | null;
|
|
5768
5886
|
id: number;
|
|
5769
|
-
createdAt: Date;
|
|
5770
|
-
updatedAt: Date;
|
|
5771
5887
|
publicId: string;
|
|
5888
|
+
username: string | null;
|
|
5772
5889
|
passwordHash: string | null;
|
|
5773
5890
|
passwordChangeRequired: boolean;
|
|
5774
5891
|
roleId: number;
|
|
5892
|
+
createdAt: Date;
|
|
5893
|
+
updatedAt: Date;
|
|
5894
|
+
status: "active" | "inactive" | "suspended" | "pending_deletion" | "deleted";
|
|
5775
5895
|
emailVerifiedAt: Date | null;
|
|
5776
5896
|
phoneVerifiedAt: Date | null;
|
|
5777
5897
|
lastLoginAt: Date | null;
|
|
@@ -6448,7 +6568,7 @@ declare const authLoginEvent: _spfn_core_event.EventDef<{
|
|
|
6448
6568
|
email?: string | undefined;
|
|
6449
6569
|
phone?: string | undefined;
|
|
6450
6570
|
userId: string;
|
|
6451
|
-
provider: "
|
|
6571
|
+
provider: "email" | "phone" | "google" | "apple" | "github" | "kakao" | "naver" | "superself";
|
|
6452
6572
|
}>;
|
|
6453
6573
|
/**
|
|
6454
6574
|
* auth.register - 회원가입 성공 이벤트
|
|
@@ -6471,7 +6591,7 @@ declare const authRegisterEvent: _spfn_core_event.EventDef<{
|
|
|
6471
6591
|
[x: string]: unknown;
|
|
6472
6592
|
} | undefined;
|
|
6473
6593
|
userId: string;
|
|
6474
|
-
provider: "
|
|
6594
|
+
provider: "email" | "phone" | "google" | "apple" | "github" | "kakao" | "naver" | "superself";
|
|
6475
6595
|
}>;
|
|
6476
6596
|
/**
|
|
6477
6597
|
* auth.invitation.created - 초대 생성 이벤트
|
|
@@ -6499,9 +6619,9 @@ declare const invitationCreatedEvent: _spfn_core_event.EventDef<{
|
|
|
6499
6619
|
} | undefined;
|
|
6500
6620
|
email: string;
|
|
6501
6621
|
roleId: number;
|
|
6502
|
-
expiresAt: string;
|
|
6503
6622
|
token: string;
|
|
6504
6623
|
invitedBy: string;
|
|
6624
|
+
expiresAt: string;
|
|
6505
6625
|
invitationId: string;
|
|
6506
6626
|
isResend: boolean;
|
|
6507
6627
|
}>;
|
|
@@ -6545,7 +6665,7 @@ declare const authDeletionRequestedEvent: _spfn_core_event.EventDef<{
|
|
|
6545
6665
|
userId: string;
|
|
6546
6666
|
purgeScheduledAt: string;
|
|
6547
6667
|
userPublicId: string;
|
|
6548
|
-
requestedBy: "
|
|
6668
|
+
requestedBy: "admin" | "self";
|
|
6549
6669
|
}>;
|
|
6550
6670
|
/**
|
|
6551
6671
|
* auth.deletion.cancelled - 계정 탈퇴 복구 이벤트
|
|
@@ -6590,7 +6710,7 @@ declare const authDeletionCompletedEvent: _spfn_core_event.EventDef<{
|
|
|
6590
6710
|
declare const oauthUnlinkedEvent: _spfn_core_event.EventDef<{
|
|
6591
6711
|
reason?: string | undefined;
|
|
6592
6712
|
userId: string;
|
|
6593
|
-
provider: "
|
|
6713
|
+
provider: "email" | "phone" | "google" | "apple" | "github" | "kakao" | "naver" | "superself";
|
|
6594
6714
|
providerUserId: string;
|
|
6595
6715
|
}>;
|
|
6596
6716
|
/**
|