This commit is contained in:
Oleksandr Honcharov 2024-08-25 23:25:43 +03:00
parent 7db5dd8cb0
commit ace5c396e7
3 changed files with 53 additions and 9 deletions

View File

@ -5,9 +5,31 @@ export function getBanner() {
return db.banner.findFirst() return db.banner.findFirst()
} }
export function setBanner<T extends keyof Prisma.BannerCreateInput>(key: T, value: Prisma.BannerCreateInput[T]) { export async function setBanner<T extends keyof Prisma.BannerCreateInput>(
return db.banner.update({ key: T,
where: { id: 0 }, value: Prisma.BannerCreateInput[T],
data: { [key]: value } ) {
const isExists = await db.banner.findFirst()
function update() {
return db.banner.update({
where: { id: 0 },
data: { [key]: value },
})
}
if (isExists) return update()
else {
const isSeeded = await seedBanner()
if (isSeeded) return update()
}
}
async function seedBanner() {
return db.banner.create({
data: {
ticketUrl: '',
welcomeUrl: '',
},
}) })
} }

View File

@ -5,9 +5,31 @@ export function getRole() {
return db.role.findFirst() return db.role.findFirst()
} }
export function setRole<T extends keyof Prisma.RoleCreateInput>(key: T, value: Prisma.RoleCreateInput[T]) { export async function setRole<T extends keyof Prisma.RoleCreateInput>(
return db.role.update({ key: T,
where: { id: 0 }, value: Prisma.RoleCreateInput[T],
data: { [key]: value } ) {
const isExists = await db.role.findFirst()
function update() {
return db.role.update({
where: { id: 0 },
data: { [key]: value },
})
}
if (isExists) return update()
else {
const isSeeded = await seedRole()
if (isSeeded) return update()
}
}
async function seedRole() {
return db.role.create({
data: {
ticketRoleId: '',
welcomeRoleId: '',
},
}) })
} }

View File

@ -9,7 +9,7 @@ export async function setSettings<T extends keyof Prisma.SettingsCreateInput>(
key: T, key: T,
value: Prisma.SettingsCreateInput[T], value: Prisma.SettingsCreateInput[T],
) { ) {
const isExists = await db.settings.findFirst({ where: { id: 1 } }) const isExists = await db.settings.findFirst()
function update() { function update() {
return db.settings.update({ return db.settings.update({