@gauts/auth 0.5.0 → 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.
Files changed (47) hide show
  1. package/README.md +152 -94
  2. package/SECURITY.md +1 -1
  3. package/dist/adapters/hono/index.d.ts +15 -16
  4. package/dist/adapters/hono/index.d.ts.map +1 -1
  5. package/dist/adapters/hono/index.js +1 -3
  6. package/dist/adapters/hono/index.js.map +1 -1
  7. package/dist/adapters/next/index.d.ts +6 -1
  8. package/dist/adapters/next/index.d.ts.map +1 -1
  9. package/dist/adapters/next/index.js +24 -15
  10. package/dist/adapters/next/index.js.map +1 -1
  11. package/dist/adapters/prisma/config.d.ts +7 -0
  12. package/dist/adapters/prisma/config.d.ts.map +1 -0
  13. package/dist/adapters/prisma/config.js +151 -0
  14. package/dist/adapters/prisma/config.js.map +1 -0
  15. package/dist/adapters/prisma/index.d.ts +3 -48
  16. package/dist/adapters/prisma/index.d.ts.map +1 -1
  17. package/dist/adapters/prisma/index.js +12 -221
  18. package/dist/adapters/prisma/index.js.map +1 -1
  19. package/dist/adapters/prisma/model.d.ts +33 -0
  20. package/dist/adapters/prisma/model.d.ts.map +1 -0
  21. package/dist/adapters/prisma/model.js +110 -0
  22. package/dist/adapters/prisma/model.js.map +1 -0
  23. package/dist/adapters/prisma/types.d.ts +125 -0
  24. package/dist/adapters/prisma/types.d.ts.map +1 -0
  25. package/dist/adapters/prisma/types.js +2 -0
  26. package/dist/adapters/prisma/types.js.map +1 -0
  27. package/dist/auth.d.ts +6 -6
  28. package/dist/auth.d.ts.map +1 -1
  29. package/dist/auth.js +1 -1
  30. package/dist/auth.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/session/cache.d.ts +7 -7
  34. package/dist/session/cache.d.ts.map +1 -1
  35. package/dist/session/cache.js +4 -33
  36. package/dist/session/cache.js.map +1 -1
  37. package/dist/session/guards.d.ts +2 -2
  38. package/dist/session/guards.d.ts.map +1 -1
  39. package/dist/session/guards.js +12 -13
  40. package/dist/session/guards.js.map +1 -1
  41. package/dist/session/service.d.ts +4 -4
  42. package/dist/session/service.d.ts.map +1 -1
  43. package/dist/session/service.js +0 -4
  44. package/dist/session/service.js.map +1 -1
  45. package/dist/session/types.d.ts +20 -25
  46. package/dist/session/types.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAER,iBAAiB,EAEjB,aAAa,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOzE,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC;AAmCX,eAAO,MAAM,gBAAgB,GAAI,SAAS,mBAAmB;;;;;;;;;;;CAK3D,CAAC;AAuDH,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,aAiB3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,aAAa,EAMzD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,qBAG5B;IACC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAClB,KAAG,iBAcH,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { isAuthValue, isNullableString, isRecord } from "../../session/guards.js";
2
+ export const sessionSelect = {
3
+ account_id: true,
4
+ agent: true,
5
+ created_at: true,
6
+ expires_at: true,
7
+ id: true,
8
+ ip: true,
9
+ platform: true,
10
+ revoked_at: true,
11
+ token_hash: true,
12
+ updated_at: true,
13
+ };
14
+ const isNullableDate = (value) => {
15
+ return value instanceof Date || value === null;
16
+ };
17
+ const isSessionRecord = (value) => {
18
+ return (isRecord(value) &&
19
+ typeof value.account_id === "string" &&
20
+ isNullableString(value.agent) &&
21
+ value.created_at instanceof Date &&
22
+ value.expires_at instanceof Date &&
23
+ typeof value.id === "string" &&
24
+ isNullableString(value.ip) &&
25
+ isNullableString(value.platform) &&
26
+ isNullableDate(value.revoked_at) &&
27
+ typeof value.token_hash === "string" &&
28
+ isNullableDate(value.updated_at));
29
+ };
30
+ const createModelSelect = (model) => {
31
+ const fields = new Set([...model.select, ...Object.keys(model.access)]);
32
+ const select = Object.fromEntries([...fields].map((field) => [field, true]));
33
+ for (const relation of Object.values(model.relations)) {
34
+ select[relation.relation] = { select: createModelSelect(relation) };
35
+ }
36
+ return select;
37
+ };
38
+ export const createAuthSelect = (account) => ({
39
+ ...sessionSelect,
40
+ [account.relation]: {
41
+ select: createModelSelect(account),
42
+ },
43
+ });
44
+ const matchesAccess = ({ access, value, }) => {
45
+ return Object.entries(access).every(([field, expected]) => {
46
+ const current = value[field];
47
+ return Array.isArray(expected)
48
+ ? expected.some((allowed) => Object.is(allowed, current))
49
+ : Object.is(expected, current);
50
+ });
51
+ };
52
+ const readModel = ({ model, value, }) => {
53
+ if (!isRecord(value)) {
54
+ throw new Error(`Prisma relation ${model.relation} returned invalid data.`);
55
+ }
56
+ const data = {};
57
+ for (const field of model.select) {
58
+ const fieldValue = value[field];
59
+ if (!isAuthValue(fieldValue) || isRecord(fieldValue) || Array.isArray(fieldValue)) {
60
+ throw new Error(`Prisma field ${model.name}.${field} returned invalid payload data.`);
61
+ }
62
+ data[field] = fieldValue;
63
+ }
64
+ if (typeof data.id !== "string") {
65
+ throw new Error(`Prisma model ${model.name} must return a string id.`);
66
+ }
67
+ let allowed = matchesAccess({ access: model.access, value });
68
+ for (const relation of Object.values(model.relations)) {
69
+ const nested = readModel({ model: relation, value: value[relation.relation] });
70
+ data[relation.relation] = nested.data;
71
+ allowed &&= nested.allowed;
72
+ }
73
+ return { allowed, data: data };
74
+ };
75
+ export const requireRow = (value) => {
76
+ if (!isSessionRecord(value)) {
77
+ throw new Error("Prisma session table returned invalid data.");
78
+ }
79
+ return {
80
+ account_id: value.account_id,
81
+ agent: value.agent,
82
+ created_at: value.created_at,
83
+ expires_at: value.expires_at,
84
+ id: value.id,
85
+ ip: value.ip,
86
+ platform: value.platform,
87
+ revoked_at: value.revoked_at,
88
+ token_hash: value.token_hash,
89
+ updated_at: value.updated_at,
90
+ };
91
+ };
92
+ export const requireRows = (value) => {
93
+ if (!Array.isArray(value)) {
94
+ throw new Error("Prisma session table returned invalid data.");
95
+ }
96
+ return value.map(requireRow);
97
+ };
98
+ export const requireAuthRow = ({ account, value, }) => {
99
+ const row = requireRow(value);
100
+ if (!isRecord(value)) {
101
+ throw new Error("Prisma account relation returned invalid data.");
102
+ }
103
+ const resolved = readModel({ model: account, value: value[account.relation] });
104
+ return {
105
+ ...row,
106
+ account: resolved.data,
107
+ allowed: resolved.allowed,
108
+ };
109
+ };
110
+ //# sourceMappingURL=model.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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
@@ -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;AAEpE,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG;IAChC,EAAE,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACf,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;CAC3B,CAAC;AA0BF,eAAO,MAAM,UAAU,GAAI,2BAA2B,QAAQ,KAAG,IAmBhE,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,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAY,EAAQ,EAAE;IACpE,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"}
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, AuthUser, CreateSessionRecord, CreatedSession, DbAdapter, RenewedSession, ResolvedSession, Session, SessionInput, SessionRecord, SessionService, } from "./session/types.js";
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
@@ -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,iBAAiB,EACjB,QAAQ,EACR,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"}
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"}
@@ -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,EAAyB,eAAe,EAAW,MAAM,YAAY,CAAC;AAElF,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,GAAG;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACrB,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAyBF,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACnD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI,CAAC;CACtD,CAAC;AAwHF,eAAO,MAAM,kBAAkB,GAAI,kDAKhC,gBAAgB,KAAG,YA2FrB,CAAC"}
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"}
@@ -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 { isAuthUser, isNullableString, isRecord } from "./guards.js";
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
- isStoredAccount(value.acc) &&
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: toStoredAccount(resolved.account),
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 = toAccount(payload.acc);
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":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/session/cache.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { AuthAccount, AuthUser } from "./types.js";
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 isAuthUser: (value: unknown) => value is AuthUser;
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,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD,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,UAAU,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,QAOpD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAWvD,CAAC"}
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"}
@@ -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 isAuthUser = (value) => {
8
- return (isRecord(value) &&
9
- typeof value.id === "string" &&
10
- typeof value.role === "string" &&
11
- typeof value.status === "string");
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,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE;IAC5D,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACnC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IAClE,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;AACN,CAAC,CAAC"}
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,EAGR,SAAS,EAIT,cAAc,EACjB,MAAM,YAAY,CAAC;AAEpB,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,qBAAqB,CAAC;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAwBF,eAAO,MAAM,oBAAoB,GAAI,sBAIlC,WAAW,KAAG,cAsShB,CAAC"}
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"}
@@ -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) => {