mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
44 lines
1.0 KiB
TypeScript
44 lines
1.0 KiB
TypeScript
import { db } from "@dokploy/server/db";
|
|
import { gitProvider } from "@dokploy/server/db/schema";
|
|
import { TRPCError } from "@trpc/server";
|
|
import { eq } from "drizzle-orm";
|
|
|
|
export type GitProvider = typeof gitProvider.$inferSelect;
|
|
|
|
export const removeGitProvider = async (gitProviderId: string) => {
|
|
const result = await db
|
|
.delete(gitProvider)
|
|
.where(eq(gitProvider.gitProviderId, gitProviderId))
|
|
.returning();
|
|
|
|
return result[0];
|
|
};
|
|
|
|
export const findGitProviderById = async (gitProviderId: string) => {
|
|
const result = await db.query.gitProvider.findFirst({
|
|
where: eq(gitProvider.gitProviderId, gitProviderId),
|
|
});
|
|
|
|
if (!result) {
|
|
throw new TRPCError({
|
|
code: "NOT_FOUND",
|
|
message: "Git Provider not found",
|
|
});
|
|
}
|
|
return result;
|
|
};
|
|
|
|
export const updateGitProvider = async (
|
|
gitProviderId: string,
|
|
input: Partial<GitProvider>,
|
|
) => {
|
|
return await db
|
|
.update(gitProvider)
|
|
.set({
|
|
...input,
|
|
})
|
|
.where(eq(gitProvider.gitProviderId, gitProviderId))
|
|
.returning()
|
|
.then((response) => response[0]);
|
|
};
|