@gauts/auth 0.5.1 → 0.6.0
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 +140 -98
- package/SECURITY.md +1 -1
- package/dist/adapters/hono/index.d.ts +15 -16
- package/dist/adapters/hono/index.d.ts.map +1 -1
- package/dist/adapters/hono/index.js +1 -3
- package/dist/adapters/hono/index.js.map +1 -1
- package/dist/adapters/prisma/config.d.ts +7 -0
- package/dist/adapters/prisma/config.d.ts.map +1 -0
- package/dist/adapters/prisma/config.js +151 -0
- package/dist/adapters/prisma/config.js.map +1 -0
- package/dist/adapters/prisma/index.d.ts +3 -48
- package/dist/adapters/prisma/index.d.ts.map +1 -1
- package/dist/adapters/prisma/index.js +12 -221
- package/dist/adapters/prisma/index.js.map +1 -1
- package/dist/adapters/prisma/model.d.ts +33 -0
- package/dist/adapters/prisma/model.d.ts.map +1 -0
- package/dist/adapters/prisma/model.js +110 -0
- package/dist/adapters/prisma/model.js.map +1 -0
- package/dist/adapters/prisma/types.d.ts +125 -0
- package/dist/adapters/prisma/types.d.ts.map +1 -0
- package/dist/adapters/prisma/types.js +2 -0
- package/dist/adapters/prisma/types.js.map +1 -0
- package/dist/auth.d.ts +6 -6
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/session/cache.d.ts +7 -7
- package/dist/session/cache.d.ts.map +1 -1
- package/dist/session/cache.js +4 -33
- package/dist/session/cache.js.map +1 -1
- package/dist/session/guards.d.ts +2 -2
- package/dist/session/guards.d.ts.map +1 -1
- package/dist/session/guards.js +12 -13
- package/dist/session/guards.js.map +1 -1
- package/dist/session/service.d.ts +4 -4
- package/dist/session/service.d.ts.map +1 -1
- package/dist/session/service.js +0 -4
- package/dist/session/service.js.map +1 -1
- package/dist/session/types.d.ts +20 -25
- package/dist/session/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { AuthAccount, AuthScalar, DbAdapter, SessionRecord } from "../../session/types.js";
|
|
2
|
+
type DelegateMeta<T> = T[Extract<keyof T, symbol>];
|
|
3
|
+
export type DelegateRow<T> = DelegateMeta<T> extends {
|
|
4
|
+
types: {
|
|
5
|
+
payload: {
|
|
6
|
+
scalars: infer Result;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
} ? Result : never;
|
|
10
|
+
type IsSessionModel<T> = [DelegateRow<T>] extends [never] ? false : DelegateRow<T> extends SessionRecord ? true : false;
|
|
11
|
+
type IsRelationModel<T> = IsSessionModel<T> extends true ? false : DelegateRow<T> extends {
|
|
12
|
+
id: string;
|
|
13
|
+
} ? true : false;
|
|
14
|
+
type IsAccountModel<T> = IsSessionModel<T> extends true ? false : DelegateRow<T> extends {
|
|
15
|
+
email: string;
|
|
16
|
+
id: string;
|
|
17
|
+
password_hash: string;
|
|
18
|
+
} ? true : false;
|
|
19
|
+
export type PrismaSessionModel<Client> = {
|
|
20
|
+
[Key in keyof Client]: IsSessionModel<Client[Key]> extends true ? Key : never;
|
|
21
|
+
}[keyof Client] & string;
|
|
22
|
+
export type PrismaAccountModel<Client> = {
|
|
23
|
+
[Key in keyof Client]: IsAccountModel<Client[Key]> extends true ? Key : never;
|
|
24
|
+
}[keyof Client] & string;
|
|
25
|
+
type PrismaRelationModel<Client> = {
|
|
26
|
+
[Key in keyof Client]: IsRelationModel<Client[Key]> extends true ? Key : never;
|
|
27
|
+
}[keyof Client] & string;
|
|
28
|
+
type ModelRow<Client, Name extends string> = Name extends keyof Client ? DelegateRow<Client[Name]> : never;
|
|
29
|
+
type AuthField<Row> = {
|
|
30
|
+
[Key in keyof Row]: Row[Key] extends AuthScalar ? Key : never;
|
|
31
|
+
}[keyof Row] & string;
|
|
32
|
+
type AccessRule<Value> = Value extends AuthScalar ? Value | readonly Value[] : never;
|
|
33
|
+
type ModelAccess<Row> = Partial<{
|
|
34
|
+
[Key in AuthField<Row>]: AccessRule<Row[Key]>;
|
|
35
|
+
}>;
|
|
36
|
+
type ModelConfig<Client, Name extends string, NameRequired extends boolean> = {
|
|
37
|
+
access?: ModelAccess<ModelRow<Client, Name>>;
|
|
38
|
+
relations?: PrismaRelations<Client>;
|
|
39
|
+
select?: readonly AuthField<ModelRow<Client, Name>>[];
|
|
40
|
+
} & (NameRequired extends true ? {
|
|
41
|
+
name: Name;
|
|
42
|
+
} : {
|
|
43
|
+
name?: Name;
|
|
44
|
+
});
|
|
45
|
+
type ModelChoice<Client, NameRequired extends boolean> = {
|
|
46
|
+
[Name in PrismaRelationModel<Client>]: ModelConfig<Client, Name, NameRequired>;
|
|
47
|
+
}[PrismaRelationModel<Client>];
|
|
48
|
+
type AccountChoice<Client, NameRequired extends boolean> = {
|
|
49
|
+
[Name in PrismaAccountModel<Client>]: ModelConfig<Client, Name, NameRequired>;
|
|
50
|
+
}[PrismaAccountModel<Client>];
|
|
51
|
+
type DefaultAccountConfig<Client> = "account" extends PrismaAccountModel<Client> ? Omit<ModelConfig<Client, "account", false>, "name"> & {
|
|
52
|
+
name?: "account";
|
|
53
|
+
} : never;
|
|
54
|
+
type CustomAccountConfig<Client> = AccountChoice<Client, true>;
|
|
55
|
+
export type PrismaAccountConfig<Client> = DefaultAccountConfig<Client> | CustomAccountConfig<Client>;
|
|
56
|
+
export type PrismaRelations<Client> = Record<string, ModelChoice<Client, false>>;
|
|
57
|
+
type DefaultSessionConfig<Client> = "sessions" extends PrismaSessionModel<Client> ? {
|
|
58
|
+
name?: "sessions";
|
|
59
|
+
} : never;
|
|
60
|
+
type CustomSessionConfig<Client> = {
|
|
61
|
+
[Name in PrismaSessionModel<Client>]: {
|
|
62
|
+
name: Name;
|
|
63
|
+
};
|
|
64
|
+
}[PrismaSessionModel<Client>];
|
|
65
|
+
export type PrismaSessionConfig<Client> = DefaultSessionConfig<Client> | CustomSessionConfig<Client>;
|
|
66
|
+
type AccountProperty<Client> = "account" extends PrismaAccountModel<Client> ? {
|
|
67
|
+
account?: PrismaAccountConfig<Client>;
|
|
68
|
+
} : {
|
|
69
|
+
account: CustomAccountConfig<Client>;
|
|
70
|
+
};
|
|
71
|
+
type SessionProperty<Client> = "sessions" extends PrismaSessionModel<Client> ? {
|
|
72
|
+
sessions?: PrismaSessionConfig<Client>;
|
|
73
|
+
} : {
|
|
74
|
+
sessions: CustomSessionConfig<Client>;
|
|
75
|
+
};
|
|
76
|
+
export type PrismaModelsConfig<Client> = AccountProperty<Client> & SessionProperty<Client>;
|
|
77
|
+
type HasDefaults<Client> = "account" extends PrismaAccountModel<Client> ? "sessions" extends PrismaSessionModel<Client> ? true : false : false;
|
|
78
|
+
export type PrismaAdapterInput<Client extends object, Models extends PrismaModelsConfig<Client> | undefined = undefined> = Models extends undefined ? HasDefaults<Client> extends true ? {
|
|
79
|
+
client: Client;
|
|
80
|
+
models?: undefined;
|
|
81
|
+
} : never : {
|
|
82
|
+
client: Client;
|
|
83
|
+
models: Models;
|
|
84
|
+
};
|
|
85
|
+
type ConfigName<Config, Default extends string> = Config extends {
|
|
86
|
+
name: infer Name extends string;
|
|
87
|
+
} ? Name : Default;
|
|
88
|
+
type ConfigSelect<Config, Default extends string> = Config extends {
|
|
89
|
+
select: readonly (infer Field extends string)[];
|
|
90
|
+
} ? Field | "id" : Default;
|
|
91
|
+
type ConfigRelations<Config> = Config extends {
|
|
92
|
+
relations: infer Relations;
|
|
93
|
+
} ? Relations : Record<never, never>;
|
|
94
|
+
type SelectedModel<Client, Config, DefaultName extends string, DefaultSelect extends string = "id"> = ConfigName<Config, DefaultName> extends infer Name extends string ? Pick<ModelRow<Client, Name>, ConfigSelect<Config, DefaultSelect> & keyof ModelRow<Client, Name>> & {
|
|
95
|
+
[Relation in keyof ConfigRelations<Config>]: ConfigRelations<Config>[Relation] extends infer RelationConfig ? SelectedModel<Client, RelationConfig, Relation & string> : never;
|
|
96
|
+
} : never;
|
|
97
|
+
type ModelsAccount<Models> = Models extends {
|
|
98
|
+
account: infer Account;
|
|
99
|
+
} ? Account : Record<never, never>;
|
|
100
|
+
export type PrismaAccount<Client, Models extends PrismaModelsConfig<Client> | undefined = undefined> = SelectedModel<Client, ModelsAccount<Models>, "account", "id" | "email"> & {
|
|
101
|
+
id: string;
|
|
102
|
+
};
|
|
103
|
+
export type PrismaDelegate = {
|
|
104
|
+
create(args: unknown): Promise<unknown>;
|
|
105
|
+
findFirst(args: unknown): Promise<unknown>;
|
|
106
|
+
findMany(args: unknown): Promise<unknown>;
|
|
107
|
+
findUnique(args: unknown): Promise<unknown>;
|
|
108
|
+
update(args: unknown): Promise<unknown>;
|
|
109
|
+
updateMany(args: unknown): Promise<unknown>;
|
|
110
|
+
};
|
|
111
|
+
export type PrismaAccessValue = AuthScalar | readonly AuthScalar[];
|
|
112
|
+
export type ResolvedPrismaModel = {
|
|
113
|
+
access: Record<string, PrismaAccessValue>;
|
|
114
|
+
name: string;
|
|
115
|
+
relation: string;
|
|
116
|
+
relations: Record<string, ResolvedPrismaModel>;
|
|
117
|
+
select: readonly string[];
|
|
118
|
+
};
|
|
119
|
+
export type ResolvedPrismaModels = {
|
|
120
|
+
account: ResolvedPrismaModel;
|
|
121
|
+
sessions: string;
|
|
122
|
+
};
|
|
123
|
+
export type PrismaDb<Client extends object, Models extends PrismaModelsConfig<Client> | undefined> = DbAdapter<PrismaAccount<Client, Models>>;
|
|
124
|
+
export type { AuthAccount };
|
|
125
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/prisma/types.ts"],"names":[],"mappings":""}
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { PasswordConfig, ResolvedSessionConfig, SessionConfig } from "./config.js";
|
|
2
2
|
import { type PasswordService } from "./password/index.js";
|
|
3
|
-
import type { DbAdapter, SessionService } from "./session/types.js";
|
|
3
|
+
import type { AuthAccount, DbAdapter, SessionService } from "./session/types.js";
|
|
4
4
|
export type AuthConfig = {
|
|
5
5
|
password?: PasswordConfig;
|
|
6
6
|
session?: SessionConfig;
|
|
7
7
|
};
|
|
8
|
-
export type AuthDeps = AuthConfig & {
|
|
9
|
-
db: DbAdapter
|
|
8
|
+
export type AuthDeps<TAccount extends AuthAccount = AuthAccount> = AuthConfig & {
|
|
9
|
+
db: DbAdapter<TAccount>;
|
|
10
10
|
};
|
|
11
|
-
export type Auth = {
|
|
11
|
+
export type Auth<TAccount extends AuthAccount = AuthAccount> = {
|
|
12
12
|
readonly config: {
|
|
13
13
|
readonly session: Readonly<ResolvedSessionConfig>;
|
|
14
14
|
};
|
|
15
15
|
password: PasswordService;
|
|
16
|
-
session: SessionService
|
|
16
|
+
session: SessionService<TAccount>;
|
|
17
17
|
};
|
|
18
|
-
export declare const createAuth: ({ db, password, session }: AuthDeps) => Auth
|
|
18
|
+
export declare const createAuth: <TAccount extends AuthAccount>({ db, password, session, }: AuthDeps<TAccount>) => Auth<TAccount>;
|
|
19
19
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGxF,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,GAAG;IAC5E,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,IAAI;IAC3D,QAAQ,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;KACrD,CAAC;IACF,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AA0BF,eAAO,MAAM,UAAU,GAAI,QAAQ,SAAS,WAAW,EAAE,4BAItD,QAAQ,CAAC,QAAQ,CAAC,KAAG,IAAI,CAAC,QAAQ,CAmBpC,CAAC"}
|
package/dist/auth.js
CHANGED
|
@@ -17,7 +17,7 @@ const requireMethods = ({ methods, name, value }) => {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
export const createAuth = ({ db, password, session }) => {
|
|
20
|
+
export const createAuth = ({ db, password, session, }) => {
|
|
21
21
|
requireMethods({
|
|
22
22
|
methods: ["create", "find", "findActive", "findToken", "revoke", "updateExpiry"],
|
|
23
23
|
name: "DB",
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA0B5D,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAuB,EAAQ,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAG,KAAgC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA0B5D,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAuB,EAAQ,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAG,KAAgC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC;QAClE,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,sBAAsB;SACzC,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAA+B,EACrD,EAAE,EACF,QAAQ,EACR,OAAO,GACU,EAAkB,EAAE;IACrC,cAAc,CAAC;QACX,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC;QAChF,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEpD,OAAO;QACH,MAAM,EAAE;YACJ,OAAO,EAAE,aAAa;SACzB;QACD,QAAQ,EAAE,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,oBAAoB,CAAC;YAC1B,MAAM,EAAE,aAAa;YACrB,EAAE;SACL,CAAC;KACL,CAAC;AACN,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type { BcryptConfig, Argon2idConfig, PasswordConfig, SessionConfig, Sessi
|
|
|
4
4
|
export { isAuthError } from "./errors.js";
|
|
5
5
|
export type { AuthError, AuthErrorCode } from "./errors.js";
|
|
6
6
|
export type { PasswordService } from "./password/index.js";
|
|
7
|
-
export type { ActiveSession, AuthAccount, AuthSessionRecord,
|
|
7
|
+
export type { ActiveSession, AuthAccount, AuthAccountOf, AuthData, AuthScalar, AuthSessionRecord, AuthValue, CreateSessionRecord, CreatedSession, DbAdapter, RenewedSession, ResolvedSession, Session, SessionInput, SessionRecord, SessionService, } from "./session/types.js";
|
|
8
8
|
export type { SessionClient, SessionClientInput } from "./client/index.js";
|
|
9
9
|
export type { SessionCacheConfig } from "./session/cache.js";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACR,aAAa,EACb,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC5D,YAAY,EACR,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,cAAc,EACd,eAAe,EACf,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/session/cache.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type SessionClientInput } from "../client/index.js";
|
|
2
2
|
import type { ResolvedSessionConfig } from "../config.js";
|
|
3
|
-
import type { ResolvedSession } from "./types.js";
|
|
3
|
+
import type { AuthAccount, ResolvedSession } from "./types.js";
|
|
4
4
|
export type SessionCacheConfig = {
|
|
5
5
|
ttl: number;
|
|
6
6
|
};
|
|
@@ -15,18 +15,18 @@ type CacheInput = {
|
|
|
15
15
|
token: string;
|
|
16
16
|
value: string | null | undefined;
|
|
17
17
|
};
|
|
18
|
-
type CreateCacheInput = {
|
|
19
|
-
resolved: ResolvedSession
|
|
18
|
+
type CreateCacheInput<TAccount extends AuthAccount> = {
|
|
19
|
+
resolved: ResolvedSession<TAccount>;
|
|
20
20
|
token: string;
|
|
21
21
|
};
|
|
22
22
|
type SessionCacheValue = {
|
|
23
23
|
expires_at: Date;
|
|
24
24
|
value: string;
|
|
25
25
|
};
|
|
26
|
-
export type SessionCache = {
|
|
27
|
-
create(input: CreateCacheInput): SessionCacheValue;
|
|
28
|
-
resolve(input: CacheInput): ResolvedSession | null;
|
|
26
|
+
export type SessionCache<TAccount extends AuthAccount = AuthAccount> = {
|
|
27
|
+
create(input: CreateCacheInput<TAccount>): SessionCacheValue;
|
|
28
|
+
resolve(input: CacheInput): ResolvedSession<TAccount> | null;
|
|
29
29
|
};
|
|
30
|
-
export declare const createSessionCache: ({ config, now, secret, session: sessionConfig, }: SessionCacheDeps) => SessionCache
|
|
30
|
+
export declare const createSessionCache: <TAccount extends AuthAccount>({ config, now, secret, session: sessionConfig, }: SessionCacheDeps) => SessionCache<TAccount>;
|
|
31
31
|
export {};
|
|
32
32
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/session/cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/session/cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAW,MAAM,YAAY,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,qBAAqB,CAAC;CAClC,CAAC;AAEF,KAAK,UAAU,GAAG;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC,CAAC;AAEF,KAAK,gBAAgB,CAAC,QAAQ,SAAS,WAAW,IAAI;IAClD,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACrB,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAqBF,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,IAAI;IACnE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC;IAC7D,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAChE,CAAC;AAuFF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,WAAW,EAAE,kDAK9D,gBAAgB,KAAG,YAAY,CAAC,QAAQ,CA4F1C,CAAC"}
|
package/dist/session/cache.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
2
2
|
import { matchesClient, normalizeClient } from "../client/index.js";
|
|
3
3
|
import { createError } from "../errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { isAuthAccount, isNullableString, isRecord } from "./guards.js";
|
|
5
5
|
const signaturePattern = /^[A-Za-z0-9_-]{43}$/;
|
|
6
6
|
const CACHE_CONTEXT = "auth/session-cache";
|
|
7
7
|
const MIN_SECRET_BYTES = 32;
|
|
@@ -22,16 +22,6 @@ const matchesSignature = ({ body, secret, signature, token }) => {
|
|
|
22
22
|
const received = Buffer.from(signature, "ascii");
|
|
23
23
|
return expected.byteLength === received.byteLength && timingSafeEqual(expected, received);
|
|
24
24
|
};
|
|
25
|
-
const isStoredAccount = (value) => {
|
|
26
|
-
return (isRecord(value) &&
|
|
27
|
-
typeof value.email === "string" &&
|
|
28
|
-
typeof value.id === "string" &&
|
|
29
|
-
typeof value.name === "string" &&
|
|
30
|
-
typeof value.role === "string" &&
|
|
31
|
-
typeof value.status === "string" &&
|
|
32
|
-
isNullableString(value.timezone) &&
|
|
33
|
-
isAuthUser(value.usr));
|
|
34
|
-
};
|
|
35
25
|
const isStoredSession = (value) => {
|
|
36
26
|
return (isRecord(value) &&
|
|
37
27
|
isRecord(value.client) &&
|
|
@@ -48,7 +38,7 @@ const isStoredSession = (value) => {
|
|
|
48
38
|
};
|
|
49
39
|
const isCachePayload = (value) => {
|
|
50
40
|
return (isRecord(value) &&
|
|
51
|
-
|
|
41
|
+
isAuthAccount(value.acc) &&
|
|
52
42
|
typeof value.exp === "number" &&
|
|
53
43
|
Number.isSafeInteger(value.exp) &&
|
|
54
44
|
isStoredSession(value.ses));
|
|
@@ -62,24 +52,6 @@ const parsePayload = (body) => {
|
|
|
62
52
|
return null;
|
|
63
53
|
}
|
|
64
54
|
};
|
|
65
|
-
const toAccount = (stored) => ({
|
|
66
|
-
email: stored.email,
|
|
67
|
-
id: stored.id,
|
|
68
|
-
name: stored.name,
|
|
69
|
-
role: stored.role,
|
|
70
|
-
status: stored.status,
|
|
71
|
-
timezone: stored.timezone,
|
|
72
|
-
user: stored.usr,
|
|
73
|
-
});
|
|
74
|
-
const toStoredAccount = (account) => ({
|
|
75
|
-
email: account.email,
|
|
76
|
-
id: account.id,
|
|
77
|
-
name: account.name,
|
|
78
|
-
role: account.role,
|
|
79
|
-
status: account.status,
|
|
80
|
-
timezone: account.timezone,
|
|
81
|
-
usr: account.user,
|
|
82
|
-
});
|
|
83
55
|
const toSession = ({ account_id, stored }) => ({
|
|
84
56
|
account_id,
|
|
85
57
|
client: stored.client,
|
|
@@ -113,7 +85,7 @@ export const createSessionCache = ({ config, now = () => new Date(), secret, ses
|
|
|
113
85
|
const max_expires_at = resolved.session.created_at.getTime() + sessionConfig.maxLifetime * 1000;
|
|
114
86
|
const expires_at = new Date(Math.min(now().getTime() + config.ttl * 1000, resolved.session.expires_at.getTime(), max_expires_at));
|
|
115
87
|
const payload = {
|
|
116
|
-
acc:
|
|
88
|
+
acc: resolved.account,
|
|
117
89
|
exp: expires_at.getTime(),
|
|
118
90
|
ses: toStoredSession(resolved.session),
|
|
119
91
|
};
|
|
@@ -137,7 +109,7 @@ export const createSessionCache = ({ config, now = () => new Date(), secret, ses
|
|
|
137
109
|
return null;
|
|
138
110
|
}
|
|
139
111
|
const current = now().getTime();
|
|
140
|
-
const account =
|
|
112
|
+
const account = payload.acc;
|
|
141
113
|
const resolvedSession = toSession({
|
|
142
114
|
account_id: account.id,
|
|
143
115
|
stored: payload.ses,
|
|
@@ -159,7 +131,6 @@ export const createSessionCache = ({ config, now = () => new Date(), secret, ses
|
|
|
159
131
|
return {
|
|
160
132
|
account,
|
|
161
133
|
session: resolvedSession,
|
|
162
|
-
user: account.user,
|
|
163
134
|
};
|
|
164
135
|
},
|
|
165
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/session/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,eAAe,EAA2B,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/session/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/session/guards.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AuthAccount,
|
|
1
|
+
import type { AuthAccount, AuthValue } from "./types.js";
|
|
2
2
|
export declare const isRecord: (value: unknown) => value is Record<string, unknown>;
|
|
3
3
|
export declare const isNullableString: (value: unknown) => value is string | null;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const isAuthValue: (value: unknown) => value is AuthValue;
|
|
5
5
|
export declare const isAuthAccount: (value: unknown) => value is AuthAccount;
|
|
6
6
|
//# sourceMappingURL=guards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/session/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/session/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAExE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAM,GAAG,IAEnE,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAerD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAIvD,CAAC"}
|
package/dist/session/guards.js
CHANGED
|
@@ -4,20 +4,19 @@ export const isRecord = (value) => {
|
|
|
4
4
|
export const isNullableString = (value) => {
|
|
5
5
|
return typeof value === "string" || value === null;
|
|
6
6
|
};
|
|
7
|
-
export const
|
|
8
|
-
|
|
9
|
-
typeof value
|
|
10
|
-
typeof value
|
|
11
|
-
typeof value
|
|
7
|
+
export const isAuthValue = (value) => {
|
|
8
|
+
if (value === null ||
|
|
9
|
+
typeof value === "boolean" ||
|
|
10
|
+
typeof value === "number" ||
|
|
11
|
+
typeof value === "string") {
|
|
12
|
+
return typeof value !== "number" || Number.isFinite(value);
|
|
13
|
+
}
|
|
14
|
+
if (Array.isArray(value)) {
|
|
15
|
+
return value.every(isAuthValue);
|
|
16
|
+
}
|
|
17
|
+
return isRecord(value) && Object.values(value).every(isAuthValue);
|
|
12
18
|
};
|
|
13
19
|
export const isAuthAccount = (value) => {
|
|
14
|
-
return (isRecord(value) &&
|
|
15
|
-
typeof value.email === "string" &&
|
|
16
|
-
typeof value.id === "string" &&
|
|
17
|
-
typeof value.name === "string" &&
|
|
18
|
-
typeof value.role === "string" &&
|
|
19
|
-
typeof value.status === "string" &&
|
|
20
|
-
isNullableString(value.timezone) &&
|
|
21
|
-
isAuthUser(value.user));
|
|
20
|
+
return (isRecord(value) && typeof value.id === "string" && Object.values(value).every(isAuthValue));
|
|
22
21
|
};
|
|
23
22
|
//# sourceMappingURL=guards.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/session/guards.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA0B,EAAE;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/session/guards.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA0B,EAAE;IACvE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE;IAC9D,IACI,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ,EAC3B,CAAC;QACC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IAClE,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAC7F,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ResolvedSessionConfig } from "../config.js";
|
|
2
|
-
import type { DbAdapter, SessionService } from "./types.js";
|
|
3
|
-
type SessionDeps = {
|
|
2
|
+
import type { AuthAccount, DbAdapter, SessionService } from "./types.js";
|
|
3
|
+
type SessionDeps<TAccount extends AuthAccount> = {
|
|
4
4
|
config: ResolvedSessionConfig;
|
|
5
|
-
db: DbAdapter
|
|
5
|
+
db: DbAdapter<TAccount>;
|
|
6
6
|
now?: () => Date;
|
|
7
7
|
};
|
|
8
|
-
export declare const createSessionService: ({ config, db, now, }: SessionDeps) => SessionService
|
|
8
|
+
export declare const createSessionService: <TAccount extends AuthAccount>({ config, db, now, }: SessionDeps<TAccount>) => SessionService<TAccount>;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/session/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/session/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAER,WAAW,EAEX,SAAS,EAIT,cAAc,EACjB,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,CAAC,QAAQ,SAAS,WAAW,IAAI;IAC7C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAwBF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,SAAS,WAAW,EAAE,sBAIhE,WAAW,CAAC,QAAQ,CAAC,KAAG,cAAc,CAAC,QAAQ,CAoSjD,CAAC"}
|
package/dist/session/service.js
CHANGED
|
@@ -155,7 +155,6 @@ export const createSessionService = ({ config, db, now = () => new Date(), }) =>
|
|
|
155
155
|
account: stored.account,
|
|
156
156
|
session: toSession(row),
|
|
157
157
|
token,
|
|
158
|
-
user: stored.account.user,
|
|
159
158
|
};
|
|
160
159
|
},
|
|
161
160
|
resolve: async (input) => {
|
|
@@ -166,7 +165,6 @@ export const createSessionService = ({ config, db, now = () => new Date(), }) =>
|
|
|
166
165
|
return {
|
|
167
166
|
account: validated.row.account,
|
|
168
167
|
session: toSession(validated.row),
|
|
169
|
-
user: validated.row.account.user,
|
|
170
168
|
};
|
|
171
169
|
},
|
|
172
170
|
renew: async (input) => {
|
|
@@ -180,7 +178,6 @@ export const createSessionService = ({ config, db, now = () => new Date(), }) =>
|
|
|
180
178
|
account: row.account,
|
|
181
179
|
renewed: false,
|
|
182
180
|
session: toSession(row),
|
|
183
|
-
user: row.account.user,
|
|
184
181
|
};
|
|
185
182
|
}
|
|
186
183
|
const expires_at = new Date(Math.min(current.getTime() + config.ttl * 1000, getMaxExpiresAt(row.created_at).getTime()));
|
|
@@ -197,7 +194,6 @@ export const createSessionService = ({ config, db, now = () => new Date(), }) =>
|
|
|
197
194
|
expires_at,
|
|
198
195
|
updated_at: current,
|
|
199
196
|
}),
|
|
200
|
-
user: row.account.user,
|
|
201
197
|
};
|
|
202
198
|
},
|
|
203
199
|
revokeToken: async (token) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/session/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/session/service.ts"],"names":[],"mappings":"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"}
|