feat: adding support for mongodb

This commit is contained in:
charlesgauthereau
2026-01-18 20:20:10 +01:00
parent 5074748055
commit bcb1674491
6 changed files with 2338 additions and 5 deletions
+7 -1
View File
@@ -7,7 +7,7 @@ import {Database} from "@/db/schema/07_database";
import * as drizzleDb from "@/db";
import {db as dbClient} from "@/db";
import {and, eq, inArray} from "drizzle-orm";
import {EDbmsSchema} from "@/db/schema/types";
import {dbmsEnumSchema, EDbmsSchema} from "@/db/schema/types";
import {ServerActionResult} from "@/types/action-type";
import {SafeActionResult} from "next-safe-action";
import {ZodString} from "zod";
@@ -50,6 +50,12 @@ export async function handleDatabases(body: Body, agent: Agent, lastContact: Dat
{status: 500}
);
}
if (!dbmsEnumSchema.safeParse(db.dbms).success) {
console.log(`Database type not available: ${db.dbms}`);
continue;
}
const [databaseCreated] = await dbClient
.insert(drizzleDb.schemas.database)
.values({
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@@ -0,0 +1 @@
ALTER TYPE "public"."dbms_status" ADD VALUE 'mongodb';
File diff suppressed because it is too large Load Diff
+7
View File
@@ -211,6 +211,13 @@
"when": 1768743644834,
"tag": "0029_lowly_white_tiger",
"breakpoints": true
},
{
"idx": 30,
"version": "7",
"when": 1768763883339,
"tag": "0030_dizzy_morlocks",
"breakpoints": true
}
]
}
+4 -4
View File
@@ -1,8 +1,8 @@
import { pgEnum } from "drizzle-orm/pg-core";
import { createSelectSchema } from "drizzle-zod";
import { z } from "zod";
import {pgEnum} from "drizzle-orm/pg-core";
import {createSelectSchema} from "drizzle-zod";
import {z} from "zod";
export const dbmsEnum = pgEnum("dbms_status", ["postgresql", "mysql"]);
export const dbmsEnum = pgEnum("dbms_status", ["postgresql", "mysql", "mongodb"]);
export const statusEnum = pgEnum("status", ["waiting", "ongoing", "failed", "success"]);
export const typeStorageEnum = pgEnum("type_storage", ["local", "s3"]);