mirror of
https://github.com/biersoeckli/QuickStack.git
synced 2026-01-06 11:39:39 -06:00
fix use upsert in param.service.ts
This commit is contained in:
@@ -11,24 +11,32 @@ export class ParamService {
|
|||||||
static readonly LETS_ENCRYPT_MAIL = 'letsEncryptMail';
|
static readonly LETS_ENCRYPT_MAIL = 'letsEncryptMail';
|
||||||
static readonly K3S_JOIN_TOKEN = Constants.K3S_JOIN_TOKEN;
|
static readonly K3S_JOIN_TOKEN = Constants.K3S_JOIN_TOKEN;
|
||||||
|
|
||||||
async get(name: string) {
|
async getUncached(name: string) {
|
||||||
return await unstable_cache(async (name: string) => await dataAccess.client.parameter.findFirstOrThrow({
|
return await dataAccess.client.parameter.findFirstOrThrow({
|
||||||
where: {
|
where: {
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
}),
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async get(name: string) {
|
||||||
|
return await unstable_cache(async (name: string) => await this.getUncached(name),
|
||||||
[Tags.parameter()], {
|
[Tags.parameter()], {
|
||||||
tags: [Tags.parameter()],
|
tags: [Tags.parameter()],
|
||||||
revalidate: 3600
|
revalidate: 3600
|
||||||
})(name);
|
})(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getOrUndefined(name: string) {
|
async getOrUndefinedUncached(name: string) {
|
||||||
return await unstable_cache(async (name: string) => await dataAccess.client.parameter.findUnique({
|
return await dataAccess.client.parameter.findUnique({
|
||||||
where: {
|
where: {
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
}),
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async getOrUndefined(name: string) {
|
||||||
|
return await unstable_cache(async (name: string) => await this.getOrUndefinedUncached(name),
|
||||||
[Tags.parameter()], {
|
[Tags.parameter()], {
|
||||||
tags: [Tags.parameter()],
|
tags: [Tags.parameter()],
|
||||||
revalidate: 3600
|
revalidate: 3600
|
||||||
@@ -108,21 +116,15 @@ export class ParamService {
|
|||||||
async save(item: Prisma.ParameterUncheckedCreateInput | Prisma.ParameterUncheckedUpdateInput) {
|
async save(item: Prisma.ParameterUncheckedCreateInput | Prisma.ParameterUncheckedUpdateInput) {
|
||||||
let savedItem: Parameter;
|
let savedItem: Parameter;
|
||||||
try {
|
try {
|
||||||
const existingParam = await this.getOrUndefined(item.name as string);
|
savedItem = await dataAccess.client.parameter.upsert({
|
||||||
if (existingParam) {
|
where: {
|
||||||
savedItem = await dataAccess.client.parameter.update({
|
name: item.name as string
|
||||||
where: {
|
},
|
||||||
name: item.name as string
|
create: item as Prisma.ParameterUncheckedCreateInput,
|
||||||
},
|
update: {
|
||||||
data: {
|
value: item.value
|
||||||
value: item.value
|
} as Prisma.ParameterUncheckedUpdateInput
|
||||||
}
|
});
|
||||||
});
|
|
||||||
} else {
|
|
||||||
savedItem = await dataAccess.client.parameter.create({
|
|
||||||
data: item as Prisma.ParameterUncheckedCreateInput
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} finally {
|
} finally {
|
||||||
revalidateTag(Tags.parameter());
|
revalidateTag(Tags.parameter());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user