refactor: use short ids to allow changing the name of volumes & repos (#67)

* refactor: use short ids to allow changing the name of volumes & repos

* refactor: address PR feedbacks

* fix: make short_id non null after initial population
This commit is contained in:
Nico
2025-11-26 19:47:09 +01:00
committed by GitHub
parent d190d9c8cd
commit b26a062648
29 changed files with 3432 additions and 31 deletions

View File

@@ -1,8 +1,6 @@
import type { NotificationConfig } from "~/schemas/notifications";
export function buildPushoverShoutrrrUrl(
config: Extract<NotificationConfig, { type: "pushover" }>,
): string {
export function buildPushoverShoutrrrUrl(config: Extract<NotificationConfig, { type: "pushover" }>): string {
const params = new URLSearchParams();
if (config.devices) {

View File

@@ -1,4 +1,4 @@
import { eq, and } from "drizzle-orm";
import { eq, and, ne } from "drizzle-orm";
import { ConflictError, InternalServerError, NotFoundError } from "http-errors-enhanced";
import slugify from "slugify";
import { db } from "../../db/db";
@@ -164,10 +164,10 @@ const updateDestination = async (
const slug = slugify(updates.name, { lower: true, strict: true });
const conflict = await db.query.notificationDestinationsTable.findFirst({
where: and(eq(notificationDestinationsTable.name, slug), eq(notificationDestinationsTable.id, id)),
where: and(eq(notificationDestinationsTable.name, slug), ne(notificationDestinationsTable.id, id)),
});
if (conflict && conflict.id !== id) {
if (conflict) {
throw new ConflictError("Notification destination with this name already exists");
}
updateData.name = slug;