feat(protokoll): Protokoll ansehen, mit Filtern und Mandantensicht (#45)
This commit was merged in pull request #45.
This commit is contained in:
@@ -61,6 +61,7 @@ export async function vorlageAnlegen(
|
||||
});
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: vorlage.kundeId,
|
||||
entitaet: "Vorlage",
|
||||
entitaetId: vorlage.id,
|
||||
aktion: "Vorlage angelegt",
|
||||
@@ -147,6 +148,7 @@ export async function vorlageBearbeiten(
|
||||
const nachher = await tx.vorlage.update({ where: { id: vorlageId }, data: daten });
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: nachher.kundeId,
|
||||
entitaet: "Vorlage",
|
||||
entitaetId: vorlageId,
|
||||
aktion: `${geaendert.join(" und ")} geändert`,
|
||||
@@ -263,6 +265,12 @@ async function entwurfKopieren(
|
||||
durchBenutzerId: string,
|
||||
): Promise<VorlagenVersion> {
|
||||
return prisma.$transaction(async (tx) => {
|
||||
// Der Kunde fuer den Protokolleintrag; ein indizierter Lesevorgang auf dem
|
||||
// Primaerschluessel (#023).
|
||||
const vorlage = await tx.vorlage.findUniqueOrThrow({
|
||||
where: { id: vorlageId },
|
||||
select: { kundeId: true },
|
||||
});
|
||||
const entwurf = await tx.vorlagenVersion.create({
|
||||
data: { vorlageId, version: naechste, status: VersionStatus.ENTWURF },
|
||||
});
|
||||
@@ -304,6 +312,7 @@ async function entwurfKopieren(
|
||||
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: vorlage.kundeId,
|
||||
entitaet: "VorlagenVersion",
|
||||
entitaetId: entwurf.id,
|
||||
aktion: "Entwurf aus veröffentlichter Version erstellt",
|
||||
@@ -485,7 +494,7 @@ export async function versionVeroeffentlichen(
|
||||
const kopf = await tx.vorlagenVersion.findUniqueOrThrow({
|
||||
where: { id: versionId },
|
||||
select: {
|
||||
vorlage: { select: { archiviert: true, name: true } },
|
||||
vorlage: { select: { archiviert: true, name: true, kundeId: true } },
|
||||
_count: { select: { abschnitte: true } },
|
||||
},
|
||||
});
|
||||
@@ -518,6 +527,7 @@ export async function versionVeroeffentlichen(
|
||||
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: kopf.vorlage.kundeId,
|
||||
entitaet: "VorlagenVersion",
|
||||
entitaetId: versionId,
|
||||
aktion: "Version veröffentlicht",
|
||||
@@ -545,7 +555,13 @@ export async function versionVeroeffentlichen(
|
||||
export async function entwurfVerwerfen(versionId: string, durchBenutzerId: string): Promise<void> {
|
||||
const version = await prisma.vorlagenVersion.findUnique({
|
||||
where: { id: versionId },
|
||||
select: { id: true, status: true, version: true, vorlageId: true },
|
||||
select: {
|
||||
id: true,
|
||||
status: true,
|
||||
version: true,
|
||||
vorlageId: true,
|
||||
vorlage: { select: { kundeId: true } },
|
||||
},
|
||||
});
|
||||
if (!version) throw new VorlagenFehler("Diese Version gibt es nicht.");
|
||||
versionMussEntwurfSein(version);
|
||||
@@ -563,6 +579,7 @@ export async function entwurfVerwerfen(versionId: string, durchBenutzerId: strin
|
||||
await tx.vorlagenVersion.delete({ where: { id: versionId } });
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: version.vorlage.kundeId,
|
||||
entitaet: "VorlagenVersion",
|
||||
entitaetId: versionId,
|
||||
aktion: "Entwurf verworfen",
|
||||
@@ -661,6 +678,7 @@ export async function vorlageDuplizieren(
|
||||
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: kopie.kundeId,
|
||||
entitaet: "Vorlage",
|
||||
entitaetId: kopie.id,
|
||||
aktion: "Vorlage dupliziert",
|
||||
@@ -693,6 +711,7 @@ export async function vorlageArchivieren(
|
||||
await tx.vorlage.update({ where: { id: vorlageId }, data: { archiviert } });
|
||||
await tx.protokoll.create({
|
||||
data: {
|
||||
kundeId: vorlage.kundeId,
|
||||
entitaet: "Vorlage",
|
||||
entitaetId: vorlageId,
|
||||
aktion: archiviert ? "Vorlage archiviert" : "Vorlage wieder freigegeben",
|
||||
|
||||
Reference in New Issue
Block a user