Ausweis als Admin bearbeiten
This commit is contained in:
@@ -3,7 +3,7 @@ import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
|||||||
import { generatePrefixedId } from "#lib/db.js";
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
import { exclude } from "#lib/exclude.js";
|
import { exclude } from "#lib/exclude.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { prisma } from "#lib/server/prisma.js";
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { BedarfsausweisGewerbeSchema } from "src/generated/zod/bedarfsausweisgewerbe.js";
|
import { BedarfsausweisGewerbeSchema } from "src/generated/zod/bedarfsausweisgewerbe.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
@@ -31,13 +31,10 @@ export const PATCH = defineApiRoute({
|
|||||||
const objekt = await prisma.bedarfsausweisGewerbe.findUnique({
|
const objekt = await prisma.bedarfsausweisGewerbe.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id,
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
|||||||
import { generatePrefixedId } from "#lib/db.js";
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
import { exclude } from "#lib/exclude.js";
|
import { exclude } from "#lib/exclude.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { prisma } from "#lib/server/prisma.js";
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { BedarfsausweisWohnenSchema } from "src/generated/zod/bedarfsausweiswohnen.js";
|
import { BedarfsausweisWohnenSchema } from "src/generated/zod/bedarfsausweiswohnen.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
@@ -30,14 +30,11 @@ export const PATCH = defineApiRoute({
|
|||||||
async fetch(input, ctx, user) {
|
async fetch(input, ctx, user) {
|
||||||
const objekt = await prisma.bedarfsausweisWohnen.findUnique({
|
const objekt = await prisma.bedarfsausweisWohnen.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
|||||||
import { generatePrefixedId } from "#lib/db.js";
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
import { exclude } from "#lib/exclude.js";
|
import { exclude } from "#lib/exclude.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { prisma } from "#lib/server/prisma.js";
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { GEGNachweisGewerbeSchema } from "src/generated/zod/gegnachweisgewerbe.js";
|
import { GEGNachweisGewerbeSchema } from "src/generated/zod/gegnachweisgewerbe.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
@@ -30,14 +30,11 @@ export const PATCH = defineApiRoute({
|
|||||||
async fetch(input, ctx, user) {
|
async fetch(input, ctx, user) {
|
||||||
const objekt = await prisma.gEGNachweisGewerbe.findUnique({
|
const objekt = await prisma.gEGNachweisGewerbe.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { VALID_UUID_PREFIXES } from "#lib/constants.js";
|
|||||||
import { generatePrefixedId } from "#lib/db.js";
|
import { generatePrefixedId } from "#lib/db.js";
|
||||||
import { exclude } from "#lib/exclude.js";
|
import { exclude } from "#lib/exclude.js";
|
||||||
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
import { authorizationHeaders, authorizationMiddleware } from "#lib/middleware/authorization.js";
|
||||||
import { prisma } from "#lib/server/prisma.js";
|
import { Enums, prisma } from "#lib/server/prisma.js";
|
||||||
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
|
||||||
import { GEGNachweisWohnenSchema } from "src/generated/zod/gegnachweiswohnen.js";
|
import { GEGNachweisWohnenSchema } from "src/generated/zod/gegnachweiswohnen.js";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
@@ -30,14 +30,11 @@ export const PATCH = defineApiRoute({
|
|||||||
async fetch(input, ctx, user) {
|
async fetch(input, ctx, user) {
|
||||||
const objekt = await prisma.gEGNachweisWohnen.findUnique({
|
const objekt = await prisma.gEGNachweisWohnen.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Nachweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
@@ -27,14 +27,11 @@ export const PATCH = defineApiRoute({
|
|||||||
async fetch(input, ctx, user) {
|
async fetch(input, ctx, user) {
|
||||||
const objekt = await prisma.verbrauchsausweisGewerbe.findUnique({
|
const objekt = await prisma.verbrauchsausweisGewerbe.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
@@ -28,14 +28,11 @@ export const PATCH = defineApiRoute({
|
|||||||
async fetch(input, ctx, user) {
|
async fetch(input, ctx, user) {
|
||||||
const objekt = await prisma.verbrauchsausweisWohnen.findUnique({
|
const objekt = await prisma.verbrauchsausweisWohnen.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: ctx.params.id,
|
id: ctx.params.id
|
||||||
benutzer: {
|
|
||||||
id: user.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!objekt) {
|
if (!objekt || (objekt.benutzer_id !== user.id && user.rolle !== Enums.BenutzerRolle.ADMIN)) {
|
||||||
throw new APIError({
|
throw new APIError({
|
||||||
code: "NOT_FOUND",
|
code: "NOT_FOUND",
|
||||||
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
message: "Ausweis konnte nicht gefunden werden oder gehört einem anderen Benutzer."
|
||||||
|
|||||||
Reference in New Issue
Block a user