From ec4a9904f4c72c2442147352c8e6df627985171e Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Thu, 25 Jul 2024 04:05:05 +0200 Subject: [PATCH] Updated DB models --- .../migration.sql | 5 ++--- prisma/schema/sprite.prisma | 13 ++++++------- src/events/gm/sprite/Update.ts | 10 +++++----- src/repositories/SpriteRepository.ts | 2 +- 4 files changed, 14 insertions(+), 16 deletions(-) rename prisma/migrations/{20240724010548_init => 20240725013549_init}/migration.sql (97%) diff --git a/prisma/migrations/20240724010548_init/migration.sql b/prisma/migrations/20240725013549_init/migration.sql similarity index 97% rename from prisma/migrations/20240724010548_init/migration.sql rename to prisma/migrations/20240725013549_init/migration.sql index 26957cd..38b4810 100644 --- a/prisma/migrations/20240724010548_init/migration.sql +++ b/prisma/migrations/20240725013549_init/migration.sql @@ -20,10 +20,9 @@ CREATE TABLE `Sprite` ( ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable -CREATE TABLE `SpriteImage` ( +CREATE TABLE `SpriteAction` ( `id` VARCHAR(191) NOT NULL, `spriteId` VARCHAR(191) NOT NULL, - `name` VARCHAR(191) NOT NULL, `action` VARCHAR(191) NOT NULL, `origin_x` DECIMAL(65, 30) NOT NULL DEFAULT 0, `origin_y` DECIMAL(65, 30) NOT NULL DEFAULT 0, @@ -173,7 +172,7 @@ ALTER TABLE `Chat` ADD CONSTRAINT `Chat_characterId_fkey` FOREIGN KEY (`characte ALTER TABLE `Chat` ADD CONSTRAINT `Chat_zoneId_fkey` FOREIGN KEY (`zoneId`) REFERENCES `Zone`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE `SpriteImage` ADD CONSTRAINT `SpriteImage_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE `SpriteAction` ADD CONSTRAINT `SpriteAction_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `CharacterType` ADD CONSTRAINT `CharacterType_spriteId_fkey` FOREIGN KEY (`spriteId`) REFERENCES `Sprite`(`id`) ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema/sprite.prisma b/prisma/schema/sprite.prisma index 4c9fffb..d6d8e6a 100644 --- a/prisma/schema/sprite.prisma +++ b/prisma/schema/sprite.prisma @@ -1,17 +1,16 @@ model Sprite { - id String @id @default(uuid()) - name String - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - spriteImages SpriteImage[] + id String @id @default(uuid()) + name String + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + spriteActions SpriteAction[] characterTypes CharacterType[] } -model SpriteImage { +model SpriteAction { id String @id @default(uuid()) spriteId String sprite Sprite @relation(fields: [spriteId], references: [id], onDelete: Cascade) - name String action String origin_x Decimal @default(0) origin_y Decimal @default(0) diff --git a/src/events/gm/sprite/Update.ts b/src/events/gm/sprite/Update.ts index 9d3cb04..f0289be 100644 --- a/src/events/gm/sprite/Update.ts +++ b/src/events/gm/sprite/Update.ts @@ -1,18 +1,18 @@ import { Server } from 'socket.io' import { TSocket } from '../../../utilities/Types' import prisma from '../../../utilities/Prisma' -import type { SpriteImage } from '@prisma/client' +import type { SpriteAction } from '@prisma/client' import path from 'path' import fs from 'fs' -type uploadSpriteImage = SpriteImage & { +type uploadSpriteAction = SpriteAction & { base64?: string } type Payload = { id: string name: string - spriteImages: uploadSpriteImage[] + spriteActions: uploadSpriteAction[] } /** @@ -33,11 +33,11 @@ export default function (socket: TSocket, io: Server) { }, data: { name: data.name, - spriteImages: { + spriteActions: { deleteMany: { spriteId: data.id }, - create: data.spriteImages + create: data.spriteActions } } }) diff --git a/src/repositories/SpriteRepository.ts b/src/repositories/SpriteRepository.ts index 6e0ba28..e46e007 100644 --- a/src/repositories/SpriteRepository.ts +++ b/src/repositories/SpriteRepository.ts @@ -6,7 +6,7 @@ class SpriteRepository { return prisma.sprite.findUnique({ where: { id }, include: { - spriteImages: true + spriteActions: true } }) }