@gauts/auth 0.8.2 → 0.9.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 (75) hide show
  1. package/README.md +292 -66
  2. package/dist/adapters/drizzle/config.d.ts +11 -0
  3. package/dist/adapters/drizzle/config.d.ts.map +1 -0
  4. package/dist/adapters/drizzle/config.js +147 -0
  5. package/dist/adapters/drizzle/config.js.map +1 -0
  6. package/dist/adapters/drizzle/index.d.ts +4 -0
  7. package/dist/adapters/drizzle/index.d.ts.map +1 -0
  8. package/dist/adapters/drizzle/index.js +156 -0
  9. package/dist/adapters/drizzle/index.js.map +1 -0
  10. package/dist/adapters/drizzle/model.d.ts +21 -0
  11. package/dist/adapters/drizzle/model.d.ts.map +1 -0
  12. package/dist/adapters/drizzle/model.js +61 -0
  13. package/dist/adapters/drizzle/model.js.map +1 -0
  14. package/dist/adapters/drizzle/schema.d.ts +311 -0
  15. package/dist/adapters/drizzle/schema.d.ts.map +1 -0
  16. package/dist/adapters/drizzle/schema.js +37 -0
  17. package/dist/adapters/drizzle/schema.js.map +1 -0
  18. package/dist/adapters/drizzle/types.d.ts +109 -0
  19. package/dist/adapters/drizzle/types.d.ts.map +1 -0
  20. package/dist/adapters/drizzle/types.js +2 -0
  21. package/dist/adapters/drizzle/types.js.map +1 -0
  22. package/dist/adapters/express/index.d.ts +83 -0
  23. package/dist/adapters/express/index.d.ts.map +1 -0
  24. package/dist/adapters/express/index.js +72 -0
  25. package/dist/adapters/express/index.js.map +1 -0
  26. package/dist/adapters/express/social.d.ts +29 -0
  27. package/dist/adapters/express/social.d.ts.map +1 -0
  28. package/dist/adapters/express/social.js +44 -0
  29. package/dist/adapters/express/social.js.map +1 -0
  30. package/dist/adapters/fastify/index.d.ts +85 -0
  31. package/dist/adapters/fastify/index.d.ts.map +1 -0
  32. package/dist/adapters/fastify/index.js +100 -0
  33. package/dist/adapters/fastify/index.js.map +1 -0
  34. package/dist/adapters/fastify/social.d.ts +27 -0
  35. package/dist/adapters/fastify/social.d.ts.map +1 -0
  36. package/dist/adapters/fastify/social.js +48 -0
  37. package/dist/adapters/fastify/social.js.map +1 -0
  38. package/dist/adapters/hono/index.d.ts +4 -11
  39. package/dist/adapters/hono/index.d.ts.map +1 -1
  40. package/dist/adapters/hono/index.js +31 -223
  41. package/dist/adapters/hono/index.js.map +1 -1
  42. package/dist/adapters/hono/social.d.ts +4 -10
  43. package/dist/adapters/hono/social.d.ts.map +1 -1
  44. package/dist/adapters/hono/social.js +25 -221
  45. package/dist/adapters/hono/social.js.map +1 -1
  46. package/dist/adapters/model.d.ts +33 -0
  47. package/dist/adapters/model.d.ts.map +1 -0
  48. package/dist/adapters/model.js +87 -0
  49. package/dist/adapters/model.js.map +1 -0
  50. package/dist/adapters/prisma/config.d.ts.map +1 -1
  51. package/dist/adapters/prisma/config.js +1 -4
  52. package/dist/adapters/prisma/config.js.map +1 -1
  53. package/dist/adapters/prisma/model.d.ts +7 -8
  54. package/dist/adapters/prisma/model.d.ts.map +1 -1
  55. package/dist/adapters/prisma/model.js +11 -79
  56. package/dist/adapters/prisma/model.js.map +1 -1
  57. package/dist/adapters/utils/cookie.d.ts +17 -0
  58. package/dist/adapters/utils/cookie.d.ts.map +1 -0
  59. package/dist/adapters/utils/cookie.js +59 -0
  60. package/dist/adapters/utils/cookie.js.map +1 -0
  61. package/dist/adapters/utils/session.d.ts +4 -0
  62. package/dist/adapters/utils/session.d.ts.map +1 -0
  63. package/dist/adapters/utils/session.js +216 -0
  64. package/dist/adapters/utils/session.js.map +1 -0
  65. package/dist/adapters/utils/social.d.ts +51 -0
  66. package/dist/adapters/utils/social.d.ts.map +1 -0
  67. package/dist/adapters/utils/social.js +278 -0
  68. package/dist/adapters/utils/social.js.map +1 -0
  69. package/dist/adapters/utils/types.d.ts +67 -0
  70. package/dist/adapters/utils/types.d.ts.map +1 -0
  71. package/dist/adapters/utils/types.js +2 -0
  72. package/dist/adapters/utils/types.js.map +1 -0
  73. package/package.json +40 -3
  74. package/src/adapters/drizzle/schema.ts +47 -0
  75. package/src/adapters/prisma/schema.prisma +38 -0
@@ -0,0 +1,33 @@
1
+ import type { AuthAccount, AuthScalar, SessionRecord } from "../session/types.js";
2
+ export declare const PRIVATE_FIELDS: readonly ["hash", "password", "password_hash", "passwordHash"];
3
+ export type AdapterAccessValue = AuthScalar | readonly AuthScalar[];
4
+ export type AdapterDataModel = {
5
+ access: Record<string, AdapterAccessValue>;
6
+ select: readonly string[];
7
+ source: string;
8
+ };
9
+ type ReadAccountInput = {
10
+ account: unknown;
11
+ accounts: AdapterDataModel;
12
+ adapter: string;
13
+ user: unknown;
14
+ users: AdapterDataModel;
15
+ };
16
+ type ReadAccountResult = {
17
+ account: AuthAccount;
18
+ allowed: boolean;
19
+ };
20
+ type RequireSessionRecordInput = {
21
+ adapter: string;
22
+ value: unknown;
23
+ };
24
+ type RequireSessionRecordsInput = {
25
+ adapter: string;
26
+ value: unknown;
27
+ };
28
+ export declare const isPrivateField: (value: string) => boolean;
29
+ export declare const readAdapterAccount: ({ account, accounts, adapter, user, users, }: ReadAccountInput) => ReadAccountResult;
30
+ export declare const requireSessionRecord: ({ adapter, value, }: RequireSessionRecordInput) => SessionRecord;
31
+ export declare const requireSessionRecords: ({ adapter, value, }: RequireSessionRecordsInput) => SessionRecord[];
32
+ export {};
33
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/adapters/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,WAAW,EAEX,UAAU,EAEV,aAAa,EAChB,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,cAAc,gEAAiE,CAAC;AAE7F,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAQF,KAAK,gBAAgB,GAAG;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAOF,KAAK,yBAAyB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAsDF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,OAE9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,8CAMhC,gBAAgB,KAAG,iBAyBrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,qBAGlC,yBAAyB,KAAG,aAiB9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,qBAGnC,0BAA0B,KAAG,aAAa,EAM5C,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { isAuthValue, isNullableString, isRecord } from "../session/guards.js";
2
+ export const PRIVATE_FIELDS = ["hash", "password", "password_hash", "passwordHash"];
3
+ const isNullableDate = (value) => {
4
+ return value instanceof Date || value === null;
5
+ };
6
+ const isSessionRecord = (value) => {
7
+ return (isRecord(value) &&
8
+ typeof value.account_id === "string" &&
9
+ isNullableString(value.agent) &&
10
+ value.created_at instanceof Date &&
11
+ value.expires_at instanceof Date &&
12
+ typeof value.id === "string" &&
13
+ isNullableString(value.ip) &&
14
+ isNullableString(value.platform) &&
15
+ isNullableDate(value.revoked_at) &&
16
+ typeof value.token_hash === "string" &&
17
+ isNullableDate(value.updated_at));
18
+ };
19
+ const matchesAccess = ({ access, value }) => {
20
+ return Object.entries(access).every(([field, expected]) => {
21
+ const current = value[field];
22
+ return Array.isArray(expected)
23
+ ? expected.some((allowed) => Object.is(allowed, current))
24
+ : Object.is(expected, current);
25
+ });
26
+ };
27
+ const readData = ({ adapter, model, value }) => {
28
+ if (!isRecord(value)) {
29
+ throw new Error(`${adapter} model ${model.source} returned invalid data.`);
30
+ }
31
+ const data = {};
32
+ for (const field of model.select) {
33
+ const fieldValue = value[field];
34
+ if (!isAuthValue(fieldValue) || isRecord(fieldValue) || Array.isArray(fieldValue)) {
35
+ throw new Error(`${adapter} field ${model.source}.${field} returned invalid payload data.`);
36
+ }
37
+ data[field] = fieldValue;
38
+ }
39
+ return data;
40
+ };
41
+ export const isPrivateField = (value) => {
42
+ return PRIVATE_FIELDS.some((field) => field === value);
43
+ };
44
+ export const readAdapterAccount = ({ account, accounts, adapter, user, users, }) => {
45
+ if (!isRecord(account) || !isRecord(user)) {
46
+ throw new Error(`${adapter} account relation returned invalid data.`);
47
+ }
48
+ const data = {
49
+ ...readData({ adapter, model: accounts, value: account }),
50
+ user: readData({ adapter, model: users, value: user }),
51
+ };
52
+ if (typeof data.id !== "string" ||
53
+ typeof data.email !== "string" ||
54
+ typeof data.user.id !== "string" ||
55
+ typeof data.user.name !== "string") {
56
+ throw new Error(`${adapter} account relation returned invalid data.`);
57
+ }
58
+ return {
59
+ account: data,
60
+ allowed: matchesAccess({ access: accounts.access, value: account }) &&
61
+ matchesAccess({ access: users.access, value: user }),
62
+ };
63
+ };
64
+ export const requireSessionRecord = ({ adapter, value, }) => {
65
+ if (!isSessionRecord(value)) {
66
+ throw new Error(`${adapter} session table returned invalid data.`);
67
+ }
68
+ return {
69
+ account_id: value.account_id,
70
+ agent: value.agent,
71
+ created_at: value.created_at,
72
+ expires_at: value.expires_at,
73
+ id: value.id,
74
+ ip: value.ip,
75
+ platform: value.platform,
76
+ revoked_at: value.revoked_at,
77
+ token_hash: value.token_hash,
78
+ updated_at: value.updated_at,
79
+ };
80
+ };
81
+ export const requireSessionRecords = ({ adapter, value, }) => {
82
+ if (!Array.isArray(value)) {
83
+ throw new Error(`${adapter} session table returned invalid data.`);
84
+ }
85
+ return value.map((row) => requireSessionRecord({ adapter, value: row }));
86
+ };
87
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/adapters/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAER,cAAc,EAEd,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAsCpB,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,cAU1D,CAAC;AAgJF,eAAO,MAAM,mBAAmB,GAAI,oBAGjC;IACC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAClB,KAAG,oBAsCH,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAER,cAAc,EAEd,oBAAoB,EACvB,MAAM,YAAY,CAAC;AAiCpB,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,cAU1D,CAAC;AAgJF,eAAO,MAAM,mBAAmB,GAAI,oBAGjC;IACC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAClB,KAAG,oBAsCH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { createError } from "../../errors.js";
2
2
  import { isRecord } from "../../session/guards.js";
3
+ import { isPrivateField } from "../model.js";
3
4
  const PRISMA_DEFAULTS = {
4
5
  accounts: {
5
6
  select: ["id", "email"],
@@ -15,10 +16,6 @@ const PRISMA_DEFAULTS = {
15
16
  select: ["id", "name"],
16
17
  table: "users",
17
18
  },
18
- privateFields: ["hash", "password", "password_hash", "passwordHash"],
19
- };
20
- const isPrivateField = (value) => {
21
- return PRISMA_DEFAULTS.privateFields.some((field) => field === value);
22
19
  };
23
20
  export const isPrismaDelegate = (value) => {
24
21
  return (isRecord(value) &&
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/adapters/prisma/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQ7C,MAAM,eAAe,GAAG;IACpB,QAAQ,EAAE;QACN,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,eAAe;KACzB;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,kBAAkB;KAC5B;IACD,OAAO,EAAE;QACL,KAAK,EAAE,iBAAiB;KAC3B;IACD,KAAK,EAAE;QACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,OAAO;KACjB;CACK,CAAC;AAgBX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAA2B,EAAE;IACxE,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU;QACrC,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU;QACpC,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU;QACtC,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,CACzC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAuB,EAAE;IACzD,OAAO,CACH,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACxD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAoC,EAAU,EAAE;IAC/E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,oCAAoC;SACvD,CAAC,CAAC;IACP,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAqC,EAAQ,EAAE;IACnF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,gBAAgB,KAAK,cAAc;SAC/C,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAsB,EAAqB,EAAE;IAC5F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,IACI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;QACpC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,EAC3E,CAAC;QACC,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,oDAAoD;SACvE,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAI,KAAkB,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAA8B,EAAE;IACjE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAoC,EAAE,EAAE;IACxE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IACI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAC7D,CAAC;QACC,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,wCAAwC;SAC3D,CAAC,CAAC;IACP,CAAC;IAED,OAAO,KAA0C,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EACtB,MAAM,EACN,aAAa,EACb,YAAY,EACZ,KAAK,EACL,IAAI,GACgB,EAA2B,EAAE;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,kCAAkC;SACrD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,KAAK,GACP,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5F,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnC,OAAO;QACH,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACpE,KAAK;KACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,EACvB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,IAAI,GACuC,EAAU,EAAE;IACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,GAAG,IAAI,kCAAkC;SACrD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,MAAM,KAAK,GACP,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5F,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,EAC/B,MAAM,EACN,YAAY,EACZ,KAAK,EACL,IAAI,GACuC,EAAiB,EAAE;IAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAChC,MAAM,EACN,KAAK,GAIR,EAAwB,EAAE;IACvB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,yCAAyC;SACrD,CAAC,CAAC;IACP,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5C,OAAO;QACH,QAAQ,EAAE,gBAAgB,CAAC;YACvB,MAAM;YACN,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM;YAC9C,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK;YAC5C,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QACF,QAAQ,EAAE,iBAAiB,CAAC;YACxB,MAAM;YACN,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK;YAC5C,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,IAAI,EAAE,iBAAiB;SAC1B,CAAC;QACF,OAAO,EAAE,yBAAyB,CAAC;YAC/B,MAAM;YACN,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK;YAC3C,KAAK,EAAE,MAAM,CAAC,OAAO;YACrB,IAAI,EAAE,gBAAgB;SACzB,CAAC;QACF,KAAK,EAAE,gBAAgB,CAAC;YACpB,MAAM;YACN,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM;YAC3C,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK;YACzC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,cAAc;SACvB,CAAC;KACL,CAAC;AACN,CAAC,CAAC"}
@@ -1,9 +1,5 @@
1
- import type { AuthAccount, AuthSessionRecord, SessionRecord } from "../../session/types.js";
1
+ import type { AuthSessionRecord } from "../../session/types.js";
2
2
  import type { ResolvedPrismaDataModel } from "./types.js";
3
- type ReadAccountResult = {
4
- account: AuthAccount;
5
- allowed: boolean;
6
- };
7
3
  type ReadAccountInput = {
8
4
  accounts: ResolvedPrismaDataModel;
9
5
  users: ResolvedPrismaDataModel;
@@ -58,9 +54,12 @@ export declare const createAuthSelect: ({ accounts, users }: CreateAuthSelectInp
58
54
  token_hash: true;
59
55
  updated_at: true;
60
56
  };
61
- export declare const readAccount: ({ accounts, users, value }: ReadAccountInput) => ReadAccountResult;
62
- export declare const requireRow: (value: unknown) => SessionRecord;
63
- export declare const requireRows: (value: unknown) => SessionRecord[];
57
+ export declare const readAccount: ({ accounts, users, value }: ReadAccountInput) => {
58
+ account: import("./types.js").AuthAccount;
59
+ allowed: boolean;
60
+ };
61
+ export declare const requireRow: (value: unknown) => import("../../session/types.js").SessionRecord;
62
+ export declare const requireRows: (value: unknown) => import("../../session/types.js").SessionRecord[];
64
63
  export declare const requireAuthRow: ({ accounts, users, value, }: RequireAuthRowInput) => AuthSessionRecord;
65
64
  export {};
66
65
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,WAAW,EAEX,iBAAiB,EAEjB,aAAa,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAqB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,iBAAiB,GAAG;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAOF,KAAK,gBAAgB,GAAG;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAOF,KAAK,wBAAwB,GAAG;IAC5B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC;AA4BX,eAAO,MAAM,mBAAmB,GAAI,qBAAqB,wBAAwB;;;;CAK/E,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,qBAAqB;;;;;;;;;;;;;;;;;;CAKzE,CAAC;AA+BH,eAAO,MAAM,WAAW,GAAI,4BAA4B,gBAAgB,KAAG,iBA2B1E,CAAC;AAEF,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,6BAI5B,mBAAmB,KAAG,iBAcxB,CAAC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,KAAK,gBAAgB,GAAG;IACpB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC5B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWhB,CAAC;AAQX,eAAO,MAAM,mBAAmB,GAAI,qBAAqB,wBAAwB;;;;CAK/E,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,qBAAqB;;;;;;;;;;;;;;;;;;CAKzE,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,4BAA4B,gBAAgB;;;CAYvE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,mDAAuD,CAAC;AAEjG,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,qDAAwD,CAAC;AAEnG,eAAO,MAAM,cAAc,GAAI,6BAI5B,mBAAmB,KAAG,iBAcxB,CAAC"}
@@ -1,4 +1,5 @@
1
- import { isAuthValue, isNullableString, isRecord } from "../../session/guards.js";
1
+ import { isRecord } from "../../session/guards.js";
2
+ import { readAdapterAccount, requireSessionRecord, requireSessionRecords } from "../model.js";
2
3
  export const sessionSelect = {
3
4
  account_id: true,
4
5
  agent: true,
@@ -11,22 +12,6 @@ export const sessionSelect = {
11
12
  token_hash: true,
12
13
  updated_at: true,
13
14
  };
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
15
  const createModelSelect = (model) => {
31
16
  return Object.fromEntries([...new Set([...model.select, ...Object.keys(model.access)])].map((field) => [field, true]));
32
17
  };
@@ -42,73 +27,20 @@ export const createAuthSelect = ({ accounts, users }) => ({
42
27
  select: createAccountSelect({ accounts, users }),
43
28
  },
44
29
  });
45
- const matchesAccess = ({ access, value }) => {
46
- return Object.entries(access).every(([field, expected]) => {
47
- const current = value[field];
48
- return Array.isArray(expected)
49
- ? expected.some((allowed) => Object.is(allowed, current))
50
- : Object.is(expected, current);
51
- });
52
- };
53
- const readData = ({ model, value }) => {
54
- if (!isRecord(value)) {
55
- throw new Error(`Prisma model ${model.table} returned invalid data.`);
56
- }
57
- const data = {};
58
- for (const field of model.select) {
59
- const fieldValue = value[field];
60
- if (!isAuthValue(fieldValue) || isRecord(fieldValue) || Array.isArray(fieldValue)) {
61
- throw new Error(`Prisma field ${model.table}.${field} returned invalid payload data.`);
62
- }
63
- data[field] = fieldValue;
64
- }
65
- return data;
66
- };
67
30
  export const readAccount = ({ accounts, users, value }) => {
68
31
  if (!isRecord(value)) {
69
32
  throw new Error("Prisma account relation returned invalid data.");
70
33
  }
71
- const userValue = value.user;
72
- const account = {
73
- ...readData({ model: accounts, value }),
74
- user: readData({ model: users, value: userValue }),
75
- };
76
- if (typeof account.id !== "string" ||
77
- typeof account.email !== "string" ||
78
- typeof account.user.id !== "string" ||
79
- typeof account.user.name !== "string") {
80
- throw new Error("Prisma account relation returned invalid data.");
81
- }
82
- return {
83
- account: account,
84
- allowed: matchesAccess({ access: accounts.access, value }) &&
85
- isRecord(userValue) &&
86
- matchesAccess({ access: users.access, value: userValue }),
87
- };
88
- };
89
- export const requireRow = (value) => {
90
- if (!isSessionRecord(value)) {
91
- throw new Error("Prisma session table returned invalid data.");
92
- }
93
- return {
94
- account_id: value.account_id,
95
- agent: value.agent,
96
- created_at: value.created_at,
97
- expires_at: value.expires_at,
98
- id: value.id,
99
- ip: value.ip,
100
- platform: value.platform,
101
- revoked_at: value.revoked_at,
102
- token_hash: value.token_hash,
103
- updated_at: value.updated_at,
104
- };
105
- };
106
- export const requireRows = (value) => {
107
- if (!Array.isArray(value)) {
108
- throw new Error("Prisma session table returned invalid data.");
109
- }
110
- return value.map(requireRow);
34
+ return readAdapterAccount({
35
+ account: value,
36
+ accounts: { ...accounts, source: accounts.table },
37
+ adapter: "Prisma",
38
+ user: value.user,
39
+ users: { ...users, source: users.table },
40
+ });
111
41
  };
42
+ export const requireRow = (value) => requireSessionRecord({ adapter: "Prisma", value });
43
+ export const requireRows = (value) => requireSessionRecords({ adapter: "Prisma", value });
112
44
  export const requireAuthRow = ({ accounts, users, value, }) => {
113
45
  const row = requireRow(value);
114
46
  if (!isRecord(value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/adapters/prisma/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { HttpCookieConfig, HttpCookieOptions, ResolvedHttpCookie } from "./types.js";
2
+ type CookieHeaderInput = {
3
+ expires?: Date;
4
+ maxAge?: number;
5
+ name: string;
6
+ options: HttpCookieOptions;
7
+ value: string;
8
+ };
9
+ type GetCookieValueInput = {
10
+ header?: string;
11
+ name: string;
12
+ };
13
+ export declare const getCookieValue: ({ header, name }: GetCookieValueInput) => string | undefined;
14
+ export declare const createCookieHeader: ({ expires, maxAge, name, options, value, }: CookieHeaderInput) => string;
15
+ export declare const resolveHttpCookie: (config?: HttpCookieConfig) => ResolvedHttpCookie;
16
+ export {};
17
+ //# sourceMappingURL=cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/cookie.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1F,KAAK,iBAAiB,GAAG;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,kBAAkB,mBAAmB,KAAG,MAAM,GAAG,SAE/E,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,4CAMhC,iBAAiB,KAAG,MAStB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAQ,gBAAqB,KAAG,kBA8CjE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { parseCookie, stringifySetCookie } from "cookie";
2
+ import { createError } from "../../errors.js";
3
+ import { resolveSessionCookieNames } from "../../session/cookie.js";
4
+ export const getCookieValue = ({ header, name }) => {
5
+ return header ? parseCookie(header)[name] : undefined;
6
+ };
7
+ export const createCookieHeader = ({ expires, maxAge, name, options, value, }) => {
8
+ return stringifySetCookie({
9
+ ...options,
10
+ ...(expires === undefined ? {} : { expires }),
11
+ ...(maxAge === undefined ? {} : { maxAge }),
12
+ name,
13
+ sameSite: options.sameSite.toLowerCase(),
14
+ value,
15
+ });
16
+ };
17
+ export const resolveHttpCookie = (config = {}) => {
18
+ const names = resolveSessionCookieNames(config);
19
+ const path = config.path ?? "/";
20
+ const sameSite = config.sameSite ?? "Lax";
21
+ const secure = config.secure ?? true;
22
+ if (!path.startsWith("/")) {
23
+ throw createError({
24
+ code: "AUTH_CONFIG_INVALID",
25
+ message: "Session cookie path must start with /.",
26
+ });
27
+ }
28
+ for (const name of Object.values(names)) {
29
+ if (name.startsWith("__Host-") && (!secure || path !== "/" || config.domain)) {
30
+ throw createError({
31
+ code: "AUTH_CONFIG_INVALID",
32
+ message: "__Host- cookies require secure=true, path=/, and no domain.",
33
+ });
34
+ }
35
+ if (name.startsWith("__Secure-") && !secure) {
36
+ throw createError({
37
+ code: "AUTH_CONFIG_INVALID",
38
+ message: "__Secure- cookies require secure=true.",
39
+ });
40
+ }
41
+ }
42
+ if (sameSite === "None" && !secure) {
43
+ throw createError({
44
+ code: "AUTH_CONFIG_INVALID",
45
+ message: "SameSite=None cookies require secure=true.",
46
+ });
47
+ }
48
+ return {
49
+ names,
50
+ options: {
51
+ ...(config.domain ? { domain: config.domain } : {}),
52
+ httpOnly: true,
53
+ path,
54
+ sameSite,
55
+ secure,
56
+ },
57
+ };
58
+ };
59
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/adapters/utils/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAgBpE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAuB,EAAsB,EAAE;IACxF,OAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAC/B,OAAO,EACP,MAAM,EACN,IAAI,EACJ,OAAO,EACP,KAAK,GACW,EAAU,EAAE;IAC5B,OAAO,kBAAkB,CAAC;QACtB,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,IAAI;QACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAA+B;QACrE,KAAK;KACR,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAA2B,EAAE,EAAsB,EAAE;IACnF,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IAErC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,wCAAwC;SACpD,CAAC,CAAC;IACP,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,6DAA6D;aACzE,CAAC,CAAC;QACP,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,WAAW,CAAC;gBACd,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,wCAAwC;aACpD,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,WAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,4CAA4C;SACxD,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,KAAK;QACL,OAAO,EAAE;YACL,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,QAAQ,EAAE,IAAI;YACd,IAAI;YACJ,QAAQ;YACR,MAAM;SACT;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AuthAccount } from "../../session/types.js";
2
+ import type { HttpSessionAdapter, HttpSessionConfig } from "./types.js";
3
+ export declare const createHttpSession: <TRequest, TResponse, TAccount extends AuthAccount>({ appendSetCookie, auth, cache, cookie, framework, getHeader, getIp, getMethod, secret, }: HttpSessionConfig<TRequest, TResponse, TAccount>) => HttpSessionAdapter<TRequest, TResponse, TAccount>;
4
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/adapters/utils/session.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAoB,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA8B1F,eAAO,MAAM,iBAAiB,GAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,SAAS,WAAW,EAAE,2FAUlF,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAG,kBAAkB,CACpE,QAAQ,EACR,SAAS,EACT,QAAQ,CAuRX,CAAC"}