DB updates, removed all CRUD func's from repositories as prisma's func's are sufficient and reduces boilerplate.

This commit is contained in:
2024-07-22 02:16:35 +02:00
parent 6131a8455a
commit 34d6aa3d1b
23 changed files with 196 additions and 217 deletions

View File

@ -1,8 +1,10 @@
import bcrypt from 'bcryptjs'
import UserRepository from '../repositories/UserRepository'
import prisma from '../utilities/Prisma'
import { User } from '@prisma/client'
class UserService {
async login(username: string, password: string): Promise<boolean | any> {
async login(username: string, password: string): Promise<boolean | User> {
const user = await UserRepository.getByUsername(username)
if (!user) {
return false
@ -16,14 +18,19 @@ class UserService {
return user
}
async register(username: string, password: string): Promise<boolean | any> {
async register(username: string, password: string): Promise<boolean | User> {
const user = await UserRepository.getByUsername(username)
if (user) {
return false
}
const hashedPassword = await bcrypt.hash(password, 10)
return await UserRepository.create(username, hashedPassword)
return prisma.user.create({
data: {
username,
password: hashedPassword
}
})
}
}

View File

@ -1,9 +1,8 @@
import { Zone } from '@prisma/client'
import ZoneRepository from '../repositories/ZoneRepository'
import prisma from '../utilities/Prisma'
class ZoneService {
async createDemoZone(): Promise<boolean> {
await ZoneRepository.create('Demo Zone', 10, 10, [
const tiles = [
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
@ -14,7 +13,17 @@ class ZoneService {
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile']
])
]
await prisma.zone.create({
data: {
name: 'Demo Zone',
width: 10,
height: 10,
tiles
}
})
console.log('Demo zone created.')
return true
}