diff --git a/.github/workflows/ci-website.yaml b/.github/workflows/ci-website.yaml index f925cb7189..0b6a70a4d5 100644 --- a/.github/workflows/ci-website.yaml +++ b/.github/workflows/ci-website.yaml @@ -17,6 +17,14 @@ concurrency: jobs: website-build: runs-on: ubuntu-latest + services: + postgres: + image: twentycrm/twenty-postgres + env: + POSTGRES_PASSWORD: twenty + POSTGRES_USER: twenty + ports: + - 5432:5432 steps: - uses: actions/checkout@v4 - name: Setup Node.js @@ -25,5 +33,11 @@ jobs: node-version: "18" - name: Website / Install Dependencies run: yarn + - name: Website / Run migrations + run: npx nx database:migrate twenty-website + env: + DATABASE_PG_URL: postgres://twenty:twenty@localhost:5432/default - name: Website / Build Website run: npx nx build twenty-website + env: + DATABASE_PG_URL: postgres://twenty:twenty@localhost:5432/default \ No newline at end of file diff --git a/package.json b/package.json index 6aba58f229..fa285253be 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "@hello-pangea/dnd": "^16.2.0", "@hookform/resolvers": "^3.1.1", "@jsdevtools/rehype-toc": "^3.0.2", - "@libsql/client": "^0.4.3", "@mdx-js/react": "^3.0.0", "@nestjs/apollo": "^11.0.5", "@nestjs/axios": "^3.0.1", diff --git a/packages/twenty-website/.env.example b/packages/twenty-website/.env.example index 9700015e05..e6b2146f41 100644 --- a/packages/twenty-website/.env.example +++ b/packages/twenty-website/.env.example @@ -1,4 +1,3 @@ GITHUB_TOKEN=your_github_token -DATABASE_DRIVER=sqlite # or pg DATABASE_PG_URL=postgres://website:website@localhost:5432/website # only if using postgres diff --git a/packages/twenty-website/package.json b/packages/twenty-website/package.json index 1aa0823373..cbbd3074ad 100644 --- a/packages/twenty-website/package.json +++ b/packages/twenty-website/package.json @@ -10,8 +10,7 @@ "lint": "npx next lint", "github:sync": "npx tsx src/github-sync/github-sync.ts", "database:migrate": "npx tsx src/database/migrate-database.ts", - "database:generate:pg": "npx drizzle-kit generate:pg --config=src/database/postgres/drizzle-posgres.config.ts", - "database:generate:sqlite": "npx drizzle-kit generate:sqlite --config=src/database/sqlite/drizzle-sqlite.config.ts" + "database:generate:pg": "npx drizzle-kit generate:pg --config=src/database/drizzle-posgres.config.ts" }, "dependencies": { "postgres": "^3.4.3" diff --git a/packages/twenty-website/src/database/database.ts b/packages/twenty-website/src/database/database.ts index 91cc0abd8a..a5b8786dee 100644 --- a/packages/twenty-website/src/database/database.ts +++ b/packages/twenty-website/src/database/database.ts @@ -1,135 +1,56 @@ import { global } from '@apollo/client/utilities/globals'; -import { createClient } from '@libsql/client'; -import { drizzle as sqliteDrizzle, LibSQLDatabase } from 'drizzle-orm/libsql'; -import { migrate as sqliteMigrate } from 'drizzle-orm/libsql/migrator'; -import { - drizzle as pgDrizzle, - PostgresJsDatabase, -} from 'drizzle-orm/postgres-js'; +import { drizzle } from 'drizzle-orm/postgres-js'; import { migrate as postgresMigrate } from 'drizzle-orm/postgres-js/migrator'; -import { SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core'; import postgres from 'postgres'; import 'dotenv/config'; -// Todo: Deprecate SQLite once prototyping is complete, this is making things impossible to type properly -const databaseDriver = global.process.env.DATABASE_DRIVER || 'sqlite'; -const isSqliteDriver = databaseDriver === 'sqlite'; -const isPgDriver = databaseDriver === 'pg'; - -let sqliteDb: LibSQLDatabase; -let pgDb: PostgresJsDatabase; - -if (isSqliteDriver) { - const sqliteClient = createClient({ - url: 'file:twenty-website.sqlite', - }); - sqliteDb = sqliteDrizzle(sqliteClient, { logger: false }); -} - -if (isPgDriver) { - const pgClient = postgres(`${global.process.env.DATABASE_PG_URL}`); - pgDb = pgDrizzle(pgClient, { logger: false }); -} +const pgClient = postgres(`${global.process.env.DATABASE_PG_URL}`); +const pgDb = drizzle(pgClient, { logger: false }); const migrate = async () => { - if (isSqliteDriver) { - await sqliteMigrate(sqliteDb, { - migrationsFolder: './src/database/sqlite/migrations', - }); - return; - } - if (isPgDriver) { - await postgresMigrate(pgDb, { - migrationsFolder: './src/database/postgres/migrations', - }); - return; - } - - throw new Error('Unsupported database driver'); + await postgresMigrate(pgDb, { + migrationsFolder: './src/database/migrations', + }); }; -const findOne = (model: SQLiteTableWithColumns, orderBy: any) => { - if (isSqliteDriver) { - return sqliteDb.select().from(model).orderBy(orderBy).limit(1).execute(); - } - - if (isPgDriver) { - return pgDb.select().from(model).orderBy(orderBy).limit(1).execute(); - } - - throw new Error('Unsupported database driver'); +const findOne = (model: any, orderBy: any) => { + return pgDb.select().from(model).orderBy(orderBy).limit(1).execute(); }; -const findAll = (model: SQLiteTableWithColumns) => { - if (isSqliteDriver) { - return sqliteDb.select().from(model).all(); - } - - if (isPgDriver) { - return pgDb.select().from(model).execute(); - } - - throw new Error('Unsupported database driver'); +const findAll = (model: any) => { + return pgDb.select().from(model).execute(); }; const insertMany = async ( - model: SQLiteTableWithColumns, + model: any, data: any, options?: { onConflictKey?: string; onConflictUpdateObject?: any; }, ) => { - if (isSqliteDriver) { - const query = sqliteDb.insert(model).values(data); - - if (options?.onConflictUpdateObject) { - if (options?.onConflictKey) { - return query - .onConflictDoUpdate({ - target: [model[options.onConflictKey]], - set: options.onConflictUpdateObject, - }) - .execute(); - } - } + const query = pgDb.insert(model).values(data); + if (options?.onConflictUpdateObject) { if (options?.onConflictKey) { return query - .onConflictDoNothing({ + .onConflictDoUpdate({ target: [model[options.onConflictKey]], + set: options.onConflictUpdateObject, }) .execute(); } - - return query.execute(); - } - if (isPgDriver) { - const query = pgDb.insert(model).values(data); - - if (options?.onConflictUpdateObject) { - if (options?.onConflictKey) { - return query - .onConflictDoUpdate({ - target: [model[options.onConflictKey]], - set: options.onConflictUpdateObject, - }) - .execute(); - } - } - - if (options?.onConflictKey) { - return query - .onConflictDoNothing({ - target: [model[options.onConflictKey]], - }) - .execute(); - } - return query.execute(); } - throw new Error('Unsupported database driver'); + if (options?.onConflictKey) { + return query + .onConflictDoNothing({ + target: [model[options.onConflictKey]], + }) + .execute(); + } + return query.execute(); }; export { findAll, findOne, insertMany, migrate }; diff --git a/packages/twenty-website/src/database/postgres/drizzle-posgres.config.ts b/packages/twenty-website/src/database/drizzle-posgres.config.ts similarity index 69% rename from packages/twenty-website/src/database/postgres/drizzle-posgres.config.ts rename to packages/twenty-website/src/database/drizzle-posgres.config.ts index d01912e558..8d4cfa22ec 100644 --- a/packages/twenty-website/src/database/postgres/drizzle-posgres.config.ts +++ b/packages/twenty-website/src/database/drizzle-posgres.config.ts @@ -3,8 +3,8 @@ import { Config } from 'drizzle-kit'; import 'dotenv/config'; const pgConfig = { - schema: './src/database/postgres/schema-postgres.ts', - out: './src/database/postgres/migrations', + schema: './src/database/schema-postgres.ts', + out: './src/database/migrations', driver: 'pg', dbCredentials: { connectionString: process.env.DATABASE_PG_URL ?? '', diff --git a/packages/twenty-website/src/database/postgres/migrations/0000_absent_giant_man.sql b/packages/twenty-website/src/database/migrations/0000_absent_giant_man.sql similarity index 100% rename from packages/twenty-website/src/database/postgres/migrations/0000_absent_giant_man.sql rename to packages/twenty-website/src/database/migrations/0000_absent_giant_man.sql diff --git a/packages/twenty-website/src/database/postgres/migrations/0001_marvelous_eddie_brock.sql b/packages/twenty-website/src/database/migrations/0001_marvelous_eddie_brock.sql similarity index 100% rename from packages/twenty-website/src/database/postgres/migrations/0001_marvelous_eddie_brock.sql rename to packages/twenty-website/src/database/migrations/0001_marvelous_eddie_brock.sql diff --git a/packages/twenty-website/src/database/postgres/migrations/meta/0000_snapshot.json b/packages/twenty-website/src/database/migrations/meta/0000_snapshot.json similarity index 100% rename from packages/twenty-website/src/database/postgres/migrations/meta/0000_snapshot.json rename to packages/twenty-website/src/database/migrations/meta/0000_snapshot.json diff --git a/packages/twenty-website/src/database/postgres/migrations/meta/_journal.json b/packages/twenty-website/src/database/migrations/meta/_journal.json similarity index 100% rename from packages/twenty-website/src/database/postgres/migrations/meta/_journal.json rename to packages/twenty-website/src/database/migrations/meta/_journal.json diff --git a/packages/twenty-website/src/database/model.ts b/packages/twenty-website/src/database/model.ts index fb19c139ea..84613004d8 100644 --- a/packages/twenty-website/src/database/model.ts +++ b/packages/twenty-website/src/database/model.ts @@ -6,31 +6,14 @@ import { pgPullRequestLabels, pgPullRequests, pgUsers, -} from '@/database/postgres/schema-postgres'; -import { - sqlLiteIssueLabels, - sqlLiteIssues, - sqlLiteLabels, - sqlLitePullRequestLabels, - sqlLitePullRequests, - sqlLiteUsers, -} from '@/database/sqlite/schema-sqlite'; +} from '@/database/schema-postgres'; -const databaseDriver = global.process.env.DATABASE_DRIVER; -const isSqliteDriver = databaseDriver === 'sqlite'; - -export const userModel = isSqliteDriver ? sqlLiteUsers : pgUsers; -export const pullRequestModel = isSqliteDriver - ? sqlLitePullRequests - : pgPullRequests; -export const issueModel = isSqliteDriver ? sqlLiteIssues : pgIssues; -export const labelModel = isSqliteDriver ? sqlLiteLabels : pgLabels; -export const pullRequestLabelModel = isSqliteDriver - ? sqlLitePullRequestLabels - : pgPullRequestLabels; -export const issueLabelModel = isSqliteDriver - ? sqlLiteIssueLabels - : pgIssueLabels; +export const userModel = pgUsers; +export const pullRequestModel = pgPullRequests; +export const issueModel = pgIssues; +export const labelModel = pgLabels; +export const pullRequestLabelModel = pgPullRequestLabels; +export const issueLabelModel = pgIssueLabels; export const githubStarsModel = pgGithubStars; diff --git a/packages/twenty-website/src/database/postgres/schema-postgres.ts b/packages/twenty-website/src/database/schema-postgres.ts similarity index 100% rename from packages/twenty-website/src/database/postgres/schema-postgres.ts rename to packages/twenty-website/src/database/schema-postgres.ts diff --git a/packages/twenty-website/src/database/sqlite/drizzle-sqlite.config.ts b/packages/twenty-website/src/database/sqlite/drizzle-sqlite.config.ts deleted file mode 100644 index 9c29a673e6..0000000000 --- a/packages/twenty-website/src/database/sqlite/drizzle-sqlite.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Config } from 'drizzle-kit'; - -import 'dotenv/config'; - -const sqliteConfig = { - schema: './src/database/sqlite/schema-sqlite.ts', - out: './src/database/sqlite/migrations', - driver: 'libsql', - dbCredentials: { - url: 'twenty-website.sqlite', - }, -} satisfies Config; - -export default sqliteConfig; diff --git a/packages/twenty-website/src/database/sqlite/migrations/0000_small_karma.sql b/packages/twenty-website/src/database/sqlite/migrations/0000_small_karma.sql deleted file mode 100644 index ba530dce8b..0000000000 --- a/packages/twenty-website/src/database/sqlite/migrations/0000_small_karma.sql +++ /dev/null @@ -1,54 +0,0 @@ -CREATE TABLE `issueLabels` ( - `issueId` text, - `labelId` text, - FOREIGN KEY (`issueId`) REFERENCES `issues`(`id`) ON UPDATE no action ON DELETE no action, - FOREIGN KEY (`labelId`) REFERENCES `labels`(`id`) ON UPDATE no action ON DELETE no action -); ---> statement-breakpoint -CREATE TABLE `issues` ( - `id` text PRIMARY KEY NOT NULL, - `externalId` text, - `title` text, - `body` text, - `url` text, - `createdAt` text, - `updatedAt` text, - `closedAt` text, - `authorId` text, - FOREIGN KEY (`authorId`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE no action -); ---> statement-breakpoint -CREATE TABLE `labels` ( - `id` text PRIMARY KEY NOT NULL, - `externalId` text, - `name` text, - `color` text, - `description` text -); ---> statement-breakpoint -CREATE TABLE `pullRequestLabels` ( - `pullRequestExternalId` text, - `labelId` text, - FOREIGN KEY (`pullRequestExternalId`) REFERENCES `pullRequests`(`id`) ON UPDATE no action ON DELETE no action, - FOREIGN KEY (`labelId`) REFERENCES `labels`(`id`) ON UPDATE no action ON DELETE no action -); ---> statement-breakpoint -CREATE TABLE `pullRequests` ( - `id` text PRIMARY KEY NOT NULL, - `title` text, - `body` text, - `url` text, - `createdAt` text, - `updatedAt` text, - `closedAt` text, - `mergedAt` text, - `authorId` text, - FOREIGN KEY (`authorId`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE no action -); ---> statement-breakpoint -CREATE TABLE `users` ( - `id` text PRIMARY KEY NOT NULL, - `avatarUrl` text, - `url` text, - `isEmployee` text -); diff --git a/packages/twenty-website/src/database/sqlite/migrations/meta/0000_snapshot.json b/packages/twenty-website/src/database/sqlite/migrations/meta/0000_snapshot.json deleted file mode 100644 index cc5511a958..0000000000 --- a/packages/twenty-website/src/database/sqlite/migrations/meta/0000_snapshot.json +++ /dev/null @@ -1,367 +0,0 @@ -{ - "version": "5", - "dialect": "sqlite", - "id": "033cd768-53b9-4c60-99ee-be070ea7abd6", - "prevId": "00000000-0000-0000-0000-000000000000", - "tables": { - "issueLabels": { - "name": "issueLabels", - "columns": { - "issueId": { - "name": "issueId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "labelId": { - "name": "labelId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "issueLabels_issueId_issues_id_fk": { - "name": "issueLabels_issueId_issues_id_fk", - "tableFrom": "issueLabels", - "tableTo": "issues", - "columnsFrom": [ - "issueId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "issueLabels_labelId_labels_id_fk": { - "name": "issueLabels_labelId_labels_id_fk", - "tableFrom": "issueLabels", - "tableTo": "labels", - "columnsFrom": [ - "labelId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "issues": { - "name": "issues", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "externalId": { - "name": "externalId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "body": { - "name": "body", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updatedAt": { - "name": "updatedAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "closedAt": { - "name": "closedAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "authorId": { - "name": "authorId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "issues_authorId_users_id_fk": { - "name": "issues_authorId_users_id_fk", - "tableFrom": "issues", - "tableTo": "users", - "columnsFrom": [ - "authorId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "labels": { - "name": "labels", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "externalId": { - "name": "externalId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "color": { - "name": "color", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "pullRequestLabels": { - "name": "pullRequestLabels", - "columns": { - "pullRequestExternalId": { - "name": "pullRequestExternalId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "labelId": { - "name": "labelId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk": { - "name": "pullRequestLabels_pullRequestExternalId_pullRequests_id_fk", - "tableFrom": "pullRequestLabels", - "tableTo": "pullRequests", - "columnsFrom": [ - "pullRequestExternalId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "pullRequestLabels_labelId_labels_id_fk": { - "name": "pullRequestLabels_labelId_labels_id_fk", - "tableFrom": "pullRequestLabels", - "tableTo": "labels", - "columnsFrom": [ - "labelId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "pullRequests": { - "name": "pullRequests", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "body": { - "name": "body", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "updatedAt": { - "name": "updatedAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "closedAt": { - "name": "closedAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "mergedAt": { - "name": "mergedAt", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "authorId": { - "name": "authorId", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": { - "pullRequests_authorId_users_id_fk": { - "name": "pullRequests_authorId_users_id_fk", - "tableFrom": "pullRequests", - "tableTo": "users", - "columnsFrom": [ - "authorId" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - }, - "users": { - "name": "users", - "columns": { - "id": { - "name": "id", - "type": "text", - "primaryKey": true, - "notNull": true, - "autoincrement": false - }, - "avatarUrl": { - "name": "avatarUrl", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "isEmployee": { - "name": "isEmployee", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {} - } - }, - "enums": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - } -} \ No newline at end of file diff --git a/packages/twenty-website/src/database/sqlite/migrations/meta/_journal.json b/packages/twenty-website/src/database/sqlite/migrations/meta/_journal.json deleted file mode 100644 index 0b83c40ad7..0000000000 --- a/packages/twenty-website/src/database/sqlite/migrations/meta/_journal.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "version": "5", - "dialect": "sqlite", - "entries": [ - { - "idx": 0, - "version": "5", - "when": 1707920913359, - "tag": "0000_small_karma", - "breakpoints": true - } - ] -} diff --git a/packages/twenty-website/src/database/sqlite/schema-sqlite.ts b/packages/twenty-website/src/database/sqlite/schema-sqlite.ts deleted file mode 100644 index 60ca22b358..0000000000 --- a/packages/twenty-website/src/database/sqlite/schema-sqlite.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { sqliteTable, text } from 'drizzle-orm/sqlite-core'; - -export const sqlLiteUsers = sqliteTable('users', { - id: text('id').primaryKey(), - avatarUrl: text('avatarUrl'), - url: text('url'), - isEmployee: text('isEmployee'), -}); - -export const sqlLitePullRequests = sqliteTable('pullRequests', { - id: text('id').primaryKey(), - title: text('title'), - body: text('body'), - url: text('url'), - createdAt: text('createdAt'), - updatedAt: text('updatedAt'), - closedAt: text('closedAt'), - mergedAt: text('mergedAt'), - authorId: text('authorId').references(() => sqlLiteUsers.id), -}); - -export const sqlLiteIssues = sqliteTable('issues', { - id: text('id').primaryKey(), - externalId: text('externalId'), - title: text('title'), - body: text('body'), - url: text('url'), - createdAt: text('createdAt'), - updatedAt: text('updatedAt'), - closedAt: text('closedAt'), - authorId: text('authorId').references(() => sqlLiteUsers.id), -}); - -export const sqlLiteLabels = sqliteTable('labels', { - id: text('id').primaryKey(), - externalId: text('externalId'), - name: text('name'), - color: text('color'), - description: text('description'), -}); - -export const sqlLitePullRequestLabels = sqliteTable('pullRequestLabels', { - pullRequestId: text('pullRequestExternalId').references( - () => sqlLitePullRequests.id, - ), - labelId: text('labelId').references(() => sqlLiteLabels.id), -}); - -export const sqlLiteIssueLabels = sqliteTable('issueLabels', { - issueId: text('issueId').references(() => sqlLiteIssues.id), - labelId: text('labelId').references(() => sqlLiteLabels.id), -}); diff --git a/yarn.lock b/yarn.lock index cbc8063060..8ba667ee18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7463,111 +7463,6 @@ __metadata: languageName: node linkType: hard -"@libsql/client@npm:^0.4.3": - version: 0.4.3 - resolution: "@libsql/client@npm:0.4.3" - dependencies: - "@libsql/core": "npm:^0.4.3" - "@libsql/hrana-client": "npm:^0.5.6" - js-base64: "npm:^3.7.5" - libsql: "npm:^0.2.0" - dependenciesMeta: - libsql: - optional: true - checksum: 513c3c98b922a2f8e7c2c51e984559e23bf805bcf7f35c1f45fb70fba6c3bbe0e656b8c8b304c5d7f322bc07ef0f2398210c73b28dd3329aa6ca3d666e4d03b4 - languageName: node - linkType: hard - -"@libsql/core@npm:^0.4.3": - version: 0.4.3 - resolution: "@libsql/core@npm:0.4.3" - dependencies: - js-base64: "npm:^3.7.5" - checksum: 39acd3afd1177264a0c556d4351c490aa6b6202f38544cef9863839de6fc26743284a4395ecb4fd187f033db74c9a31fa3d8b6331f9857d82f51616345cef7cb - languageName: node - linkType: hard - -"@libsql/darwin-arm64@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/darwin-arm64@npm:0.2.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@libsql/darwin-x64@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/darwin-x64@npm:0.2.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@libsql/hrana-client@npm:^0.5.6": - version: 0.5.6 - resolution: "@libsql/hrana-client@npm:0.5.6" - dependencies: - "@libsql/isomorphic-fetch": "npm:^0.1.12" - "@libsql/isomorphic-ws": "npm:^0.1.5" - js-base64: "npm:^3.7.5" - node-fetch: "npm:^3.3.2" - checksum: f09bcb100eaba5f96ba013aefc28e5799197c576a03dc11045acb10494cd302f8e15369b3dfc51f9a9f3bc01f796d8aad4c8013428e82e1d0d8603a1a4e3d4f5 - languageName: node - linkType: hard - -"@libsql/isomorphic-fetch@npm:^0.1.12": - version: 0.1.12 - resolution: "@libsql/isomorphic-fetch@npm:0.1.12" - dependencies: - "@types/node-fetch": "npm:^2.6.11" - node-fetch: "npm:^2.7.0" - checksum: bcdf600cbdd0701c8f08cc74ac0598d11a8f895c03f82f3daf6f432cb8acaaa7beea9a4ecd8eedc45010e8cecf4a0e415ad4615cc9ec38689e8fda556faea9be - languageName: node - linkType: hard - -"@libsql/isomorphic-ws@npm:^0.1.5": - version: 0.1.5 - resolution: "@libsql/isomorphic-ws@npm:0.1.5" - dependencies: - "@types/ws": "npm:^8.5.4" - ws: "npm:^8.13.0" - checksum: 7028bbc50dd094cdcbe56714dbf52fb646812d1b042c1973e61293f4a1cb5b81d5af670530a2463a2ba485f84f7728daf3eb75d40a7f55316ee4f7015dcc99ae - languageName: node - linkType: hard - -"@libsql/linux-arm64-gnu@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/linux-arm64-gnu@npm:0.2.0" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@libsql/linux-arm64-musl@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/linux-arm64-musl@npm:0.2.0" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@libsql/linux-x64-gnu@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/linux-x64-gnu@npm:0.2.0" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@libsql/linux-x64-musl@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/linux-x64-musl@npm:0.2.0" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@libsql/win32-x64-msvc@npm:0.2.0": - version: 0.2.0 - resolution: "@libsql/win32-x64-msvc@npm:0.2.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@ljharb/through@npm:^2.3.9": version: 2.3.12 resolution: "@ljharb/through@npm:2.3.12" @@ -7934,13 +7829,6 @@ __metadata: languageName: node linkType: hard -"@neon-rs/load@npm:^0.0.4": - version: 0.0.4 - resolution: "@neon-rs/load@npm:0.0.4" - checksum: 546fa4e48aa9cdb402f0a3524b591b1cac863bcfdd0217432323dba42ad37ece24b736019e6196e34326201db6b6deb410d7a983ac3c54f322619c9b6bd568bb - languageName: node - linkType: hard - "@nestjs/apollo@npm:^11.0.5": version: 11.0.6 resolution: "@nestjs/apollo@npm:11.0.6" @@ -16942,16 +16830,6 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.6.11": - version: 2.6.11 - resolution: "@types/node-fetch@npm:2.6.11" - dependencies: - "@types/node": "npm:*" - form-data: "npm:^4.0.0" - checksum: 5283d4e0bcc37a5b6d8e629aee880a4ffcfb33e089f4b903b2981b19c623972d1e64af7c3f9540ab990f0f5c89b9b5dda19c5bcb37a8e177079e93683bfd2f49 - languageName: node - linkType: hard - "@types/node-forge@npm:^1.3.0": version: 1.3.11 resolution: "@types/node-forge@npm:1.3.11" @@ -17492,7 +17370,7 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^8.0.0, @types/ws@npm:^8.5.4, @types/ws@npm:^8.5.5": +"@types/ws@npm:^8.0.0, @types/ws@npm:^8.5.5": version: 8.5.10 resolution: "@types/ws@npm:8.5.10" dependencies: @@ -24219,13 +24097,6 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b - languageName: node - linkType: hard - "data-urls@npm:^3.0.2": version: 3.0.2 resolution: "data-urls@npm:3.0.2" @@ -24702,13 +24573,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:2.0.2, detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 - languageName: node - linkType: hard - "detect-libc@npm:^1.0.3": version: 1.0.3 resolution: "detect-libc@npm:1.0.3" @@ -24718,6 +24582,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2": + version: 2.0.2 + resolution: "detect-libc@npm:2.0.2" + checksum: a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 + languageName: node + linkType: hard + "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -27380,16 +27251,6 @@ __metadata: languageName: node linkType: hard -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: "npm:^1.0.0" - web-streams-polyfill: "npm:^3.0.3" - checksum: 60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69 - languageName: node - linkType: hard - "fetch-retry@npm:^5.0.2": version: 5.0.6 resolution: "fetch-retry@npm:5.0.6" @@ -27965,15 +27826,6 @@ __metadata: languageName: node linkType: hard -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: "npm:^3.1.2" - checksum: 5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6 - languageName: node - linkType: hard - "formidable@npm:^2.1.2": version: 2.1.2 resolution: "formidable@npm:2.1.2" @@ -32751,13 +32603,6 @@ __metadata: languageName: node linkType: hard -"js-base64@npm:^3.7.5": - version: 3.7.6 - resolution: "js-base64@npm:3.7.6" - checksum: d9ae30a04e28e5814c6c606d08ecf9aac16daea0fcbc549e3b971042a4d4ecc7cf60ea96e1c9e8a463ca75fcbfd13613b87bddb3a8fe92801271e7eedcd3e8d3 - languageName: node - linkType: hard - "js-beautify@npm:^1.6.12": version: 1.14.11 resolution: "js-beautify@npm:1.14.11" @@ -33630,38 +33475,6 @@ __metadata: languageName: node linkType: hard -"libsql@npm:^0.2.0": - version: 0.2.0 - resolution: "libsql@npm:0.2.0" - dependencies: - "@libsql/darwin-arm64": "npm:0.2.0" - "@libsql/darwin-x64": "npm:0.2.0" - "@libsql/linux-arm64-gnu": "npm:0.2.0" - "@libsql/linux-arm64-musl": "npm:0.2.0" - "@libsql/linux-x64-gnu": "npm:0.2.0" - "@libsql/linux-x64-musl": "npm:0.2.0" - "@libsql/win32-x64-msvc": "npm:0.2.0" - "@neon-rs/load": "npm:^0.0.4" - detect-libc: "npm:2.0.2" - dependenciesMeta: - "@libsql/darwin-arm64": - optional: true - "@libsql/darwin-x64": - optional: true - "@libsql/linux-arm64-gnu": - optional: true - "@libsql/linux-arm64-musl": - optional: true - "@libsql/linux-x64-gnu": - optional: true - "@libsql/linux-x64-musl": - optional: true - "@libsql/win32-x64-msvc": - optional: true - conditions: (os=darwin | os=linux | os=win32) & (cpu=x64 | cpu=arm64) - languageName: node - linkType: hard - "lilconfig@npm:^2.0.3": version: 2.1.0 resolution: "lilconfig@npm:2.1.0" @@ -37435,7 +37248,7 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:1.0.0, node-domexception@npm:^1.0.0": +"node-domexception@npm:1.0.0": version: 1.0.0 resolution: "node-domexception@npm:1.0.0" checksum: 5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b @@ -37484,7 +37297,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2, node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -37498,17 +37311,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^3.3.2": - version: 3.3.2 - resolution: "node-fetch@npm:3.3.2" - dependencies: - data-uri-to-buffer: "npm:^4.0.0" - fetch-blob: "npm:^3.1.4" - formdata-polyfill: "npm:^4.0.10" - checksum: f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538 - languageName: node - linkType: hard - "node-forge@npm:^1, node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -46570,7 +46372,6 @@ __metadata: "@hello-pangea/dnd": "npm:^16.2.0" "@hookform/resolvers": "npm:^3.1.1" "@jsdevtools/rehype-toc": "npm:^3.0.2" - "@libsql/client": "npm:^0.4.3" "@mdx-js/react": "npm:^3.0.0" "@nestjs/apollo": "npm:^11.0.5" "@nestjs/axios": "npm:^3.0.1" @@ -48743,13 +48544,6 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.3.2 - resolution: "web-streams-polyfill@npm:3.3.2" - checksum: 623c2fced2ef77d5afdbc43acef64b8af609a32125b691eae286d534a36004c8a71030f0e78068516774a97fd90dbfb3726b10fd569a2d158e60c83a539c489e - languageName: node - linkType: hard - "web-streams-polyfill@npm:^3.2.1": version: 3.2.1 resolution: "web-streams-polyfill@npm:3.2.1"