@fengsoft/auth-db 0.1.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/CHANGELOG.md +7 -0
- package/LICENSE +100 -0
- package/README.md +24 -0
- package/dist/auth-db/src/index.d.ts +2732 -0
- package/dist/auth-db/src/index.d.ts.map +1 -0
- package/dist/auth-db/src/index.js +54 -0
- package/dist/auth-db/src/index.js.map +1 -0
- package/dist/auth-db/src/schema.d.ts +2700 -0
- package/dist/auth-db/src/schema.d.ts.map +1 -0
- package/dist/auth-db/src/schema.js +142 -0
- package/dist/auth-db/src/schema.js.map +1 -0
- package/dist/foundation-db/src/index.d.ts +16 -0
- package/dist/foundation-db/src/index.d.ts.map +1 -0
- package/dist/foundation-db/src/index.js +33 -0
- package/dist/foundation-db/src/index.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGN,KAAK,qBAAqB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EACpC,UAAU,CACV,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IACnC,cAAc,CAAC,EAAE,0BAA0B,GAAG,0BAA0B,EAAE,CAAC;IAC3E,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,gBAAgB,CAAC,EACd,OAAO,GACP,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IAC1C,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAM3E;AAED,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,iBAAiB,kIAEnE;AAED,wBAAgB,oCAAoC,CACnD,OAAO,GAAE,iCAAsC,kIAqC/C;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvC;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { apiKey, } from "@better-auth/api-key";
|
|
2
|
+
import { createDrizzleDatabase, createPgPool, } from "@fengsoft/foundation-db";
|
|
3
|
+
import { getAuthTables } from "better-auth";
|
|
4
|
+
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
|
5
|
+
import { memoryAdapter } from "better-auth/adapters/memory";
|
|
6
|
+
import { organization } from "better-auth/plugins";
|
|
7
|
+
import { authSchema } from "./schema";
|
|
8
|
+
export function buildMemoryAuthTables(options) {
|
|
9
|
+
const tables = getAuthTables(options ?? {});
|
|
10
|
+
return Object.fromEntries(Object.keys(tables).map((tableName) => [tableName, []]));
|
|
11
|
+
}
|
|
12
|
+
export function createMemoryAuthDatabase(options) {
|
|
13
|
+
return memoryAdapter(buildMemoryAuthTables(options));
|
|
14
|
+
}
|
|
15
|
+
export function createFeatureAwareMemoryAuthDatabase(options = {}) {
|
|
16
|
+
const { emailAndPassword = true, organizations = true, apiKeys = false, plugins = [], } = options;
|
|
17
|
+
const organizationPlugins = organizations === false
|
|
18
|
+
? []
|
|
19
|
+
: [
|
|
20
|
+
organization(organizations === true
|
|
21
|
+
? { allowUserToCreateOrganization: true }
|
|
22
|
+
: organizations),
|
|
23
|
+
];
|
|
24
|
+
const apiKeyPlugins = apiKeys === false
|
|
25
|
+
? []
|
|
26
|
+
: [
|
|
27
|
+
apiKey(apiKeys === true ? undefined : apiKeys.configurations, apiKeys === true ? undefined : apiKeys.options),
|
|
28
|
+
];
|
|
29
|
+
return createMemoryAuthDatabase({
|
|
30
|
+
emailAndPassword: emailAndPassword === false
|
|
31
|
+
? undefined
|
|
32
|
+
: emailAndPassword === true
|
|
33
|
+
? { enabled: true }
|
|
34
|
+
: emailAndPassword,
|
|
35
|
+
plugins: [...organizationPlugins, ...apiKeyPlugins, ...plugins],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export function createPostgresAuthDatabase(config, options = {}) {
|
|
39
|
+
const pool = createPgPool(config);
|
|
40
|
+
const db = createDrizzleDatabase(pool, authSchema);
|
|
41
|
+
const adapter = drizzleAdapter(db, {
|
|
42
|
+
provider: "pg",
|
|
43
|
+
schema: authSchema,
|
|
44
|
+
...options,
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
pool,
|
|
48
|
+
db,
|
|
49
|
+
adapter,
|
|
50
|
+
schema: authSchema,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export { authSchema };
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,GACN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,qBAAqB,EACrB,YAAY,GAEZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAiB,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAoBtC,MAAM,UAAU,qBAAqB,CAAC,OAA2B;IAChE,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA2B;IACnE,OAAO,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oCAAoC,CACnD,UAA6C,EAAE;IAE/C,MAAM,EACL,gBAAgB,GAAG,IAAI,EACvB,aAAa,GAAG,IAAI,EACpB,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,EAAE,GACZ,GAAG,OAAO,CAAC;IACZ,MAAM,mBAAmB,GACxB,aAAa,KAAK,KAAK;QACtB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACA,YAAY,CACX,aAAa,KAAK,IAAI;gBACrB,CAAC,CAAC,EAAE,6BAA6B,EAAE,IAAI,EAAE;gBACzC,CAAC,CAAC,aAAa,CAChB;SACD,CAAC;IACL,MAAM,aAAa,GAClB,OAAO,KAAK,KAAK;QAChB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACA,MAAM,CACL,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EACrD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9C;SACD,CAAC;IAEL,OAAO,wBAAwB,CAAC;QAC/B,gBAAgB,EACf,gBAAgB,KAAK,KAAK;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,gBAAgB,KAAK,IAAI;gBAC1B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;gBACnB,CAAC,CAAC,gBAAgB;QACrB,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;KAC/D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,MAA6B,EAC7B,UAAqC,EAAE;IAEvC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE;QAClC,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,UAAU;QAClB,GAAG,OAAO;KACV,CAAC,CAAC;IAEH,OAAO;QACN,IAAI;QACJ,EAAE;QACF,OAAO;QACP,MAAM,EAAE,UAAU;KAClB,CAAC;AACH,CAAC;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
|