@effect-auth/core 0.1.0-alpha.6 → 0.1.0-alpha.8
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 +10 -52
- package/dist/EffectQbSqliteStorage.d.ts +228 -2
- package/dist/EffectQbSqliteStorage.d.ts.map +1 -1
- package/dist/EffectQbSqliteStorage.js +683 -3
- package/dist/EffectQbSqliteStorage.js.map +1 -1
- package/dist/OAuth.d.ts +55 -0
- package/dist/OAuth.d.ts.map +1 -1
- package/dist/OAuth.js +58 -0
- package/dist/OAuth.js.map +1 -1
- package/dist/PasskeySimpleWebAuthn.d.ts +11 -0
- package/dist/PasskeySimpleWebAuthn.d.ts.map +1 -0
- package/dist/PasskeySimpleWebAuthn.js +181 -0
- package/dist/PasskeySimpleWebAuthn.js.map +1 -0
- package/dist/cloudflare/RateLimitDurableObject.d.ts +1 -1
- package/package.json +10 -14
- package/dist/D1Kysely.d.ts +0 -43
- package/dist/D1Kysely.d.ts.map +0 -1
- package/dist/D1Kysely.js +0 -78
- package/dist/D1Kysely.js.map +0 -1
- package/dist/KyselyStorage.d.ts +0 -217
- package/dist/KyselyStorage.d.ts.map +0 -1
- package/dist/KyselyStorage.js +0 -1383
- package/dist/KyselyStorage.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-auth/core",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.8",
|
|
4
4
|
"description": "Composable Effect-first authentication primitives.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -65,10 +65,6 @@
|
|
|
65
65
|
"types": "./dist/Crypto.d.ts",
|
|
66
66
|
"default": "./dist/Crypto.js"
|
|
67
67
|
},
|
|
68
|
-
"./D1Kysely": {
|
|
69
|
-
"types": "./dist/D1Kysely.d.ts",
|
|
70
|
-
"default": "./dist/D1Kysely.js"
|
|
71
|
-
},
|
|
72
68
|
"./EffectQbSqliteStorage": {
|
|
73
69
|
"types": "./dist/EffectQbSqliteStorage.d.ts",
|
|
74
70
|
"default": "./dist/EffectQbSqliteStorage.js"
|
|
@@ -145,10 +141,6 @@
|
|
|
145
141
|
"types": "./dist/RefreshToken.d.ts",
|
|
146
142
|
"default": "./dist/RefreshToken.js"
|
|
147
143
|
},
|
|
148
|
-
"./KyselyStorage": {
|
|
149
|
-
"types": "./dist/KyselyStorage.d.ts",
|
|
150
|
-
"default": "./dist/KyselyStorage.js"
|
|
151
|
-
},
|
|
152
144
|
"./Password": {
|
|
153
145
|
"types": "./dist/Password.d.ts",
|
|
154
146
|
"default": "./dist/Password.js"
|
|
@@ -157,6 +149,10 @@
|
|
|
157
149
|
"types": "./dist/Passkey.d.ts",
|
|
158
150
|
"default": "./dist/Passkey.js"
|
|
159
151
|
},
|
|
152
|
+
"./PasskeySimpleWebAuthn": {
|
|
153
|
+
"types": "./dist/PasskeySimpleWebAuthn.d.ts",
|
|
154
|
+
"default": "./dist/PasskeySimpleWebAuthn.js"
|
|
155
|
+
},
|
|
160
156
|
"./Sessions": {
|
|
161
157
|
"types": "./dist/Sessions.d.ts",
|
|
162
158
|
"default": "./dist/Sessions.js"
|
|
@@ -201,19 +197,19 @@
|
|
|
201
197
|
"type-test": "tsc -p tsconfig.type-tests.json --pretty false"
|
|
202
198
|
},
|
|
203
199
|
"peerDependencies": {
|
|
200
|
+
"@simplewebauthn/server": "^13.3.1",
|
|
204
201
|
"alchemy": ">=2.0.0-beta.44 <3",
|
|
205
202
|
"effect": "^4.0.0-beta.67",
|
|
206
|
-
"effect-qb": "4.0.0-beta.66"
|
|
207
|
-
"kysely": "^0.29.2"
|
|
203
|
+
"effect-qb": "4.0.0-beta.66"
|
|
208
204
|
},
|
|
209
205
|
"peerDependenciesMeta": {
|
|
210
|
-
"
|
|
206
|
+
"@simplewebauthn/server": {
|
|
211
207
|
"optional": true
|
|
212
208
|
},
|
|
213
|
-
"
|
|
209
|
+
"alchemy": {
|
|
214
210
|
"optional": true
|
|
215
211
|
},
|
|
216
|
-
"
|
|
212
|
+
"effect-qb": {
|
|
217
213
|
"optional": true
|
|
218
214
|
}
|
|
219
215
|
}
|
package/dist/D1Kysely.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Kysely, SqliteAdapter } from "kysely";
|
|
2
|
-
import type { DatabaseIntrospector, Dialect, Driver, QueryCompiler } from "kysely";
|
|
3
|
-
import type { KyselyAuthDatabase } from "./KyselyStorage.js";
|
|
4
|
-
export interface D1Result<Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>> {
|
|
5
|
-
readonly success?: boolean;
|
|
6
|
-
readonly error?: string;
|
|
7
|
-
readonly results?: readonly Row[];
|
|
8
|
-
readonly meta?: {
|
|
9
|
-
readonly changes?: number;
|
|
10
|
-
readonly rows_written?: number;
|
|
11
|
-
readonly last_row_id?: number | null;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface D1PreparedStatementLike {
|
|
15
|
-
readonly bind: (...values: readonly unknown[]) => D1PreparedStatementLike;
|
|
16
|
-
readonly all: <Row extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>>() => Promise<D1Result<Row>>;
|
|
17
|
-
}
|
|
18
|
-
export interface D1DatabaseLike {
|
|
19
|
-
readonly prepare: (sql: string) => D1PreparedStatementLike;
|
|
20
|
-
}
|
|
21
|
-
declare const D1KyselyError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
22
|
-
readonly _tag: "D1KyselyError";
|
|
23
|
-
} & Readonly<A>;
|
|
24
|
-
export declare class D1KyselyError extends D1KyselyError_base<{
|
|
25
|
-
readonly message: string;
|
|
26
|
-
readonly cause?: unknown;
|
|
27
|
-
}> {
|
|
28
|
-
}
|
|
29
|
-
export interface D1KyselyDialectOptions {
|
|
30
|
-
readonly database: D1DatabaseLike;
|
|
31
|
-
}
|
|
32
|
-
export declare class D1KyselyDialect implements Dialect {
|
|
33
|
-
#private;
|
|
34
|
-
constructor(options: D1KyselyDialectOptions);
|
|
35
|
-
createAdapter(): SqliteAdapter;
|
|
36
|
-
createDriver(): Driver;
|
|
37
|
-
createQueryCompiler(): QueryCompiler;
|
|
38
|
-
createIntrospector(db: Kysely<unknown>): DatabaseIntrospector;
|
|
39
|
-
}
|
|
40
|
-
export declare const makeD1Kysely: <DB>(database: D1DatabaseLike) => Kysely<DB>;
|
|
41
|
-
export declare const D1AuthStorageLive: <DB extends KyselyAuthDatabase = KyselyAuthDatabase>(database: D1DatabaseLike) => import("effect/Layer").Layer<import("./ApiKey.js").ApiKeyStore | import("./Storage.js").UserStore | import("./Storage.js").CredentialStore | import("./Storage.js").SessionStore | import("./Storage.js").VerificationStore | import("./LoginApproval.js").LoginApprovalReviewStore | import("./TrustedDevice.js").TrustedDeviceStore | import("./Passkey.js").PasskeyCredentialStore | import("./RefreshToken.js").RefreshTokenStore | import("./Jwt.js").JwtRevocationStore | import("./OAuth.js").OAuthAccountStore | import("./RecoveryCode.js").RecoveryCodeStore | import("./Totp.js").TotpFactorStore, never, never>;
|
|
42
|
-
export {};
|
|
43
|
-
//# sourceMappingURL=D1Kysely.d.ts.map
|
package/dist/D1Kysely.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"D1Kysely.d.ts","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAGV,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,aAAa,EAGd,MAAM,QAAQ,CAAC;AAGhB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,QAAQ,CACvB,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,SAAS,OAAO,EAAE,KAAK,uBAAuB,CAAC;IAC1E,QAAQ,CAAC,GAAG,EAAE,CACZ,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,QAAQ,CACtD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,OACI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,uBAAuB,CAAC;CAC5D;;;;AAED,qBAAa,aAAc,SAAQ,mBAAkC;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AAED,qBAAa,eAAgB,YAAW,OAAO;;gBAGjC,OAAO,EAAE,sBAAsB;IAI3C,aAAa;IAIb,YAAY,IAAI,MAAM;IAItB,mBAAmB,IAAI,aAAa;IAIpC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB;CAG9D;AA6ED,eAAO,MAAM,YAAY,GAAI,EAAE,EAAE,UAAU,cAAc,KAAG,MAAM,CAAC,EAAE,CAGjE,CAAC;AAEL,eAAO,MAAM,iBAAiB,GAC5B,EAAE,SAAS,kBAAkB,GAAG,kBAAkB,EAElD,UAAU,cAAc,gmBAC4B,CAAC"}
|
package/dist/D1Kysely.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Data } from "effect";
|
|
2
|
-
import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from "kysely";
|
|
3
|
-
import { KyselyAuthStorageLive } from "./KyselyStorage.js";
|
|
4
|
-
export class D1KyselyError extends Data.TaggedError("D1KyselyError") {
|
|
5
|
-
}
|
|
6
|
-
export class D1KyselyDialect {
|
|
7
|
-
#database;
|
|
8
|
-
constructor(options) {
|
|
9
|
-
this.#database = options.database;
|
|
10
|
-
}
|
|
11
|
-
createAdapter() {
|
|
12
|
-
return new SqliteAdapter();
|
|
13
|
-
}
|
|
14
|
-
createDriver() {
|
|
15
|
-
return new D1KyselyDriver(this.#database);
|
|
16
|
-
}
|
|
17
|
-
createQueryCompiler() {
|
|
18
|
-
return new SqliteQueryCompiler();
|
|
19
|
-
}
|
|
20
|
-
createIntrospector(db) {
|
|
21
|
-
return new SqliteIntrospector(db);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
class D1KyselyDriver {
|
|
25
|
-
#database;
|
|
26
|
-
constructor(database) {
|
|
27
|
-
this.#database = database;
|
|
28
|
-
}
|
|
29
|
-
async init() { }
|
|
30
|
-
async acquireConnection() {
|
|
31
|
-
return new D1KyselyConnection(this.#database);
|
|
32
|
-
}
|
|
33
|
-
async beginTransaction(_connection, _settings) {
|
|
34
|
-
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
35
|
-
}
|
|
36
|
-
async commitTransaction(_connection) {
|
|
37
|
-
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
38
|
-
}
|
|
39
|
-
async rollbackTransaction(_connection) {
|
|
40
|
-
throw new D1KyselyError({ message: "D1 transactions are not supported" });
|
|
41
|
-
}
|
|
42
|
-
async releaseConnection(_connection) { }
|
|
43
|
-
async destroy() { }
|
|
44
|
-
}
|
|
45
|
-
class D1KyselyConnection {
|
|
46
|
-
#database;
|
|
47
|
-
constructor(database) {
|
|
48
|
-
this.#database = database;
|
|
49
|
-
}
|
|
50
|
-
async executeQuery(compiledQuery) {
|
|
51
|
-
const result = await this.#database
|
|
52
|
-
.prepare(compiledQuery.sql)
|
|
53
|
-
.bind(...compiledQuery.parameters)
|
|
54
|
-
.all();
|
|
55
|
-
if (result.success === false || result.error !== undefined) {
|
|
56
|
-
throw new D1KyselyError({
|
|
57
|
-
message: result.error ?? "D1 query failed",
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
const rowsAffected = result.meta?.changes ?? result.meta?.rows_written ?? 0;
|
|
61
|
-
return {
|
|
62
|
-
insertId: result.meta?.last_row_id === undefined ||
|
|
63
|
-
result.meta.last_row_id === null
|
|
64
|
-
? undefined
|
|
65
|
-
: BigInt(result.meta.last_row_id),
|
|
66
|
-
numAffectedRows: BigInt(rowsAffected),
|
|
67
|
-
rows: [...(result.results ?? [])],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
async *streamQuery(_compiledQuery, _chunkSize) {
|
|
71
|
-
throw new D1KyselyError({ message: "D1 streaming is not supported" });
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
export const makeD1Kysely = (database) => new Kysely({
|
|
75
|
-
dialect: new D1KyselyDialect({ database }),
|
|
76
|
-
});
|
|
77
|
-
export const D1AuthStorageLive = (database) => KyselyAuthStorageLive(makeD1Kysely(database));
|
|
78
|
-
//# sourceMappingURL=D1Kysely.js.map
|
package/dist/D1Kysely.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"D1Kysely.js","sourceRoot":"","sources":["../src/D1Kysely.ts"],"names":[],"mappings":"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"}
|
package/dist/KyselyStorage.d.ts
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
import { Layer } from "effect";
|
|
2
|
-
import type { Kysely } from "kysely";
|
|
3
|
-
import { ApiKeyStore } from "./ApiKey.js";
|
|
4
|
-
import type { ApiKeyStoreService } from "./ApiKey.js";
|
|
5
|
-
import { JwtRevocationStore } from "./Jwt.js";
|
|
6
|
-
import type { JwtRevocationStoreService } from "./Jwt.js";
|
|
7
|
-
import { LoginApprovalReviewStore } from "./LoginApproval.js";
|
|
8
|
-
import type { LoginApprovalReviewStoreService } from "./LoginApproval.js";
|
|
9
|
-
import { OAuthAccountStore } from "./OAuth.js";
|
|
10
|
-
import type { OAuthAccountStoreService } from "./OAuth.js";
|
|
11
|
-
import { PasskeyCredentialStore } from "./Passkey.js";
|
|
12
|
-
import type { PasskeyCredentialStoreService } from "./Passkey.js";
|
|
13
|
-
import { RecoveryCodeStore } from "./RecoveryCode.js";
|
|
14
|
-
import type { RecoveryCodeStoreService } from "./RecoveryCode.js";
|
|
15
|
-
import { RefreshTokenStore } from "./RefreshToken.js";
|
|
16
|
-
import type { RefreshTokenStoreService } from "./RefreshToken.js";
|
|
17
|
-
import { CredentialStore, SessionStore, UserStore, VerificationStore } from "./Storage.js";
|
|
18
|
-
import type { CredentialStoreService, SessionStoreService, UserStoreService, VerificationStoreService } from "./Storage.js";
|
|
19
|
-
import { TotpFactorStore } from "./Totp.js";
|
|
20
|
-
import type { TotpFactorStoreService } from "./Totp.js";
|
|
21
|
-
import { TrustedDeviceStore } from "./TrustedDevice.js";
|
|
22
|
-
import type { TrustedDeviceStoreService } from "./TrustedDevice.js";
|
|
23
|
-
export interface KyselyAuthUserTable {
|
|
24
|
-
id: string;
|
|
25
|
-
email: string;
|
|
26
|
-
email_verified: number;
|
|
27
|
-
created_at: number;
|
|
28
|
-
updated_at: number;
|
|
29
|
-
disabled_at: number | null;
|
|
30
|
-
metadata: string | null;
|
|
31
|
-
}
|
|
32
|
-
export interface KyselyAuthCredentialTable {
|
|
33
|
-
id: string;
|
|
34
|
-
user_id: string;
|
|
35
|
-
type: string;
|
|
36
|
-
password_hash: string | null;
|
|
37
|
-
created_at: number;
|
|
38
|
-
updated_at: number;
|
|
39
|
-
revoked_at: number | null;
|
|
40
|
-
metadata: string | null;
|
|
41
|
-
}
|
|
42
|
-
export interface KyselyAuthSessionTable {
|
|
43
|
-
id: string;
|
|
44
|
-
user_id: string;
|
|
45
|
-
secret_hash: string;
|
|
46
|
-
created_at: number;
|
|
47
|
-
expires_at: number;
|
|
48
|
-
auth_time: number;
|
|
49
|
-
aal: string;
|
|
50
|
-
amr: string;
|
|
51
|
-
mfa_verified_at: number | null;
|
|
52
|
-
metadata: string | null;
|
|
53
|
-
revoked_at: number | null;
|
|
54
|
-
last_seen_at: number | null;
|
|
55
|
-
rotated_at: number | null;
|
|
56
|
-
}
|
|
57
|
-
export interface KyselyAuthVerificationTable {
|
|
58
|
-
id: string;
|
|
59
|
-
type: string;
|
|
60
|
-
subject: string;
|
|
61
|
-
secret_hash: string | null;
|
|
62
|
-
created_at: number;
|
|
63
|
-
expires_at: number;
|
|
64
|
-
metadata: string | null;
|
|
65
|
-
consumed_at: number | null;
|
|
66
|
-
}
|
|
67
|
-
export interface KyselyAuthLoginApprovalReviewTable {
|
|
68
|
-
approval_challenge_id: string;
|
|
69
|
-
flow_id: string;
|
|
70
|
-
user_id: string;
|
|
71
|
-
channel: string;
|
|
72
|
-
reason: string;
|
|
73
|
-
session_binding: string;
|
|
74
|
-
same_device_required: number;
|
|
75
|
-
status: string;
|
|
76
|
-
created_at: number;
|
|
77
|
-
expires_at: number;
|
|
78
|
-
reviewed_at: number | null;
|
|
79
|
-
reviewed_by: string | null;
|
|
80
|
-
denied_reason: string | null;
|
|
81
|
-
risk: string | null;
|
|
82
|
-
metadata: string | null;
|
|
83
|
-
review_metadata: string | null;
|
|
84
|
-
}
|
|
85
|
-
export interface KyselyAuthTrustedDeviceTable {
|
|
86
|
-
user_id: string;
|
|
87
|
-
token_hash: string;
|
|
88
|
-
created_at: number;
|
|
89
|
-
last_seen_at: number;
|
|
90
|
-
expires_at: number;
|
|
91
|
-
metadata: string | null;
|
|
92
|
-
}
|
|
93
|
-
export interface KyselyAuthPasskeyCredentialTable {
|
|
94
|
-
id: string;
|
|
95
|
-
user_id: string;
|
|
96
|
-
credential_id: string;
|
|
97
|
-
public_key: string;
|
|
98
|
-
sign_count: number;
|
|
99
|
-
transports: string | null;
|
|
100
|
-
backed_up: number | null;
|
|
101
|
-
created_at: number;
|
|
102
|
-
last_used_at: number | null;
|
|
103
|
-
revoked_at: number | null;
|
|
104
|
-
metadata: string | null;
|
|
105
|
-
}
|
|
106
|
-
export interface KyselyAuthTotpFactorTable {
|
|
107
|
-
id: string;
|
|
108
|
-
user_id: string;
|
|
109
|
-
secret: string;
|
|
110
|
-
algorithm: string;
|
|
111
|
-
digits: number;
|
|
112
|
-
period: number;
|
|
113
|
-
created_at: number;
|
|
114
|
-
confirmed_at: number | null;
|
|
115
|
-
last_used_at: number | null;
|
|
116
|
-
revoked_at: number | null;
|
|
117
|
-
metadata: string | null;
|
|
118
|
-
}
|
|
119
|
-
export interface KyselyAuthRecoveryCodeTable {
|
|
120
|
-
id: string;
|
|
121
|
-
user_id: string;
|
|
122
|
-
code_hash: string;
|
|
123
|
-
created_at: number;
|
|
124
|
-
used_at: number | null;
|
|
125
|
-
revoked_at: number | null;
|
|
126
|
-
metadata: string | null;
|
|
127
|
-
}
|
|
128
|
-
export interface KyselyAuthApiKeyTable {
|
|
129
|
-
id: string;
|
|
130
|
-
user_id: string;
|
|
131
|
-
prefix: string;
|
|
132
|
-
secret_hash: string;
|
|
133
|
-
scopes: string;
|
|
134
|
-
created_at: number;
|
|
135
|
-
expires_at: number | null;
|
|
136
|
-
last_used_at: number | null;
|
|
137
|
-
revoked_at: number | null;
|
|
138
|
-
metadata: string | null;
|
|
139
|
-
}
|
|
140
|
-
export interface KyselyAuthRefreshTokenTable {
|
|
141
|
-
id: string;
|
|
142
|
-
family_id: string;
|
|
143
|
-
user_id: string;
|
|
144
|
-
secret_hash: string;
|
|
145
|
-
created_at: number;
|
|
146
|
-
expires_at: number;
|
|
147
|
-
last_used_at: number | null;
|
|
148
|
-
rotated_at: number | null;
|
|
149
|
-
replaced_by_id: string | null;
|
|
150
|
-
revoked_at: number | null;
|
|
151
|
-
reuse_detected_at: number | null;
|
|
152
|
-
metadata: string | null;
|
|
153
|
-
}
|
|
154
|
-
export interface KyselyAuthJwtRevocationTable {
|
|
155
|
-
jwt_id: string;
|
|
156
|
-
revoked_at: number;
|
|
157
|
-
expires_at: number | null;
|
|
158
|
-
reason: string | null;
|
|
159
|
-
}
|
|
160
|
-
export interface KyselyAuthOAuthAccountTable {
|
|
161
|
-
id: string;
|
|
162
|
-
provider_id: string;
|
|
163
|
-
provider_account_id: string;
|
|
164
|
-
user_id: string;
|
|
165
|
-
email: string | null;
|
|
166
|
-
email_verified: number | null;
|
|
167
|
-
created_at: number;
|
|
168
|
-
updated_at: number;
|
|
169
|
-
unlinked_at: number | null;
|
|
170
|
-
metadata: string | null;
|
|
171
|
-
}
|
|
172
|
-
export interface KyselyAuthDatabase {
|
|
173
|
-
readonly auth_user: KyselyAuthUserTable;
|
|
174
|
-
readonly auth_credential: KyselyAuthCredentialTable;
|
|
175
|
-
readonly auth_session: KyselyAuthSessionTable;
|
|
176
|
-
readonly auth_verification: KyselyAuthVerificationTable;
|
|
177
|
-
readonly auth_login_approval_review: KyselyAuthLoginApprovalReviewTable;
|
|
178
|
-
readonly auth_trusted_device: KyselyAuthTrustedDeviceTable;
|
|
179
|
-
readonly auth_passkey_credential: KyselyAuthPasskeyCredentialTable;
|
|
180
|
-
readonly auth_totp_factor: KyselyAuthTotpFactorTable;
|
|
181
|
-
readonly auth_recovery_code: KyselyAuthRecoveryCodeTable;
|
|
182
|
-
readonly auth_api_key: KyselyAuthApiKeyTable;
|
|
183
|
-
readonly auth_refresh_token: KyselyAuthRefreshTokenTable;
|
|
184
|
-
readonly auth_jwt_revocation: KyselyAuthJwtRevocationTable;
|
|
185
|
-
readonly auth_oauth_account: KyselyAuthOAuthAccountTable;
|
|
186
|
-
}
|
|
187
|
-
export interface KyselyStorageStores {
|
|
188
|
-
readonly userStore: UserStoreService;
|
|
189
|
-
readonly credentialStore: CredentialStoreService;
|
|
190
|
-
readonly sessionStore: SessionStoreService;
|
|
191
|
-
readonly verificationStore: VerificationStoreService;
|
|
192
|
-
readonly loginApprovalReviewStore: LoginApprovalReviewStoreService;
|
|
193
|
-
readonly trustedDeviceStore: TrustedDeviceStoreService;
|
|
194
|
-
readonly passkeyCredentialStore: PasskeyCredentialStoreService;
|
|
195
|
-
readonly totpFactorStore: TotpFactorStoreService;
|
|
196
|
-
readonly recoveryCodeStore: RecoveryCodeStoreService;
|
|
197
|
-
readonly apiKeyStore: ApiKeyStoreService;
|
|
198
|
-
readonly refreshTokenStore: RefreshTokenStoreService;
|
|
199
|
-
readonly jwtRevocationStore: JwtRevocationStoreService;
|
|
200
|
-
readonly oauthAccountStore: OAuthAccountStoreService;
|
|
201
|
-
}
|
|
202
|
-
export declare const makeKyselyUserStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => UserStoreService;
|
|
203
|
-
export declare const makeKyselyCredentialStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => CredentialStoreService;
|
|
204
|
-
export declare const makeKyselySessionStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => SessionStoreService;
|
|
205
|
-
export declare const makeKyselyVerificationStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => VerificationStoreService;
|
|
206
|
-
export declare const makeKyselyLoginApprovalReviewStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => LoginApprovalReviewStoreService;
|
|
207
|
-
export declare const makeKyselyTrustedDeviceStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => TrustedDeviceStoreService;
|
|
208
|
-
export declare const makeKyselyPasskeyCredentialStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => PasskeyCredentialStoreService;
|
|
209
|
-
export declare const makeKyselyTotpFactorStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => TotpFactorStoreService;
|
|
210
|
-
export declare const makeKyselyRecoveryCodeStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => RecoveryCodeStoreService;
|
|
211
|
-
export declare const makeKyselyApiKeyStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => ApiKeyStoreService;
|
|
212
|
-
export declare const makeKyselyRefreshTokenStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => RefreshTokenStoreService;
|
|
213
|
-
export declare const makeKyselyJwtRevocationStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => JwtRevocationStoreService;
|
|
214
|
-
export declare const makeKyselyOAuthAccountStore: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => OAuthAccountStoreService;
|
|
215
|
-
export declare const makeKyselyStorage: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => KyselyStorageStores;
|
|
216
|
-
export declare const KyselyAuthStorageLive: <DB extends KyselyAuthDatabase>(db: Kysely<DB>) => Layer.Layer<ApiKeyStore | UserStore | CredentialStore | SessionStore | VerificationStore | LoginApprovalReviewStore | TrustedDeviceStore | PasskeyCredentialStore | RefreshTokenStore | JwtRevocationStore | OAuthAccountStore | RecoveryCodeStore | TotpFactorStore, never, never>;
|
|
217
|
-
//# sourceMappingURL=KyselyStorage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KyselyStorage.d.ts","sourceRoot":"","sources":["../src/KyselyStorage.ts"],"names":[],"mappings":"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"}
|