@payloadcms/db-sqlite 3.58.0-canary.3 → 3.58.0-canary.4
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -16
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -54
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -5
- package/dist/columnToCodeConverter.d.ts +0 -3
- package/dist/columnToCodeConverter.d.ts.map +0 -1
- package/dist/columnToCodeConverter.js +0 -107
- package/dist/columnToCodeConverter.js.map +0 -1
- package/dist/countDistinct.d.ts +0 -3
- package/dist/countDistinct.d.ts.map +0 -1
- package/dist/countDistinct.js +0 -24
- package/dist/countDistinct.js.map +0 -1
- package/dist/createJSONQuery/convertPathToJSONTraversal.d.ts +0 -2
- package/dist/createJSONQuery/convertPathToJSONTraversal.d.ts.map +0 -1
- package/dist/createJSONQuery/convertPathToJSONTraversal.js +0 -12
- package/dist/createJSONQuery/convertPathToJSONTraversal.js.map +0 -1
- package/dist/createJSONQuery/index.d.ts +0 -3
- package/dist/createJSONQuery/index.d.ts.map +0 -1
- package/dist/createJSONQuery/index.js +0 -106
- package/dist/createJSONQuery/index.js.map +0 -1
- package/dist/defaultSnapshot.d.ts +0 -3
- package/dist/defaultSnapshot.d.ts.map +0 -1
- package/dist/defaultSnapshot.js +0 -15
- package/dist/defaultSnapshot.js.map +0 -1
- package/dist/deleteWhere.d.ts +0 -3
- package/dist/deleteWhere.d.ts.map +0 -1
- package/dist/deleteWhere.js +0 -6
- package/dist/deleteWhere.js.map +0 -1
- package/dist/dropDatabase.d.ts +0 -3
- package/dist/dropDatabase.d.ts.map +0 -1
- package/dist/dropDatabase.js +0 -19
- package/dist/dropDatabase.js.map +0 -1
- package/dist/execute.d.ts +0 -3
- package/dist/execute.d.ts.map +0 -1
- package/dist/execute.js +0 -13
- package/dist/execute.js.map +0 -1
- package/dist/init.d.ts +0 -3
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -40
- package/dist/init.js.map +0 -1
- package/dist/insert.d.ts +0 -3
- package/dist/insert.d.ts.map +0 -1
- package/dist/insert.js +0 -8
- package/dist/insert.js.map +0 -1
- package/dist/requireDrizzleKit.d.ts +0 -3
- package/dist/requireDrizzleKit.d.ts.map +0 -1
- package/dist/requireDrizzleKit.js +0 -12
- package/dist/requireDrizzleKit.js.map +0 -1
- package/dist/schema/buildDrizzleTable.d.ts +0 -3
- package/dist/schema/buildDrizzleTable.d.ts.map +0 -1
- package/dist/schema/buildDrizzleTable.js +0 -143
- package/dist/schema/buildDrizzleTable.js.map +0 -1
- package/dist/schema/setColumnID.d.ts +0 -3
- package/dist/schema/setColumnID.d.ts.map +0 -1
- package/dist/schema/setColumnID.js +0 -39
- package/dist/schema/setColumnID.js.map +0 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAW,MAAM,SAAS,CAAA;AA2D1D,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAMrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAwI3E;AAED;;GAEG;AACH,YAAY,EACV,IAAI,IAAI,iBAAiB,EACzB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,OAAO,EACP,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,MAAM,EACN,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { beginTransaction, buildCreateMigration, commitTransaction, count, countGlobalVersions, countVersions, create, createGlobal, createGlobalVersion, createSchemaGenerator, createVersion, deleteMany, deleteOne, deleteVersions, destroy, find, findDistinct, findGlobal, findGlobalVersions, findMigrationDir, findOne, findVersions, migrate, migrateDown, migrateFresh, migrateRefresh, migrateReset, migrateStatus, operatorMap, queryDrafts, rollbackTransaction, updateGlobal, updateGlobalVersion, updateJobs, updateMany, updateOne, updateVersion, upsert } from '@payloadcms/drizzle';
|
|
2
|
+
import { columnToCodeConverter, convertPathToJSONTraversal, countDistinct, createJSONQuery, defaultDrizzleSnapshot, deleteWhere, dropDatabase, execute, init, insert, requireDrizzleKit } from '@payloadcms/drizzle/sqlite';
|
|
2
3
|
import { like, notLike } from 'drizzle-orm';
|
|
3
4
|
import { createDatabaseAdapter, defaultBeginTransaction } from 'payload';
|
|
4
5
|
import { fileURLToPath } from 'url';
|
|
5
|
-
import { columnToCodeConverter } from './columnToCodeConverter.js';
|
|
6
6
|
import { connect } from './connect.js';
|
|
7
|
-
import { countDistinct } from './countDistinct.js';
|
|
8
|
-
import { convertPathToJSONTraversal } from './createJSONQuery/convertPathToJSONTraversal.js';
|
|
9
|
-
import { createJSONQuery } from './createJSONQuery/index.js';
|
|
10
|
-
import { defaultDrizzleSnapshot } from './defaultSnapshot.js';
|
|
11
|
-
import { deleteWhere } from './deleteWhere.js';
|
|
12
|
-
import { dropDatabase } from './dropDatabase.js';
|
|
13
|
-
import { execute } from './execute.js';
|
|
14
|
-
import { init } from './init.js';
|
|
15
|
-
import { insert } from './insert.js';
|
|
16
|
-
import { requireDrizzleKit } from './requireDrizzleKit.js';
|
|
17
7
|
const filename = fileURLToPath(import.meta.url);
|
|
18
8
|
export function sqliteAdapter(args) {
|
|
19
9
|
const sqliteIDType = args.idType || 'number';
|
|
@@ -21,8 +11,8 @@ export function sqliteAdapter(args) {
|
|
|
21
11
|
const allowIDOnCreate = args.allowIDOnCreate ?? false;
|
|
22
12
|
function adapter({ payload }) {
|
|
23
13
|
const migrationDir = findMigrationDir(args.migrationDir);
|
|
24
|
-
let resolveInitializing;
|
|
25
|
-
let rejectInitializing;
|
|
14
|
+
let resolveInitializing = ()=>{};
|
|
15
|
+
let rejectInitializing = ()=>{};
|
|
26
16
|
const initializing = new Promise((res, rej)=>{
|
|
27
17
|
resolveInitializing = res;
|
|
28
18
|
rejectInitializing = rej;
|
|
@@ -112,7 +102,6 @@ export function sqliteAdapter(args) {
|
|
|
112
102
|
find,
|
|
113
103
|
findGlobal,
|
|
114
104
|
findGlobalVersions,
|
|
115
|
-
// @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
|
|
116
105
|
findOne,
|
|
117
106
|
findVersions,
|
|
118
107
|
indexes: new Set(),
|
|
@@ -128,10 +117,8 @@ export function sqliteAdapter(args) {
|
|
|
128
117
|
packageName: '@payloadcms/db-sqlite',
|
|
129
118
|
payload,
|
|
130
119
|
queryDrafts,
|
|
131
|
-
// @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
|
|
132
120
|
rejectInitializing,
|
|
133
121
|
requireDrizzleKit,
|
|
134
|
-
// @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve
|
|
135
122
|
resolveInitializing,
|
|
136
123
|
rollbackTransaction,
|
|
137
124
|
updateGlobal,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Operators } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n buildCreateMigration,\n commitTransaction,\n count,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createSchemaGenerator,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findDistinct,\n findGlobal,\n findGlobalVersions,\n findMigrationDir,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateJobs,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n} from '@payloadcms/drizzle'\nimport { like, notLike } from 'drizzle-orm'\nimport { createDatabaseAdapter, defaultBeginTransaction } from 'payload'\nimport { fileURLToPath } from 'url'\n\nimport type { Args, SQLiteAdapter } from './types.js'\n\nimport { columnToCodeConverter } from './columnToCodeConverter.js'\nimport { connect } from './connect.js'\nimport { countDistinct } from './countDistinct.js'\nimport { convertPathToJSONTraversal } from './createJSONQuery/convertPathToJSONTraversal.js'\nimport { createJSONQuery } from './createJSONQuery/index.js'\nimport { defaultDrizzleSnapshot } from './defaultSnapshot.js'\nimport { deleteWhere } from './deleteWhere.js'\nimport { dropDatabase } from './dropDatabase.js'\nimport { execute } from './execute.js'\nimport { init } from './init.js'\nimport { insert } from './insert.js'\nimport { requireDrizzleKit } from './requireDrizzleKit.js'\n\nconst filename = fileURLToPath(import.meta.url)\n\nexport function sqliteAdapter(args: Args): DatabaseAdapterObj<SQLiteAdapter> {\n const sqliteIDType = args.idType || 'number'\n const payloadIDType = sqliteIDType === 'uuid' ? 'text' : 'number'\n const allowIDOnCreate = args.allowIDOnCreate ?? false\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing\n let rejectInitializing\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n // sqlite's like operator is case-insensitive, so we overwrite the DrizzleAdapter operators to not use ilike\n const operators = {\n ...operatorMap,\n contains: like,\n like,\n not_like: notLike,\n } as unknown as Operators\n\n return createDatabaseAdapter<SQLiteAdapter>({\n name: 'sqlite',\n afterSchemaInit: args.afterSchemaInit ?? [],\n allowIDOnCreate,\n autoIncrement: args.autoIncrement ?? false,\n beforeSchemaInit: args.beforeSchemaInit ?? [],\n blocksAsJSON: args.blocksAsJSON ?? false,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n client: undefined,\n clientConfig: args.client,\n defaultDrizzleSnapshot,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n drizzle: undefined,\n features: {\n json: true,\n },\n fieldConstraints: {},\n findDistinct,\n generateSchema: createSchemaGenerator({\n columnToCodeConverter,\n corePackageSuffix: 'sqlite-core',\n defaultOutputFile: args.generateSchemaOutputFile,\n tableImport: 'sqliteTable',\n }),\n idType: sqliteIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operators,\n prodMigrations: args.prodMigrations,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n push: args.push,\n rawRelations: {},\n rawTables: {},\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n transactionOptions: args.transactionOptions || undefined,\n updateJobs,\n updateMany,\n versionsSuffix: args.versionsSuffix || '_v',\n\n // DatabaseAdapter\n beginTransaction: args.transactionOptions ? beginTransaction : defaultBeginTransaction(),\n commitTransaction,\n connect,\n convertPathToJSONTraversal,\n count,\n countDistinct,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createMigration: buildCreateMigration({\n executeMethod: 'run',\n filename,\n sanitizeStatements({ sqlExecute, statements }) {\n return statements\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n },\n }),\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n findOne,\n findVersions,\n indexes: new Set<string>(),\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n packageName: '@payloadcms/db-sqlite',\n payload,\n queryDrafts,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n rejectInitializing,\n requireDrizzleKit,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n upsert,\n })\n }\n\n return {\n name: 'sqlite',\n allowIDOnCreate,\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n\n/**\n * @todo deprecate /types subpath export in 4.0\n */\nexport type {\n Args as SQLiteAdapterArgs,\n CountDistinct,\n DeleteWhere,\n DropDatabase,\n Execute,\n GeneratedDatabaseSchema,\n GenericColumns,\n GenericRelation,\n GenericTable,\n IDType,\n Insert,\n MigrateDownArgs,\n MigrateUpArgs,\n SQLiteAdapter,\n SQLiteSchemaHook,\n} from './types.js'\n\nexport { sql } from 'drizzle-orm'\n"],"names":["beginTransaction","buildCreateMigration","commitTransaction","count","countGlobalVersions","countVersions","create","createGlobal","createGlobalVersion","createSchemaGenerator","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findDistinct","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateJobs","updateMany","updateOne","updateVersion","upsert","like","notLike","createDatabaseAdapter","defaultBeginTransaction","fileURLToPath","columnToCodeConverter","connect","countDistinct","convertPathToJSONTraversal","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","requireDrizzleKit","filename","url","sqliteAdapter","args","sqliteIDType","idType","payloadIDType","allowIDOnCreate","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","initializing","Promise","res","rej","operators","contains","not_like","name","afterSchemaInit","autoIncrement","beforeSchemaInit","blocksAsJSON","client","undefined","clientConfig","drizzle","features","json","fieldConstraints","generateSchema","corePackageSuffix","defaultOutputFile","generateSchemaOutputFile","tableImport","localesSuffix","logger","prodMigrations","push","rawRelations","rawTables","relations","relationshipsSuffix","schema","schemaName","sessions","tableNameMap","Map","tables","transactionOptions","versionsSuffix","createMigration","executeMethod","sanitizeStatements","sqlExecute","statements","map","statement","replaceAll","join","defaultIDType","indexes","Set","packageName","sql"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Operators } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n buildCreateMigration,\n commitTransaction,\n count,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createSchemaGenerator,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findDistinct,\n findGlobal,\n findGlobalVersions,\n findMigrationDir,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateJobs,\n updateMany,\n updateOne,\n updateVersion,\n upsert,\n} from '@payloadcms/drizzle'\nimport {\n columnToCodeConverter,\n convertPathToJSONTraversal,\n countDistinct,\n createJSONQuery,\n defaultDrizzleSnapshot,\n deleteWhere,\n dropDatabase,\n execute,\n init,\n insert,\n requireDrizzleKit,\n} from '@payloadcms/drizzle/sqlite'\nimport { like, notLike } from 'drizzle-orm'\nimport { createDatabaseAdapter, defaultBeginTransaction } from 'payload'\nimport { fileURLToPath } from 'url'\n\nimport type { Args, SQLiteAdapter } from './types.js'\n\nimport { connect } from './connect.js'\n\nconst filename = fileURLToPath(import.meta.url)\n\nexport function sqliteAdapter(args: Args): DatabaseAdapterObj<SQLiteAdapter> {\n const sqliteIDType = args.idType || 'number'\n const payloadIDType = sqliteIDType === 'uuid' ? 'text' : 'number'\n const allowIDOnCreate = args.allowIDOnCreate ?? false\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing: () => void = () => {}\n let rejectInitializing: () => void = () => {}\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n // sqlite's like operator is case-insensitive, so we overwrite the DrizzleAdapter operators to not use ilike\n const operators = {\n ...operatorMap,\n contains: like,\n like,\n not_like: notLike,\n } as unknown as Operators\n\n return createDatabaseAdapter<SQLiteAdapter>({\n name: 'sqlite',\n afterSchemaInit: args.afterSchemaInit ?? [],\n allowIDOnCreate,\n autoIncrement: args.autoIncrement ?? false,\n beforeSchemaInit: args.beforeSchemaInit ?? [],\n blocksAsJSON: args.blocksAsJSON ?? false,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n client: undefined,\n clientConfig: args.client,\n defaultDrizzleSnapshot,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n drizzle: undefined,\n features: {\n json: true,\n },\n fieldConstraints: {},\n findDistinct,\n generateSchema: createSchemaGenerator({\n columnToCodeConverter,\n corePackageSuffix: 'sqlite-core',\n defaultOutputFile: args.generateSchemaOutputFile,\n tableImport: 'sqliteTable',\n }),\n idType: sqliteIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operators,\n prodMigrations: args.prodMigrations,\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n push: args.push,\n rawRelations: {},\n rawTables: {},\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n // @ts-expect-error - vestiges of when tsconfig was not strict. Feel free to improve\n transactionOptions: args.transactionOptions || undefined,\n updateJobs,\n updateMany,\n versionsSuffix: args.versionsSuffix || '_v',\n // DatabaseAdapter\n beginTransaction: args.transactionOptions ? beginTransaction : defaultBeginTransaction(),\n commitTransaction,\n connect,\n convertPathToJSONTraversal,\n count,\n countDistinct,\n countGlobalVersions,\n countVersions,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createMigration: buildCreateMigration({\n executeMethod: 'run',\n filename,\n sanitizeStatements({ sqlExecute, statements }) {\n return statements\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n },\n }),\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n indexes: new Set<string>(),\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n packageName: '@payloadcms/db-sqlite',\n payload,\n queryDrafts,\n rejectInitializing,\n requireDrizzleKit,\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n upsert,\n })\n }\n\n return {\n name: 'sqlite',\n allowIDOnCreate,\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n\n/**\n * @todo deprecate /types subpath export in 4.0\n */\nexport type {\n Args as SQLiteAdapterArgs,\n CountDistinct,\n DeleteWhere,\n DropDatabase,\n Execute,\n GeneratedDatabaseSchema,\n GenericColumns,\n GenericRelation,\n GenericTable,\n IDType,\n Insert,\n MigrateDownArgs,\n MigrateUpArgs,\n SQLiteAdapter,\n SQLiteSchemaHook,\n} from './types.js'\n\nexport { sql } from 'drizzle-orm'\n"],"names":["beginTransaction","buildCreateMigration","commitTransaction","count","countGlobalVersions","countVersions","create","createGlobal","createGlobalVersion","createSchemaGenerator","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findDistinct","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateJobs","updateMany","updateOne","updateVersion","upsert","columnToCodeConverter","convertPathToJSONTraversal","countDistinct","createJSONQuery","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","init","insert","requireDrizzleKit","like","notLike","createDatabaseAdapter","defaultBeginTransaction","fileURLToPath","connect","filename","url","sqliteAdapter","args","sqliteIDType","idType","payloadIDType","allowIDOnCreate","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","initializing","Promise","res","rej","operators","contains","not_like","name","afterSchemaInit","autoIncrement","beforeSchemaInit","blocksAsJSON","client","undefined","clientConfig","drizzle","features","json","fieldConstraints","generateSchema","corePackageSuffix","defaultOutputFile","generateSchemaOutputFile","tableImport","localesSuffix","logger","prodMigrations","push","rawRelations","rawTables","relations","relationshipsSuffix","schema","schemaName","sessions","tableNameMap","Map","tables","transactionOptions","versionsSuffix","createMigration","executeMethod","sanitizeStatements","sqlExecute","statements","map","statement","replaceAll","join","defaultIDType","indexes","Set","packageName","sql"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Client, Config, ResultSet } from '@libsql/client';
|
|
2
|
-
import type { extendDrizzleTable
|
|
2
|
+
import type { extendDrizzleTable } from '@payloadcms/drizzle';
|
|
3
|
+
import type { BaseSQLiteAdapter, BaseSQLiteArgs } from '@payloadcms/drizzle/sqlite';
|
|
3
4
|
import type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types';
|
|
4
5
|
import type { DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm';
|
|
5
6
|
import type { LibSQLDatabase } from 'drizzle-orm/libsql';
|
|
@@ -46,23 +47,7 @@ export type Args = {
|
|
|
46
47
|
*/
|
|
47
48
|
blocksAsJSON?: boolean;
|
|
48
49
|
client: Config;
|
|
49
|
-
|
|
50
|
-
generateSchemaOutputFile?: string;
|
|
51
|
-
idType?: 'number' | 'uuid';
|
|
52
|
-
localesSuffix?: string;
|
|
53
|
-
logger?: DrizzleConfig['logger'];
|
|
54
|
-
migrationDir?: string;
|
|
55
|
-
prodMigrations?: {
|
|
56
|
-
down: (args: MigrateDownArgs) => Promise<void>;
|
|
57
|
-
name: string;
|
|
58
|
-
up: (args: MigrateUpArgs) => Promise<void>;
|
|
59
|
-
}[];
|
|
60
|
-
push?: boolean;
|
|
61
|
-
relationshipsSuffix?: string;
|
|
62
|
-
schemaName?: string;
|
|
63
|
-
transactionOptions?: false | SQLiteTransactionConfig;
|
|
64
|
-
versionsSuffix?: string;
|
|
65
|
-
};
|
|
50
|
+
} & BaseSQLiteArgs;
|
|
66
51
|
export type GenericColumns = {
|
|
67
52
|
[x: string]: AnySQLiteColumn;
|
|
68
53
|
};
|
|
@@ -109,45 +94,10 @@ type Drizzle = {
|
|
|
109
94
|
$client: Client;
|
|
110
95
|
} & LibSQLDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>;
|
|
111
96
|
export type SQLiteAdapter = {
|
|
112
|
-
afterSchemaInit: SQLiteSchemaHook[];
|
|
113
|
-
autoIncrement: boolean;
|
|
114
|
-
beforeSchemaInit: SQLiteSchemaHook[];
|
|
115
97
|
client: Client;
|
|
116
98
|
clientConfig: Args['client'];
|
|
117
|
-
countDistinct: CountDistinct;
|
|
118
|
-
defaultDrizzleSnapshot: any;
|
|
119
|
-
deleteWhere: DeleteWhere;
|
|
120
99
|
drizzle: Drizzle;
|
|
121
|
-
|
|
122
|
-
execute: Execute<unknown>;
|
|
123
|
-
/**
|
|
124
|
-
* An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name
|
|
125
|
-
* Used for returning properly formed errors from unique fields
|
|
126
|
-
*/
|
|
127
|
-
fieldConstraints: Record<string, Record<string, string>>;
|
|
128
|
-
idType: Args['idType'];
|
|
129
|
-
initializing: Promise<void>;
|
|
130
|
-
insert: Insert;
|
|
131
|
-
localesSuffix?: string;
|
|
132
|
-
logger: DrizzleConfig['logger'];
|
|
133
|
-
operators: Operators;
|
|
134
|
-
prodMigrations?: {
|
|
135
|
-
down: (args: MigrateDownArgs) => Promise<void>;
|
|
136
|
-
name: string;
|
|
137
|
-
up: (args: MigrateUpArgs) => Promise<void>;
|
|
138
|
-
}[];
|
|
139
|
-
push: boolean;
|
|
140
|
-
rejectInitializing: () => void;
|
|
141
|
-
relations: Record<string, GenericRelation>;
|
|
142
|
-
relationshipsSuffix?: string;
|
|
143
|
-
resolveInitializing: () => void;
|
|
144
|
-
schema: Record<string, GenericRelation | GenericTable>;
|
|
145
|
-
schemaName?: Args['schemaName'];
|
|
146
|
-
tableNameMap: Map<string, string>;
|
|
147
|
-
tables: Record<string, GenericTable>;
|
|
148
|
-
transactionOptions: SQLiteTransactionConfig;
|
|
149
|
-
versionsSuffix?: string;
|
|
150
|
-
} & SQLiteDrizzleAdapter;
|
|
100
|
+
} & BaseSQLiteAdapter & SQLiteDrizzleAdapter;
|
|
151
101
|
export type IDType = 'integer' | 'numeric' | 'text';
|
|
152
102
|
export type MigrateUpArgs = {
|
|
153
103
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Client, Config, ResultSet } from '@libsql/client'\nimport type { extendDrizzleTable, Operators } from '@payloadcms/drizzle'\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type {\n AnySQLiteColumn,\n SQLiteColumn,\n SQLiteInsertOnConflictDoUpdateConfig,\n SQLiteTableWithColumns,\n SQLiteTransactionConfig,\n} from 'drizzle-orm/sqlite-core'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { Payload, PayloadRequest } from 'payload'\n\ntype SQLiteSchema = {\n relations: Record<string, GenericRelation>\n tables: Record<string, SQLiteTableWithColumns<any>>\n}\n\ntype SQLiteSchemaHookArgs = {\n extendTable: typeof extendDrizzleTable\n schema: SQLiteSchema\n}\n\nexport type SQLiteSchemaHook = (args: SQLiteSchemaHookArgs) => Promise<SQLiteSchema> | SQLiteSchema\n\nexport type Args = {\n /**\n * Transform the schema after it's built.\n * You can use it to customize the schema with features that aren't supported by Payload.\n * Examples may include: composite indices, generated columns, vectors\n */\n afterSchemaInit?: SQLiteSchemaHook[]\n /**\n * Enable this flag if you want to thread your own ID to create operation data, for example:\n * ```ts\n * // doc created with id 1\n * const doc = await payload.create({ collection: 'posts', data: {id: 1, title: \"my title\"}})\n * ```\n */\n allowIDOnCreate?: boolean\n /**\n * Enable [AUTOINCREMENT](https://www.sqlite.org/autoinc.html) for Primary Keys.\n * This ensures that the same ID cannot be reused from previously deleted rows.\n */\n autoIncrement?: boolean\n /**\n * Transform the schema before it's built.\n * You can use it to preserve an existing database schema and if there are any collissions Payload will override them.\n * To generate Drizzle schema from the database, see [Drizzle Kit introspection](https://orm.drizzle.team/kit-docs/commands#introspect--pull)\n */\n beforeSchemaInit?: SQLiteSchemaHook[]\n /**\n * Store blocks as JSON column instead of storing them in relational structure.\n */\n blocksAsJSON?: boolean\n client: Config\n
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Client, Config, ResultSet } from '@libsql/client'\nimport type { extendDrizzleTable, Operators } from '@payloadcms/drizzle'\nimport type { BaseSQLiteAdapter, BaseSQLiteArgs } from '@payloadcms/drizzle/sqlite'\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type {\n AnySQLiteColumn,\n SQLiteColumn,\n SQLiteInsertOnConflictDoUpdateConfig,\n SQLiteTableWithColumns,\n SQLiteTransactionConfig,\n} from 'drizzle-orm/sqlite-core'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { Payload, PayloadRequest } from 'payload'\n\ntype SQLiteSchema = {\n relations: Record<string, GenericRelation>\n tables: Record<string, SQLiteTableWithColumns<any>>\n}\n\ntype SQLiteSchemaHookArgs = {\n extendTable: typeof extendDrizzleTable\n schema: SQLiteSchema\n}\n\nexport type SQLiteSchemaHook = (args: SQLiteSchemaHookArgs) => Promise<SQLiteSchema> | SQLiteSchema\n\nexport type Args = {\n /**\n * Transform the schema after it's built.\n * You can use it to customize the schema with features that aren't supported by Payload.\n * Examples may include: composite indices, generated columns, vectors\n */\n afterSchemaInit?: SQLiteSchemaHook[]\n /**\n * Enable this flag if you want to thread your own ID to create operation data, for example:\n * ```ts\n * // doc created with id 1\n * const doc = await payload.create({ collection: 'posts', data: {id: 1, title: \"my title\"}})\n * ```\n */\n allowIDOnCreate?: boolean\n /**\n * Enable [AUTOINCREMENT](https://www.sqlite.org/autoinc.html) for Primary Keys.\n * This ensures that the same ID cannot be reused from previously deleted rows.\n */\n autoIncrement?: boolean\n /**\n * Transform the schema before it's built.\n * You can use it to preserve an existing database schema and if there are any collissions Payload will override them.\n * To generate Drizzle schema from the database, see [Drizzle Kit introspection](https://orm.drizzle.team/kit-docs/commands#introspect--pull)\n */\n beforeSchemaInit?: SQLiteSchemaHook[]\n /**\n * Store blocks as JSON column instead of storing them in relational structure.\n */\n blocksAsJSON?: boolean\n client: Config\n} & BaseSQLiteArgs\n\nexport type GenericColumns = {\n [x: string]: AnySQLiteColumn\n}\n\nexport type GenericTable = SQLiteTableWithColumns<{\n columns: GenericColumns\n dialect: string\n name: string\n schema: string\n}>\n\nexport type GenericRelation = Relations<string, Record<string, Relation<string>>>\n\nexport type CountDistinct = (args: {\n column?: SQLiteColumn<any>\n db: LibSQLDatabase\n joins: BuildQueryJoinAliases\n tableName: string\n where: SQL\n}) => Promise<number>\n\nexport type DeleteWhere = (args: {\n db: LibSQLDatabase\n tableName: string\n where: SQL\n}) => Promise<void>\n\nexport type DropDatabase = (args: { adapter: SQLiteAdapter }) => Promise<void>\n\nexport type Execute<T> = (args: {\n db?: LibSQLDatabase\n drizzle?: LibSQLDatabase\n raw?: string\n sql?: SQL<unknown>\n}) => SQLiteRaw<Promise<T>> | SQLiteRaw<ResultSet>\n\nexport type Insert = (args: {\n db: LibSQLDatabase\n onConflictDoUpdate?: SQLiteInsertOnConflictDoUpdateConfig<any>\n tableName: string\n values: Record<string, unknown> | Record<string, unknown>[]\n}) => Promise<Record<string, unknown>[]>\n\n// Explicitly omit drizzle property for complete override in SQLiteAdapter, required in ts 5.5\ntype SQLiteDrizzleAdapter = Omit<\n DrizzleAdapter,\n | 'countDistinct'\n | 'deleteWhere'\n | 'drizzle'\n | 'dropDatabase'\n | 'execute'\n | 'idType'\n | 'insert'\n | 'operators'\n | 'relations'\n>\n\nexport interface GeneratedDatabaseSchema {\n schemaUntyped: Record<string, unknown>\n}\n\ntype ResolveSchemaType<T> = 'schema' extends keyof T\n ? T['schema']\n : GeneratedDatabaseSchema['schemaUntyped']\n\ntype Drizzle = { $client: Client } & LibSQLDatabase<ResolveSchemaType<GeneratedDatabaseSchema>>\n\nexport type SQLiteAdapter = {\n client: Client\n clientConfig: Args['client']\n drizzle: Drizzle\n} & BaseSQLiteAdapter &\n SQLiteDrizzleAdapter\n\nexport type IDType = 'integer' | 'numeric' | 'text'\n\nexport type MigrateUpArgs = {\n /**\n * The SQLite Drizzle instance that you can use to execute SQL directly within the current transaction.\n * @example\n * ```ts\n * import { type MigrateUpArgs, sql } from '@payloadcms/db-sqlite'\n *\n * export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {\n * const { rows: posts } = await db.run(sql`SELECT * FROM posts`)\n * }\n * ```\n */\n db: Drizzle\n /**\n * The Payload instance that you can use to execute Local API methods\n * To use the current transaction you must pass `req` to arguments\n * @example\n * ```ts\n * import { type MigrateUpArgs } from '@payloadcms/db-sqlite'\n *\n * export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {\n * const posts = await payload.find({ collection: 'posts', req })\n * }\n * ```\n */\n payload: Payload\n /**\n * The `PayloadRequest` object that contains the current transaction\n */\n req: PayloadRequest\n}\nexport type MigrateDownArgs = {\n /**\n * The SQLite Drizzle instance that you can use to execute SQL directly within the current transaction.\n * @example\n * ```ts\n * import { type MigrateDownArgs, sql } from '@payloadcms/db-sqlite'\n *\n * export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {\n * const { rows: posts } = await db.run(sql`SELECT * FROM posts`)\n * }\n * ```\n */\n db: Drizzle\n /**\n * The Payload instance that you can use to execute Local API methods\n * To use the current transaction you must pass `req` to arguments\n * @example\n * ```ts\n * import { type MigrateDownArgs } from '@payloadcms/db-sqlite'\n *\n * export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {\n * const posts = await payload.find({ collection: 'posts', req })\n * }\n * ```\n */\n payload: Payload\n /**\n * The `PayloadRequest` object that contains the current transaction\n */\n req: PayloadRequest\n}\n\ndeclare module 'payload' {\n export interface DatabaseAdapter\n extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>,\n DrizzleAdapter {\n beginTransaction: (options?: SQLiteTransactionConfig) => Promise<null | number | string>\n drizzle: Drizzle\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n prodMigrations?: {\n down: (args: MigrateDownArgs) => Promise<void>\n name: string\n up: (args: MigrateUpArgs) => Promise<void>\n }[]\n push: boolean\n rejectInitializing: () => void\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, GenericRelation | GenericTable>\n tableNameMap: Map<string, string>\n transactionOptions: SQLiteTransactionConfig\n versionsSuffix?: string\n }\n}\n"],"names":[],"mappings":"AAwKA,WA8BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/db-sqlite",
|
|
3
|
-
"version": "3.58.0-canary.
|
|
3
|
+
"version": "3.58.0-canary.4",
|
|
4
4
|
"description": "The officially supported SQLite database adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -70,17 +70,17 @@
|
|
|
70
70
|
"prompts": "2.4.2",
|
|
71
71
|
"to-snake-case": "1.0.0",
|
|
72
72
|
"uuid": "9.0.0",
|
|
73
|
-
"@payloadcms/drizzle": "3.58.0-canary.
|
|
73
|
+
"@payloadcms/drizzle": "3.58.0-canary.4"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@types/pg": "8.10.2",
|
|
77
77
|
"@types/to-snake-case": "1.0.0",
|
|
78
78
|
"@types/uuid": "10.0.0",
|
|
79
|
-
"
|
|
80
|
-
"
|
|
79
|
+
"@payloadcms/eslint-config": "3.28.0",
|
|
80
|
+
"payload": "3.58.0-canary.4"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
|
-
"payload": "3.58.0-canary.
|
|
83
|
+
"payload": "3.58.0-canary.4"
|
|
84
84
|
},
|
|
85
85
|
"scripts": {
|
|
86
86
|
"build": "pnpm build:swc && pnpm build:types",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"columnToCodeConverter.d.ts","sourceRoot":"","sources":["../src/columnToCodeConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAEtE,eAAO,MAAM,qBAAqB,EAAE,qBAoInC,CAAA"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
export const columnToCodeConverter = ({ adapter, addImport, column, locales, tableKey })=>{
|
|
2
|
-
let columnBuilderFn = column.type;
|
|
3
|
-
const columnBuilderArgsArray = [];
|
|
4
|
-
let defaultStatement = null;
|
|
5
|
-
switch(column.type){
|
|
6
|
-
case 'boolean':
|
|
7
|
-
{
|
|
8
|
-
columnBuilderFn = 'integer';
|
|
9
|
-
columnBuilderArgsArray.push("mode: 'boolean'");
|
|
10
|
-
break;
|
|
11
|
-
}
|
|
12
|
-
case 'enum':
|
|
13
|
-
{
|
|
14
|
-
let options;
|
|
15
|
-
if ('locale' in column) {
|
|
16
|
-
if (!locales?.length) {
|
|
17
|
-
throw new Error('Locales must be defined for locale columns');
|
|
18
|
-
}
|
|
19
|
-
options = locales;
|
|
20
|
-
} else {
|
|
21
|
-
options = column.options;
|
|
22
|
-
}
|
|
23
|
-
columnBuilderFn = 'text';
|
|
24
|
-
columnBuilderArgsArray.push(`enum: [${options.map((locale)=>`'${locale}'`).join(', ')}]`);
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
case 'geometry':
|
|
28
|
-
case 'jsonb':
|
|
29
|
-
{
|
|
30
|
-
columnBuilderFn = 'text';
|
|
31
|
-
columnBuilderArgsArray.push("mode: 'json'");
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
case 'serial':
|
|
35
|
-
{
|
|
36
|
-
columnBuilderFn = 'integer';
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
case 'timestamp':
|
|
40
|
-
{
|
|
41
|
-
columnBuilderFn = 'text';
|
|
42
|
-
defaultStatement = `default(sql\`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))\`)`;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
case 'uuid':
|
|
46
|
-
{
|
|
47
|
-
columnBuilderFn = 'text';
|
|
48
|
-
if (column.defaultRandom) {
|
|
49
|
-
addImport('crypto', 'randomUUID');
|
|
50
|
-
defaultStatement = `$defaultFn(() => randomUUID())`;
|
|
51
|
-
}
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
case 'varchar':
|
|
55
|
-
{
|
|
56
|
-
columnBuilderFn = 'text';
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
default:
|
|
60
|
-
{
|
|
61
|
-
columnBuilderFn = column.type;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
addImport(`${adapter.packageName}/drizzle/sqlite-core`, columnBuilderFn);
|
|
65
|
-
let columnBuilderArgs = '';
|
|
66
|
-
if (columnBuilderArgsArray.length) {
|
|
67
|
-
columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`;
|
|
68
|
-
}
|
|
69
|
-
let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`;
|
|
70
|
-
if (column.notNull) {
|
|
71
|
-
code = `${code}.notNull()`;
|
|
72
|
-
}
|
|
73
|
-
if (column.primaryKey) {
|
|
74
|
-
let arg = '';
|
|
75
|
-
if (column.type === 'integer' && column.autoIncrement) {
|
|
76
|
-
arg = `{ autoIncrement: true }`;
|
|
77
|
-
}
|
|
78
|
-
code = `${code}.primaryKey(${arg})`;
|
|
79
|
-
}
|
|
80
|
-
if (defaultStatement) {
|
|
81
|
-
code = `${code}.${defaultStatement}`;
|
|
82
|
-
} else if (typeof column.default !== 'undefined') {
|
|
83
|
-
let sanitizedDefault = column.default;
|
|
84
|
-
if (column.type === 'jsonb' || column.type === 'geometry') {
|
|
85
|
-
sanitizedDefault = `'${JSON.stringify(column.default)}'`;
|
|
86
|
-
} else if (typeof column.default === 'string') {
|
|
87
|
-
sanitizedDefault = JSON.stringify(column.default);
|
|
88
|
-
} else if (column.type === 'numeric') {
|
|
89
|
-
sanitizedDefault = `'${column.default}'`;
|
|
90
|
-
}
|
|
91
|
-
code = `${code}.default(${sanitizedDefault})`;
|
|
92
|
-
}
|
|
93
|
-
if (column.reference) {
|
|
94
|
-
let callback = `()`;
|
|
95
|
-
if (column.reference.table === tableKey) {
|
|
96
|
-
addImport(`${adapter.packageName}/drizzle/sqlite-core`, 'type AnySQLiteColumn');
|
|
97
|
-
callback = `${callback}: AnySQLiteColumn`;
|
|
98
|
-
}
|
|
99
|
-
callback = `${callback} => ${column.reference.table}.${column.reference.name}`;
|
|
100
|
-
code = `${code}.references(${callback}, {
|
|
101
|
-
${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}
|
|
102
|
-
})`;
|
|
103
|
-
}
|
|
104
|
-
return code;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
//# sourceMappingURL=columnToCodeConverter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/columnToCodeConverter.ts"],"sourcesContent":["import type { ColumnToCodeConverter } from '@payloadcms/drizzle/types'\n\nexport const columnToCodeConverter: ColumnToCodeConverter = ({\n adapter,\n addImport,\n column,\n locales,\n tableKey,\n}) => {\n let columnBuilderFn: string = column.type\n\n const columnBuilderArgsArray: string[] = []\n\n let defaultStatement: null | string = null\n\n switch (column.type) {\n case 'boolean': {\n columnBuilderFn = 'integer'\n columnBuilderArgsArray.push(\"mode: 'boolean'\")\n break\n }\n\n case 'enum': {\n let options: string[]\n if ('locale' in column) {\n if (!locales?.length) {\n throw new Error('Locales must be defined for locale columns')\n }\n options = locales\n } else {\n options = column.options\n }\n\n columnBuilderFn = 'text'\n columnBuilderArgsArray.push(`enum: [${options.map((locale) => `'${locale}'`).join(', ')}]`)\n\n break\n }\n\n case 'geometry':\n case 'jsonb': {\n columnBuilderFn = 'text'\n columnBuilderArgsArray.push(\"mode: 'json'\")\n break\n }\n\n case 'serial': {\n columnBuilderFn = 'integer'\n break\n }\n\n case 'timestamp': {\n columnBuilderFn = 'text'\n defaultStatement = `default(sql\\`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))\\`)`\n break\n }\n\n case 'uuid': {\n columnBuilderFn = 'text'\n\n if (column.defaultRandom) {\n addImport('crypto', 'randomUUID')\n defaultStatement = `$defaultFn(() => randomUUID())`\n }\n\n break\n }\n\n case 'varchar': {\n columnBuilderFn = 'text'\n break\n }\n\n default: {\n columnBuilderFn = column.type\n }\n }\n\n addImport(`${adapter.packageName}/drizzle/sqlite-core`, columnBuilderFn)\n\n let columnBuilderArgs = ''\n\n if (columnBuilderArgsArray.length) {\n columnBuilderArgs = `, {${columnBuilderArgsArray.join(',')}}`\n }\n\n let code = `${columnBuilderFn}('${column.name}'${columnBuilderArgs})`\n\n if (column.notNull) {\n code = `${code}.notNull()`\n }\n\n if (column.primaryKey) {\n let arg = ''\n\n if (column.type === 'integer' && column.autoIncrement) {\n arg = `{ autoIncrement: true }`\n }\n\n code = `${code}.primaryKey(${arg})`\n }\n\n if (defaultStatement) {\n code = `${code}.${defaultStatement}`\n } else if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'jsonb' || column.type === 'geometry') {\n sanitizedDefault = `'${JSON.stringify(column.default)}'`\n } else if (typeof column.default === 'string') {\n sanitizedDefault = JSON.stringify(column.default)\n } else if (column.type === 'numeric') {\n sanitizedDefault = `'${column.default}'`\n }\n\n code = `${code}.default(${sanitizedDefault})`\n }\n\n if (column.reference) {\n let callback = `()`\n\n if (column.reference.table === tableKey) {\n addImport(`${adapter.packageName}/drizzle/sqlite-core`, 'type AnySQLiteColumn')\n callback = `${callback}: AnySQLiteColumn`\n }\n\n callback = `${callback} => ${column.reference.table}.${column.reference.name}`\n\n code = `${code}.references(${callback}, {\n ${column.reference.onDelete ? `onDelete: '${column.reference.onDelete}'` : ''}\n })`\n }\n\n return code\n}\n"],"names":["columnToCodeConverter","adapter","addImport","column","locales","tableKey","columnBuilderFn","type","columnBuilderArgsArray","defaultStatement","push","options","length","Error","map","locale","join","defaultRandom","packageName","columnBuilderArgs","code","name","notNull","primaryKey","arg","autoIncrement","default","sanitizedDefault","JSON","stringify","reference","callback","table","onDelete"],"mappings":"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"}
|
package/dist/countDistinct.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"countDistinct.d.ts","sourceRoot":"","sources":["../src/countDistinct.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAA;AAE9D,eAAO,MAAM,aAAa,EAAE,aAoC3B,CAAA"}
|
package/dist/countDistinct.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { count, sql } from 'drizzle-orm';
|
|
2
|
-
export const countDistinct = async function countDistinct({ column, db, joins, tableName, where }) {
|
|
3
|
-
// When we don't have any joins - use a simple COUNT(*) query.
|
|
4
|
-
if (joins.length === 0) {
|
|
5
|
-
const countResult = await db.select({
|
|
6
|
-
count: column ? count(sql`DISTINCT ${column}`) : count()
|
|
7
|
-
}).from(this.tables[tableName]).where(where);
|
|
8
|
-
return Number(countResult?.[0]?.count ?? 0);
|
|
9
|
-
}
|
|
10
|
-
let query = db.select({
|
|
11
|
-
count: sql`COUNT(1) OVER()`
|
|
12
|
-
}).from(this.tables[tableName]).where(where).groupBy(column ?? this.tables[tableName].id).limit(1).$dynamic();
|
|
13
|
-
joins.forEach(({ type, condition, table })=>{
|
|
14
|
-
query = query[type ?? 'leftJoin'](table, condition);
|
|
15
|
-
});
|
|
16
|
-
// When we have any joins, we need to count each individual ID only once.
|
|
17
|
-
// COUNT(*) doesn't work for this well in this case, as it also counts joined tables.
|
|
18
|
-
// SELECT (COUNT DISTINCT id) has a very slow performance on large tables.
|
|
19
|
-
// Instead, COUNT (GROUP BY id) can be used which is still slower than COUNT(*) but acceptable.
|
|
20
|
-
const countResult = await query;
|
|
21
|
-
return Number(countResult?.[0]?.count ?? 0);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=countDistinct.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/countDistinct.ts"],"sourcesContent":["import type { SQLiteSelect } from 'drizzle-orm/sqlite-core'\n\nimport { count, sql } from 'drizzle-orm'\n\nimport type { CountDistinct, SQLiteAdapter } from './types.js'\n\nexport const countDistinct: CountDistinct = async function countDistinct(\n this: SQLiteAdapter,\n { column, db, joins, tableName, where },\n) {\n // When we don't have any joins - use a simple COUNT(*) query.\n if (joins.length === 0) {\n const countResult = await db\n .select({\n count: column ? count(sql`DISTINCT ${column}`) : count(),\n })\n .from(this.tables[tableName])\n .where(where)\n return Number(countResult?.[0]?.count ?? 0)\n }\n\n let query: SQLiteSelect = db\n .select({\n count: sql`COUNT(1) OVER()`,\n })\n .from(this.tables[tableName])\n .where(where)\n .groupBy(column ?? this.tables[tableName].id)\n .limit(1)\n .$dynamic()\n\n joins.forEach(({ type, condition, table }) => {\n query = query[type ?? 'leftJoin'](table, condition)\n })\n\n // When we have any joins, we need to count each individual ID only once.\n // COUNT(*) doesn't work for this well in this case, as it also counts joined tables.\n // SELECT (COUNT DISTINCT id) has a very slow performance on large tables.\n // Instead, COUNT (GROUP BY id) can be used which is still slower than COUNT(*) but acceptable.\n const countResult = await query\n\n return Number(countResult?.[0]?.count ?? 0)\n}\n"],"names":["count","sql","countDistinct","column","db","joins","tableName","where","length","countResult","select","from","tables","Number","query","groupBy","id","limit","$dynamic","forEach","type","condition","table"],"mappings":"AAEA,SAASA,KAAK,EAAEC,GAAG,QAAQ,cAAa;AAIxC,OAAO,MAAMC,gBAA+B,eAAeA,cAEzD,EAAEC,MAAM,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,KAAK,EAAE;IAEvC,8DAA8D;IAC9D,IAAIF,MAAMG,MAAM,KAAK,GAAG;QACtB,MAAMC,cAAc,MAAML,GACvBM,MAAM,CAAC;YACNV,OAAOG,SAASH,MAAMC,GAAG,CAAC,SAAS,EAAEE,OAAO,CAAC,IAAIH;QACnD,GACCW,IAAI,CAAC,IAAI,CAACC,MAAM,CAACN,UAAU,EAC3BC,KAAK,CAACA;QACT,OAAOM,OAAOJ,aAAa,CAAC,EAAE,EAAET,SAAS;IAC3C;IAEA,IAAIc,QAAsBV,GACvBM,MAAM,CAAC;QACNV,OAAOC,GAAG,CAAC,eAAe,CAAC;IAC7B,GACCU,IAAI,CAAC,IAAI,CAACC,MAAM,CAACN,UAAU,EAC3BC,KAAK,CAACA,OACNQ,OAAO,CAACZ,UAAU,IAAI,CAACS,MAAM,CAACN,UAAU,CAACU,EAAE,EAC3CC,KAAK,CAAC,GACNC,QAAQ;IAEXb,MAAMc,OAAO,CAAC,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE;QACvCR,QAAQA,KAAK,CAACM,QAAQ,WAAW,CAACE,OAAOD;IAC3C;IAEA,yEAAyE;IACzE,qFAAqF;IACrF,0EAA0E;IAC1E,+FAA+F;IAC/F,MAAMZ,cAAc,MAAMK;IAE1B,OAAOD,OAAOJ,aAAa,CAAC,EAAE,EAAET,SAAS;AAC3C,EAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"convertPathToJSONTraversal.d.ts","sourceRoot":"","sources":["../../src/createJSONQuery/convertPathToJSONTraversal.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qBAAsB,MAAM,EAAE,KAAG,MAQvE,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export const convertPathToJSONTraversal = (incomingSegments)=>{
|
|
2
|
-
const segments = [
|
|
3
|
-
...incomingSegments
|
|
4
|
-
];
|
|
5
|
-
segments.shift();
|
|
6
|
-
return segments.reduce((res, segment)=>{
|
|
7
|
-
const formattedSegment = Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment;
|
|
8
|
-
return `${res}->>${formattedSegment}`;
|
|
9
|
-
}, '');
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=convertPathToJSONTraversal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/createJSONQuery/convertPathToJSONTraversal.ts"],"sourcesContent":["export const convertPathToJSONTraversal = (incomingSegments: string[]): string => {\n const segments = [...incomingSegments]\n segments.shift()\n\n return segments.reduce((res, segment) => {\n const formattedSegment = Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment\n return `${res}->>${formattedSegment}`\n }, '')\n}\n"],"names":["convertPathToJSONTraversal","incomingSegments","segments","shift","reduce","res","segment","formattedSegment","Number","isNaN","parseInt"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,CAACC;IACzC,MAAMC,WAAW;WAAID;KAAiB;IACtCC,SAASC,KAAK;IAEd,OAAOD,SAASE,MAAM,CAAC,CAACC,KAAKC;QAC3B,MAAMC,mBAAmBC,OAAOC,KAAK,CAACC,SAASJ,YAAY,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,GAAGA;QAC5E,OAAO,GAAGD,IAAI,GAAG,EAAEE,kBAAkB;IACvC,GAAG;AACL,EAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/createJSONQuery/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AA0GpE,eAAO,MAAM,eAAe,iGASzB,mBAAmB,KAAG,MA0BxB,CAAA"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
const fromArray = ({ isRoot, operator, pathSegments, table, treatAsArray, value })=>{
|
|
2
|
-
const newPathSegments = pathSegments.slice(1);
|
|
3
|
-
const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`;
|
|
4
|
-
return `EXISTS (
|
|
5
|
-
SELECT 1
|
|
6
|
-
FROM json_each(${table}.${pathSegments[0]}) AS ${alias}
|
|
7
|
-
WHERE ${createJSONQuery({
|
|
8
|
-
operator,
|
|
9
|
-
pathSegments: newPathSegments,
|
|
10
|
-
table: alias,
|
|
11
|
-
treatAsArray,
|
|
12
|
-
value
|
|
13
|
-
})}
|
|
14
|
-
)`;
|
|
15
|
-
};
|
|
16
|
-
const createConstraint = ({ alias, operator, pathSegments, value })=>{
|
|
17
|
-
const newAlias = `${pathSegments[0]}_alias_${pathSegments.length - 1}`;
|
|
18
|
-
if (operator === 'exists' && value === false) {
|
|
19
|
-
operator = 'not_exists';
|
|
20
|
-
value = true;
|
|
21
|
-
} else if (operator === 'not_exists' && value === false) {
|
|
22
|
-
operator = 'exists';
|
|
23
|
-
value = true;
|
|
24
|
-
}
|
|
25
|
-
if (operator === 'exists') {
|
|
26
|
-
if (pathSegments.length === 1) {
|
|
27
|
-
return `EXISTS (SELECT 1 FROM json_each("${pathSegments[0]}") AS ${newAlias})`;
|
|
28
|
-
}
|
|
29
|
-
return `EXISTS (
|
|
30
|
-
SELECT 1
|
|
31
|
-
FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}
|
|
32
|
-
WHERE ${newAlias}.key = '${pathSegments[1]}'
|
|
33
|
-
)`;
|
|
34
|
-
}
|
|
35
|
-
if (operator === 'not_exists') {
|
|
36
|
-
if (pathSegments.length === 1) {
|
|
37
|
-
return `NOT EXISTS (SELECT 1 FROM json_each("${pathSegments[0]}") AS ${newAlias})`;
|
|
38
|
-
}
|
|
39
|
-
return `NOT EXISTS (
|
|
40
|
-
SELECT 1
|
|
41
|
-
FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}
|
|
42
|
-
WHERE ${newAlias}.key = '${pathSegments[1]}'
|
|
43
|
-
)`;
|
|
44
|
-
}
|
|
45
|
-
let formattedValue = value;
|
|
46
|
-
let formattedOperator = operator;
|
|
47
|
-
if ([
|
|
48
|
-
'contains',
|
|
49
|
-
'like'
|
|
50
|
-
].includes(operator)) {
|
|
51
|
-
formattedOperator = 'like';
|
|
52
|
-
formattedValue = `%${value}%`;
|
|
53
|
-
} else if ([
|
|
54
|
-
'not_like',
|
|
55
|
-
'notlike'
|
|
56
|
-
].includes(operator)) {
|
|
57
|
-
formattedOperator = 'not like';
|
|
58
|
-
formattedValue = `%${value}%`;
|
|
59
|
-
} else if (operator === 'equals') {
|
|
60
|
-
formattedOperator = '=';
|
|
61
|
-
}
|
|
62
|
-
if (pathSegments.length === 1) {
|
|
63
|
-
return `EXISTS (SELECT 1 FROM json_each("${pathSegments[0]}") AS ${newAlias} WHERE ${newAlias}.value ${formattedOperator} '${formattedValue}')`;
|
|
64
|
-
}
|
|
65
|
-
return `EXISTS (
|
|
66
|
-
SELECT 1
|
|
67
|
-
FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}
|
|
68
|
-
WHERE COALESCE(${newAlias}.value ->> '${pathSegments[1]}', '') ${formattedOperator} '${formattedValue}'
|
|
69
|
-
)`;
|
|
70
|
-
};
|
|
71
|
-
export const createJSONQuery = ({ column, operator, pathSegments, rawColumn, table, treatAsArray, treatRootAsArray, value })=>{
|
|
72
|
-
if ((operator === 'in' || operator === 'not_in') && Array.isArray(value)) {
|
|
73
|
-
let sql = '';
|
|
74
|
-
for (const [i, v] of value.entries()){
|
|
75
|
-
sql = `${sql}${createJSONQuery({
|
|
76
|
-
column,
|
|
77
|
-
operator: operator === 'in' ? 'equals' : 'not_equals',
|
|
78
|
-
pathSegments,
|
|
79
|
-
rawColumn,
|
|
80
|
-
table,
|
|
81
|
-
treatAsArray,
|
|
82
|
-
treatRootAsArray,
|
|
83
|
-
value: v
|
|
84
|
-
})} ${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`;
|
|
85
|
-
}
|
|
86
|
-
return sql;
|
|
87
|
-
}
|
|
88
|
-
if (treatAsArray?.includes(pathSegments[1]) && table) {
|
|
89
|
-
return fromArray({
|
|
90
|
-
operator,
|
|
91
|
-
pathSegments,
|
|
92
|
-
table,
|
|
93
|
-
treatAsArray,
|
|
94
|
-
value: value
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
return createConstraint({
|
|
98
|
-
alias: table,
|
|
99
|
-
operator,
|
|
100
|
-
pathSegments,
|
|
101
|
-
treatAsArray,
|
|
102
|
-
value: value
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/createJSONQuery/index.ts"],"sourcesContent":["import type { CreateJSONQueryArgs } from '@payloadcms/drizzle/types'\n\ntype FromArrayArgs = {\n isRoot?: true\n operator: string\n pathSegments: string[]\n table: string\n treatAsArray?: string[]\n value: boolean | number | string\n}\n\nconst fromArray = ({\n isRoot,\n operator,\n pathSegments,\n table,\n treatAsArray,\n value,\n}: FromArrayArgs) => {\n const newPathSegments = pathSegments.slice(1)\n const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`\n\n return `EXISTS (\n SELECT 1\n FROM json_each(${table}.${pathSegments[0]}) AS ${alias}\n WHERE ${createJSONQuery({\n operator,\n pathSegments: newPathSegments,\n table: alias,\n treatAsArray,\n value,\n })}\n )`\n}\n\ntype CreateConstraintArgs = {\n alias?: string\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: boolean | number | string\n}\n\nconst createConstraint = ({\n alias,\n operator,\n pathSegments,\n value,\n}: CreateConstraintArgs): string => {\n const newAlias = `${pathSegments[0]}_alias_${pathSegments.length - 1}`\n\n if (operator === 'exists' && value === false) {\n operator = 'not_exists'\n value = true\n } else if (operator === 'not_exists' && value === false) {\n operator = 'exists'\n value = true\n }\n\n if (operator === 'exists') {\n if (pathSegments.length === 1) {\n return `EXISTS (SELECT 1 FROM json_each(\"${pathSegments[0]}\") AS ${newAlias})`\n }\n\n return `EXISTS (\n SELECT 1\n FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}\n WHERE ${newAlias}.key = '${pathSegments[1]}'\n )`\n }\n\n if (operator === 'not_exists') {\n if (pathSegments.length === 1) {\n return `NOT EXISTS (SELECT 1 FROM json_each(\"${pathSegments[0]}\") AS ${newAlias})`\n }\n\n return `NOT EXISTS (\n SELECT 1\n FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}\n WHERE ${newAlias}.key = '${pathSegments[1]}'\n )`\n }\n\n let formattedValue = value\n let formattedOperator = operator\n if (['contains', 'like'].includes(operator)) {\n formattedOperator = 'like'\n formattedValue = `%${value}%`\n } else if (['not_like', 'notlike'].includes(operator)) {\n formattedOperator = 'not like'\n formattedValue = `%${value}%`\n } else if (operator === 'equals') {\n formattedOperator = '='\n }\n\n if (pathSegments.length === 1) {\n return `EXISTS (SELECT 1 FROM json_each(\"${pathSegments[0]}\") AS ${newAlias} WHERE ${newAlias}.value ${formattedOperator} '${formattedValue}')`\n }\n\n return `EXISTS (\n SELECT 1\n FROM json_each(${alias}.value -> '${pathSegments[0]}') AS ${newAlias}\n WHERE COALESCE(${newAlias}.value ->> '${pathSegments[1]}', '') ${formattedOperator} '${formattedValue}'\n )`\n}\n\nexport const createJSONQuery = ({\n column,\n operator,\n pathSegments,\n rawColumn,\n table,\n treatAsArray,\n treatRootAsArray,\n value,\n}: CreateJSONQueryArgs): string => {\n if ((operator === 'in' || operator === 'not_in') && Array.isArray(value)) {\n let sql = ''\n for (const [i, v] of value.entries()) {\n sql = `${sql}${createJSONQuery({ column, operator: operator === 'in' ? 'equals' : 'not_equals', pathSegments, rawColumn, table, treatAsArray, treatRootAsArray, value: v })} ${i === value.length - 1 ? '' : ` ${operator === 'in' ? 'OR' : 'AND'} `}`\n }\n return sql\n }\n\n if (treatAsArray?.includes(pathSegments[1]!) && table) {\n return fromArray({\n operator,\n pathSegments,\n table,\n treatAsArray,\n value: value as CreateConstraintArgs['value'],\n })\n }\n\n return createConstraint({\n alias: table,\n operator,\n pathSegments,\n treatAsArray,\n value: value as CreateConstraintArgs['value'],\n })\n}\n"],"names":["fromArray","isRoot","operator","pathSegments","table","treatAsArray","value","newPathSegments","slice","alias","length","createJSONQuery","createConstraint","newAlias","formattedValue","formattedOperator","includes","column","rawColumn","treatRootAsArray","Array","isArray","sql","i","v","entries"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../src/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAEhE,eAAO,MAAM,sBAAsB,EAAE,yBAYpC,CAAA"}
|
package/dist/defaultSnapshot.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export const defaultDrizzleSnapshot = {
|
|
2
|
-
id: '00000000-0000-0000-0000-000000000000',
|
|
3
|
-
_meta: {
|
|
4
|
-
columns: {},
|
|
5
|
-
tables: {}
|
|
6
|
-
},
|
|
7
|
-
dialect: 'sqlite',
|
|
8
|
-
enums: {},
|
|
9
|
-
prevId: '00000000-0000-0000-0000-00000000000',
|
|
10
|
-
tables: {},
|
|
11
|
-
version: '6',
|
|
12
|
-
views: {}
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=defaultSnapshot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSQLiteSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n tables: {},\n },\n dialect: 'sqlite',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n tables: {},\n version: '6',\n views: {},\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","tables","dialect","enums","prevId","version","views"],"mappings":"AAEA,OAAO,MAAMA,yBAAoD;IAC/DC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRH,QAAQ,CAAC;IACTI,SAAS;IACTC,OAAO,CAAC;AACV,EAAC"}
|
package/dist/deleteWhere.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deleteWhere.d.ts","sourceRoot":"","sources":["../src/deleteWhere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAE5D,eAAO,MAAM,WAAW,EAAE,WAQzB,CAAA"}
|
package/dist/deleteWhere.js
DELETED
package/dist/deleteWhere.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/deleteWhere.ts"],"sourcesContent":["import type { DeleteWhere, SQLiteAdapter } from './types.js'\n\nexport const deleteWhere: DeleteWhere = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: SQLiteAdapter,\n { db, tableName, where },\n) {\n const table = this.tables[tableName]\n await db.delete(table).where(where)\n}\n"],"names":["deleteWhere","db","tableName","where","table","tables","delete"],"mappings":"AAEA,OAAO,MAAMA,cAA2B,eAItC,EAAEC,EAAE,EAAEC,SAAS,EAAEC,KAAK,EAAE;IAExB,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IACpC,MAAMD,GAAGK,MAAM,CAACF,OAAOD,KAAK,CAACA;AAC/B,EAAC"}
|
package/dist/dropDatabase.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dropDatabase.d.ts","sourceRoot":"","sources":["../src/dropDatabase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,YAAY,CAAA;AAiB7D,eAAO,MAAM,YAAY,EAAE,YAG1B,CAAA"}
|
package/dist/dropDatabase.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const getTables = (adapter)=>{
|
|
2
|
-
return adapter.client.execute(`SELECT name
|
|
3
|
-
FROM sqlite_master
|
|
4
|
-
WHERE type = 'table'
|
|
5
|
-
AND name NOT LIKE 'sqlite_%';`);
|
|
6
|
-
};
|
|
7
|
-
const dropTables = (adapter, rows)=>{
|
|
8
|
-
const multi = `
|
|
9
|
-
PRAGMA foreign_keys = OFF;\n
|
|
10
|
-
${rows.map(({ name })=>`DROP TABLE IF EXISTS ${name}`).join(';\n ')};\n
|
|
11
|
-
PRAGMA foreign_keys = ON;`;
|
|
12
|
-
return adapter.client.executeMultiple(multi);
|
|
13
|
-
};
|
|
14
|
-
export const dropDatabase = async function({ adapter }) {
|
|
15
|
-
const result = await getTables(adapter);
|
|
16
|
-
await dropTables(adapter, result.rows);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=dropDatabase.js.map
|
package/dist/dropDatabase.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dropDatabase.ts"],"sourcesContent":["import type { Row } from '@libsql/client'\n\nimport type { DropDatabase, SQLiteAdapter } from './types.js'\n\nconst getTables = (adapter: SQLiteAdapter) => {\n return adapter.client.execute(`SELECT name\n FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%';`)\n}\n\nconst dropTables = (adapter: SQLiteAdapter, rows: Row[]) => {\n const multi = `\n PRAGMA foreign_keys = OFF;\\n\n ${rows.map(({ name }) => `DROP TABLE IF EXISTS ${name as string}`).join(';\\n ')};\\n\n PRAGMA foreign_keys = ON;`\n return adapter.client.executeMultiple(multi)\n}\n\nexport const dropDatabase: DropDatabase = async function ({ adapter }) {\n const result = await getTables(adapter)\n await dropTables(adapter, result.rows)\n}\n"],"names":["getTables","adapter","client","execute","dropTables","rows","multi","map","name","join","executeMultiple","dropDatabase","result"],"mappings":"AAIA,MAAMA,YAAY,CAACC;IACjB,OAAOA,QAAQC,MAAM,CAACC,OAAO,CAAC,CAAC;;;gEAG+B,CAAC;AACjE;AAEA,MAAMC,aAAa,CAACH,SAAwBI;IAC1C,MAAMC,QAAQ,CAAC;;EAEf,EAAED,KAAKE,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAK,CAAC,qBAAqB,EAAEA,MAAgB,EAAEC,IAAI,CAAC,QAAQ;2BACvD,CAAC;IAC1B,OAAOR,QAAQC,MAAM,CAACQ,eAAe,CAACJ;AACxC;AAEA,OAAO,MAAMK,eAA6B,eAAgB,EAAEV,OAAO,EAAE;IACnE,MAAMW,SAAS,MAAMZ,UAAUC;IAC/B,MAAMG,WAAWH,SAASW,OAAOP,IAAI;AACvC,EAAC"}
|
package/dist/execute.d.ts
DELETED
package/dist/execute.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,GAAG,CAUhC,CAAA"}
|
package/dist/execute.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { sql } from 'drizzle-orm';
|
|
2
|
-
export const execute = function execute({ db, drizzle, raw, sql: statement }) {
|
|
3
|
-
const executeFrom = db ?? drizzle;
|
|
4
|
-
if (raw) {
|
|
5
|
-
const result = executeFrom.run(sql.raw(raw));
|
|
6
|
-
return result;
|
|
7
|
-
} else {
|
|
8
|
-
const result = executeFrom.run(statement);
|
|
9
|
-
return result;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//# sourceMappingURL=execute.js.map
|
package/dist/execute.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/execute.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\n\nimport type { Execute } from './types.js'\n\nexport const execute: Execute<any> = function execute({ db, drizzle, raw, sql: statement }) {\n const executeFrom = (db ?? drizzle)!\n\n if (raw) {\n const result = executeFrom.run(sql.raw(raw))\n return result\n } else {\n const result = executeFrom.run(statement!)\n return result\n }\n}\n"],"names":["sql","execute","db","drizzle","raw","statement","executeFrom","result","run"],"mappings":"AAAA,SAASA,GAAG,QAAQ,cAAa;AAIjC,OAAO,MAAMC,UAAwB,SAASA,QAAQ,EAAEC,EAAE,EAAEC,OAAO,EAAEC,GAAG,EAAEJ,KAAKK,SAAS,EAAE;IACxF,MAAMC,cAAeJ,MAAMC;IAE3B,IAAIC,KAAK;QACP,MAAMG,SAASD,YAAYE,GAAG,CAACR,IAAII,GAAG,CAACA;QACvC,OAAOG;IACT,OAAO;QACL,MAAMA,SAASD,YAAYE,GAAG,CAACH;QAC/B,OAAOE;IACT;AACF,EAAC"}
|
package/dist/init.d.ts
DELETED
package/dist/init.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AASnC,eAAO,MAAM,IAAI,EAAE,IAiClB,CAAA"}
|
package/dist/init.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { buildDrizzleRelations, buildRawSchema, executeSchemaHooks } from '@payloadcms/drizzle';
|
|
2
|
-
import { buildDrizzleTable } from './schema/buildDrizzleTable.js';
|
|
3
|
-
import { setColumnID } from './schema/setColumnID.js';
|
|
4
|
-
export const init = async function init() {
|
|
5
|
-
let locales;
|
|
6
|
-
this.rawRelations = {};
|
|
7
|
-
this.rawTables = {};
|
|
8
|
-
if (this.payload.config.localization) {
|
|
9
|
-
locales = this.payload.config.localization.locales.map(({ code })=>code);
|
|
10
|
-
}
|
|
11
|
-
const adapter = this;
|
|
12
|
-
buildRawSchema({
|
|
13
|
-
adapter,
|
|
14
|
-
setColumnID
|
|
15
|
-
});
|
|
16
|
-
await executeSchemaHooks({
|
|
17
|
-
type: 'beforeSchemaInit',
|
|
18
|
-
adapter: this
|
|
19
|
-
});
|
|
20
|
-
for(const tableName in this.rawTables){
|
|
21
|
-
buildDrizzleTable({
|
|
22
|
-
adapter,
|
|
23
|
-
locales: locales,
|
|
24
|
-
rawTable: this.rawTables[tableName]
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
buildDrizzleRelations({
|
|
28
|
-
adapter
|
|
29
|
-
});
|
|
30
|
-
await executeSchemaHooks({
|
|
31
|
-
type: 'afterSchemaInit',
|
|
32
|
-
adapter: this
|
|
33
|
-
});
|
|
34
|
-
this.schema = {
|
|
35
|
-
...this.tables,
|
|
36
|
-
...this.relations
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/init.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { Init } from 'payload'\n\nimport { buildDrizzleRelations, buildRawSchema, executeSchemaHooks } from '@payloadcms/drizzle'\n\nimport type { SQLiteAdapter } from './types.js'\n\nimport { buildDrizzleTable } from './schema/buildDrizzleTable.js'\nimport { setColumnID } from './schema/setColumnID.js'\n\nexport const init: Init = async function init(this: SQLiteAdapter) {\n let locales: string[] | undefined\n\n this.rawRelations = {}\n this.rawTables = {}\n\n if (this.payload.config.localization) {\n locales = this.payload.config.localization.locales.map(({ code }) => code)\n }\n\n const adapter = this as unknown as DrizzleAdapter\n\n buildRawSchema({\n adapter,\n setColumnID,\n })\n\n await executeSchemaHooks({ type: 'beforeSchemaInit', adapter: this })\n\n for (const tableName in this.rawTables) {\n buildDrizzleTable({ adapter, locales: locales!, rawTable: this.rawTables[tableName]! })\n }\n\n buildDrizzleRelations({\n adapter,\n })\n\n await executeSchemaHooks({ type: 'afterSchemaInit', adapter: this })\n\n this.schema = {\n ...this.tables,\n ...this.relations,\n }\n}\n"],"names":["buildDrizzleRelations","buildRawSchema","executeSchemaHooks","buildDrizzleTable","setColumnID","init","locales","rawRelations","rawTables","payload","config","localization","map","code","adapter","type","tableName","rawTable","schema","tables","relations"],"mappings":"AAGA,SAASA,qBAAqB,EAAEC,cAAc,EAAEC,kBAAkB,QAAQ,sBAAqB;AAI/F,SAASC,iBAAiB,QAAQ,gCAA+B;AACjE,SAASC,WAAW,QAAQ,0BAAyB;AAErD,OAAO,MAAMC,OAAa,eAAeA;IACvC,IAAIC;IAEJ,IAAI,CAACC,YAAY,GAAG,CAAC;IACrB,IAAI,CAACC,SAAS,GAAG,CAAC;IAElB,IAAI,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpCL,UAAU,IAAI,CAACG,OAAO,CAACC,MAAM,CAACC,YAAY,CAACL,OAAO,CAACM,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IACvE;IAEA,MAAMC,UAAU,IAAI;IAEpBb,eAAe;QACba;QACAV;IACF;IAEA,MAAMF,mBAAmB;QAAEa,MAAM;QAAoBD,SAAS,IAAI;IAAC;IAEnE,IAAK,MAAME,aAAa,IAAI,CAACR,SAAS,CAAE;QACtCL,kBAAkB;YAAEW;YAASR,SAASA;YAAUW,UAAU,IAAI,CAACT,SAAS,CAACQ,UAAU;QAAE;IACvF;IAEAhB,sBAAsB;QACpBc;IACF;IAEA,MAAMZ,mBAAmB;QAAEa,MAAM;QAAmBD,SAAS,IAAI;IAAC;IAElE,IAAI,CAACI,MAAM,GAAG;QACZ,GAAG,IAAI,CAACC,MAAM;QACd,GAAG,IAAI,CAACC,SAAS;IACnB;AACF,EAAC"}
|
package/dist/insert.d.ts
DELETED
package/dist/insert.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../src/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAEvD,eAAO,MAAM,MAAM,EAAE,MAcpB,CAAA"}
|
package/dist/insert.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const insert = async function({ db, onConflictDoUpdate, tableName, values }) {
|
|
2
|
-
const table = this.tables[tableName];
|
|
3
|
-
const result = onConflictDoUpdate ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning() : await db.insert(table).values(values).returning();
|
|
4
|
-
// See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908
|
|
5
|
-
return result;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=insert.js.map
|
package/dist/insert.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/insert.ts"],"sourcesContent":["import type { Insert, SQLiteAdapter } from './types.js'\n\nexport const insert: Insert = async function (\n // Here 'this' is not a parameter. See:\n // https://www.typescriptlang.org/docs/handbook/2/classes.html#this-parameters\n this: SQLiteAdapter,\n { db, onConflictDoUpdate, tableName, values },\n): Promise<Record<string, unknown>[]> {\n const table = this.tables[tableName]\n\n const result = onConflictDoUpdate\n ? await db.insert(table).values(values).onConflictDoUpdate(onConflictDoUpdate).returning()\n : await db.insert(table).values(values).returning()\n\n // See https://github.com/payloadcms/payload/pull/11831#discussion_r2010431908\n return result as Record<string, unknown>[]\n}\n"],"names":["insert","db","onConflictDoUpdate","tableName","values","table","tables","result","returning"],"mappings":"AAEA,OAAO,MAAMA,SAAiB,eAI5B,EAAEC,EAAE,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,MAAM,EAAE;IAE7C,MAAMC,QAAQ,IAAI,CAACC,MAAM,CAACH,UAAU;IAEpC,MAAMI,SAASL,qBACX,MAAMD,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQF,kBAAkB,CAACA,oBAAoBM,SAAS,KACtF,MAAMP,GAAGD,MAAM,CAACK,OAAOD,MAAM,CAACA,QAAQI,SAAS;IAEnD,8EAA8E;IAC9E,OAAOD;AACT,EAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requireDrizzleKit.d.ts","sourceRoot":"","sources":["../src/requireDrizzleKit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAMlE,eAAO,MAAM,iBAAiB,EAAE,iBAY/B,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module';
|
|
2
|
-
const require = createRequire(import.meta.url);
|
|
3
|
-
export const requireDrizzleKit = ()=>{
|
|
4
|
-
const { generateSQLiteDrizzleJson, generateSQLiteMigration, pushSQLiteSchema } = require('drizzle-kit/api');
|
|
5
|
-
return {
|
|
6
|
-
generateDrizzleJson: generateSQLiteDrizzleJson,
|
|
7
|
-
generateMigration: generateSQLiteMigration,
|
|
8
|
-
pushSchema: pushSQLiteSchema
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=requireDrizzleKit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/requireDrizzleKit.ts"],"sourcesContent":["import type { RequireDrizzleKit } from '@payloadcms/drizzle/types'\n\nimport { createRequire } from 'module'\n\nconst require = createRequire(import.meta.url)\n\nexport const requireDrizzleKit: RequireDrizzleKit = () => {\n const {\n generateSQLiteDrizzleJson,\n generateSQLiteMigration,\n pushSQLiteSchema,\n } = require('drizzle-kit/api')\n\n return {\n generateDrizzleJson: generateSQLiteDrizzleJson,\n generateMigration: generateSQLiteMigration,\n pushSchema: pushSQLiteSchema,\n }\n}\n"],"names":["createRequire","require","url","requireDrizzleKit","generateSQLiteDrizzleJson","generateSQLiteMigration","pushSQLiteSchema","generateDrizzleJson","generateMigration","pushSchema"],"mappings":"AAEA,SAASA,aAAa,QAAQ,SAAQ;AAEtC,MAAMC,UAAUD,cAAc,YAAYE,GAAG;AAE7C,OAAO,MAAMC,oBAAuC;IAClD,MAAM,EACJC,yBAAyB,EACzBC,uBAAuB,EACvBC,gBAAgB,EACjB,GAAGL,QAAQ;IAEZ,OAAO;QACLM,qBAAqBH;QACrBI,mBAAmBH;QACnBI,YAAYH;IACd;AACF,EAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildDrizzleTable.d.ts","sourceRoot":"","sources":["../../src/schema/buildDrizzleTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,2BAA2B,CAAA;AAqB7E,eAAO,MAAM,iBAAiB,EAAE,iBA8I/B,CAAA"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { sql } from 'drizzle-orm';
|
|
2
|
-
import { foreignKey, index, integer, numeric, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core';
|
|
3
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
-
const rawColumnBuilderMap = {
|
|
5
|
-
integer,
|
|
6
|
-
numeric,
|
|
7
|
-
text
|
|
8
|
-
};
|
|
9
|
-
export const buildDrizzleTable = ({ adapter, locales, rawTable })=>{
|
|
10
|
-
const columns = {};
|
|
11
|
-
for (const [key, column] of Object.entries(rawTable.columns)){
|
|
12
|
-
switch(column.type){
|
|
13
|
-
case 'boolean':
|
|
14
|
-
{
|
|
15
|
-
columns[key] = integer(column.name, {
|
|
16
|
-
mode: 'boolean'
|
|
17
|
-
});
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
case 'enum':
|
|
21
|
-
if ('locale' in column) {
|
|
22
|
-
columns[key] = text(column.name, {
|
|
23
|
-
enum: locales
|
|
24
|
-
});
|
|
25
|
-
} else {
|
|
26
|
-
columns[key] = text(column.name, {
|
|
27
|
-
enum: column.options
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
break;
|
|
31
|
-
case 'geometry':
|
|
32
|
-
case 'jsonb':
|
|
33
|
-
{
|
|
34
|
-
columns[key] = text(column.name, {
|
|
35
|
-
mode: 'json'
|
|
36
|
-
});
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
case 'serial':
|
|
40
|
-
{
|
|
41
|
-
columns[key] = integer(column.name);
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
case 'timestamp':
|
|
45
|
-
{
|
|
46
|
-
let builder = text(column.name);
|
|
47
|
-
if (column.defaultNow) {
|
|
48
|
-
builder = builder.default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`);
|
|
49
|
-
}
|
|
50
|
-
columns[key] = builder;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
case 'uuid':
|
|
54
|
-
{
|
|
55
|
-
let builder = text(column.name, {
|
|
56
|
-
length: 36
|
|
57
|
-
});
|
|
58
|
-
if (column.defaultRandom) {
|
|
59
|
-
builder = builder.$defaultFn(()=>uuidv4());
|
|
60
|
-
}
|
|
61
|
-
columns[key] = builder;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
case 'varchar':
|
|
65
|
-
{
|
|
66
|
-
columns[key] = text(column.name);
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
default:
|
|
70
|
-
columns[key] = rawColumnBuilderMap[column.type](column.name);
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
if (column.reference) {
|
|
74
|
-
const ref = column.reference;
|
|
75
|
-
columns[key].references(()=>adapter.tables[ref.table][ref.name], {
|
|
76
|
-
onDelete: ref.onDelete
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
if (column.primaryKey) {
|
|
80
|
-
let args = undefined;
|
|
81
|
-
if (column.type === 'integer' && column.autoIncrement) {
|
|
82
|
-
args = {
|
|
83
|
-
autoIncrement: true
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
columns[key].primaryKey(args);
|
|
87
|
-
}
|
|
88
|
-
if (column.notNull) {
|
|
89
|
-
columns[key].notNull();
|
|
90
|
-
}
|
|
91
|
-
if (typeof column.default !== 'undefined') {
|
|
92
|
-
let sanitizedDefault = column.default;
|
|
93
|
-
if (column.type === 'geometry' && Array.isArray(column.default)) {
|
|
94
|
-
sanitizedDefault = JSON.stringify({
|
|
95
|
-
type: 'Point',
|
|
96
|
-
coordinates: [
|
|
97
|
-
column.default[0],
|
|
98
|
-
column.default[1]
|
|
99
|
-
]
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
columns[key].default(sanitizedDefault);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const extraConfig = (cols)=>{
|
|
106
|
-
const config = {};
|
|
107
|
-
if (rawTable.indexes) {
|
|
108
|
-
for (const [key, rawIndex] of Object.entries(rawTable.indexes)){
|
|
109
|
-
let fn = index;
|
|
110
|
-
if (rawIndex.unique) {
|
|
111
|
-
fn = uniqueIndex;
|
|
112
|
-
}
|
|
113
|
-
if (Array.isArray(rawIndex.on)) {
|
|
114
|
-
if (rawIndex.on.length) {
|
|
115
|
-
config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName)=>cols[colName]));
|
|
116
|
-
}
|
|
117
|
-
} else {
|
|
118
|
-
config[key] = fn(rawIndex.name).on(cols[rawIndex.on]);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
if (rawTable.foreignKeys) {
|
|
123
|
-
for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)){
|
|
124
|
-
let builder = foreignKey({
|
|
125
|
-
name: rawForeignKey.name,
|
|
126
|
-
columns: rawForeignKey.columns.map((colName)=>cols[colName]),
|
|
127
|
-
foreignColumns: rawForeignKey.foreignColumns.map((column)=>adapter.tables[column.table][column.name])
|
|
128
|
-
});
|
|
129
|
-
if (rawForeignKey.onDelete) {
|
|
130
|
-
builder = builder.onDelete(rawForeignKey.onDelete);
|
|
131
|
-
}
|
|
132
|
-
if (rawForeignKey.onUpdate) {
|
|
133
|
-
builder = builder.onDelete(rawForeignKey.onUpdate);
|
|
134
|
-
}
|
|
135
|
-
config[key] = builder;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return config;
|
|
139
|
-
};
|
|
140
|
-
adapter.tables[rawTable.name] = sqliteTable(rawTable.name, columns, extraConfig);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
//# sourceMappingURL=buildDrizzleTable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/buildDrizzleTable.ts"],"sourcesContent":["import type { BuildDrizzleTable, RawColumn } from '@payloadcms/drizzle/types'\nimport type { ForeignKeyBuilder, IndexBuilder } from 'drizzle-orm/sqlite-core'\n\nimport { sql } from 'drizzle-orm'\nimport {\n foreignKey,\n index,\n integer,\n numeric,\n sqliteTable,\n text,\n uniqueIndex,\n} from 'drizzle-orm/sqlite-core'\nimport { v4 as uuidv4 } from 'uuid'\n\nconst rawColumnBuilderMap: Partial<Record<RawColumn['type'], any>> = {\n integer,\n numeric,\n text,\n}\n\nexport const buildDrizzleTable: BuildDrizzleTable = ({ adapter, locales, rawTable }) => {\n const columns: Record<string, any> = {}\n\n for (const [key, column] of Object.entries(rawTable.columns)) {\n switch (column.type) {\n case 'boolean': {\n columns[key] = integer(column.name, { mode: 'boolean' })\n break\n }\n\n case 'enum':\n if ('locale' in column) {\n columns[key] = text(column.name, { enum: locales as [string, ...string[]] })\n } else {\n columns[key] = text(column.name, { enum: column.options as [string, ...string[]] })\n }\n break\n\n case 'geometry':\n case 'jsonb': {\n columns[key] = text(column.name, { mode: 'json' })\n break\n }\n\n case 'serial': {\n columns[key] = integer(column.name)\n break\n }\n\n case 'timestamp': {\n let builder = text(column.name)\n\n if (column.defaultNow) {\n builder = builder.default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n }\n\n columns[key] = builder\n break\n }\n\n case 'uuid': {\n let builder = text(column.name, { length: 36 })\n\n if (column.defaultRandom) {\n builder = builder.$defaultFn(() => uuidv4())\n }\n\n columns[key] = builder\n break\n }\n\n case 'varchar': {\n columns[key] = text(column.name)\n break\n }\n\n default:\n columns[key] = rawColumnBuilderMap[column.type](column.name)\n break\n }\n\n if (column.reference) {\n const ref = column.reference\n columns[key].references(() => adapter.tables[ref.table][ref.name], {\n onDelete: ref.onDelete,\n })\n }\n\n if (column.primaryKey) {\n let args: Record<string, unknown> | undefined = undefined\n\n if (column.type === 'integer' && column.autoIncrement) {\n args = { autoIncrement: true }\n }\n\n columns[key].primaryKey(args)\n }\n\n if (column.notNull) {\n columns[key].notNull()\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry' && Array.isArray(column.default)) {\n sanitizedDefault = JSON.stringify({\n type: 'Point',\n coordinates: [column.default[0], column.default[1]],\n })\n }\n\n columns[key].default(sanitizedDefault)\n }\n }\n\n const extraConfig = (cols: any) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {}\n\n if (rawTable.indexes) {\n for (const [key, rawIndex] of Object.entries(rawTable.indexes)) {\n let fn: any = index\n if (rawIndex.unique) {\n fn = uniqueIndex\n }\n\n if (Array.isArray(rawIndex.on)) {\n if (rawIndex.on.length) {\n config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName) => cols[colName]))\n }\n } else {\n config[key] = fn(rawIndex.name).on(cols[rawIndex.on])\n }\n }\n }\n\n if (rawTable.foreignKeys) {\n for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)) {\n let builder = foreignKey({\n name: rawForeignKey.name,\n columns: rawForeignKey.columns.map((colName) => cols[colName]) as any,\n foreignColumns: rawForeignKey.foreignColumns.map(\n (column) => adapter.tables[column.table][column.name],\n ),\n })\n\n if (rawForeignKey.onDelete) {\n builder = builder.onDelete(rawForeignKey.onDelete)\n }\n\n if (rawForeignKey.onUpdate) {\n builder = builder.onDelete(rawForeignKey.onUpdate)\n }\n\n config[key] = builder\n }\n }\n\n return config\n }\n\n adapter.tables[rawTable.name] = sqliteTable(rawTable.name, columns as any, extraConfig as any)\n}\n"],"names":["sql","foreignKey","index","integer","numeric","sqliteTable","text","uniqueIndex","v4","uuidv4","rawColumnBuilderMap","buildDrizzleTable","adapter","locales","rawTable","columns","key","column","Object","entries","type","name","mode","enum","options","builder","defaultNow","default","length","defaultRandom","$defaultFn","reference","ref","references","tables","table","onDelete","primaryKey","args","undefined","autoIncrement","notNull","sanitizedDefault","Array","isArray","JSON","stringify","coordinates","extraConfig","cols","config","indexes","rawIndex","fn","unique","on","map","colName","foreignKeys","rawForeignKey","foreignColumns","onUpdate"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setColumnID.d.ts","sourceRoot":"","sources":["../../src/schema/setColumnID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAI5D,eAAO,MAAM,WAAW,EAAE,WAyCzB,CAAA"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export const setColumnID = ({ adapter, columns, fields })=>{
|
|
2
|
-
const idField = fields.find((field)=>field.name === 'id');
|
|
3
|
-
if (idField) {
|
|
4
|
-
if (idField.type === 'number') {
|
|
5
|
-
columns.id = {
|
|
6
|
-
name: 'id',
|
|
7
|
-
type: 'numeric',
|
|
8
|
-
primaryKey: true
|
|
9
|
-
};
|
|
10
|
-
return 'numeric';
|
|
11
|
-
}
|
|
12
|
-
if (idField.type === 'text') {
|
|
13
|
-
columns.id = {
|
|
14
|
-
name: 'id',
|
|
15
|
-
type: 'text',
|
|
16
|
-
primaryKey: true
|
|
17
|
-
};
|
|
18
|
-
return 'text';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
if (adapter.idType === 'uuid') {
|
|
22
|
-
columns.id = {
|
|
23
|
-
name: 'id',
|
|
24
|
-
type: 'uuid',
|
|
25
|
-
defaultRandom: true,
|
|
26
|
-
primaryKey: true
|
|
27
|
-
};
|
|
28
|
-
return 'uuid';
|
|
29
|
-
}
|
|
30
|
-
columns.id = {
|
|
31
|
-
name: 'id',
|
|
32
|
-
type: 'integer',
|
|
33
|
-
autoIncrement: adapter.autoIncrement,
|
|
34
|
-
primaryKey: true
|
|
35
|
-
};
|
|
36
|
-
return 'integer';
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=setColumnID.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/setColumnID.ts"],"sourcesContent":["import type { SetColumnID } from '@payloadcms/drizzle/types'\n\nimport type { SQLiteAdapter } from '../types.js'\n\nexport const setColumnID: SetColumnID = ({ adapter, columns, fields }) => {\n const idField = fields.find((field) => field.name === 'id')\n if (idField) {\n if (idField.type === 'number') {\n columns.id = {\n name: 'id',\n type: 'numeric',\n primaryKey: true,\n }\n return 'numeric'\n }\n\n if (idField.type === 'text') {\n columns.id = {\n name: 'id',\n type: 'text',\n primaryKey: true,\n }\n return 'text'\n }\n }\n\n if (adapter.idType === 'uuid') {\n columns.id = {\n name: 'id',\n type: 'uuid',\n defaultRandom: true,\n primaryKey: true,\n }\n\n return 'uuid'\n }\n\n columns.id = {\n name: 'id',\n type: 'integer',\n autoIncrement: (adapter as unknown as SQLiteAdapter).autoIncrement,\n primaryKey: true,\n }\n\n return 'integer'\n}\n"],"names":["setColumnID","adapter","columns","fields","idField","find","field","name","type","id","primaryKey","idType","defaultRandom","autoIncrement"],"mappings":"AAIA,OAAO,MAAMA,cAA2B,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,EAAE;IACnE,MAAMC,UAAUD,OAAOE,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI,KAAK;IACtD,IAAIH,SAAS;QACX,IAAIA,QAAQI,IAAI,KAAK,UAAU;YAC7BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YACA,OAAO;QACT;QAEA,IAAIN,QAAQI,IAAI,KAAK,QAAQ;YAC3BN,QAAQO,EAAE,GAAG;gBACXF,MAAM;gBACNC,MAAM;gBACNE,YAAY;YACd;YACA,OAAO;QACT;IACF;IAEA,IAAIT,QAAQU,MAAM,KAAK,QAAQ;QAC7BT,QAAQO,EAAE,GAAG;YACXF,MAAM;YACNC,MAAM;YACNI,eAAe;YACfF,YAAY;QACd;QAEA,OAAO;IACT;IAEAR,QAAQO,EAAE,GAAG;QACXF,MAAM;QACNC,MAAM;QACNK,eAAe,AAACZ,QAAqCY,aAAa;QAClEH,YAAY;IACd;IAEA,OAAO;AACT,EAAC"}
|