DB updates, removed all CRUD func's from repositories as prisma's func's are sufficient and reduces boilerplate.
This commit is contained in:
@ -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
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user