forked from noxious/server
Improved folder structures for better maintainability
This commit is contained in:
6
src/services/AssetService.ts
Normal file
6
src/services/AssetService.ts
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
class AssetService
|
||||
{
|
||||
}
|
||||
|
||||
export default AssetService;
|
8
src/services/CharacterService.ts
Normal file
8
src/services/CharacterService.ts
Normal file
@ -0,0 +1,8 @@
|
||||
import {Character} from "@prisma/client";
|
||||
|
||||
class CharacterService
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
export default CharacterService;
|
31
src/services/UserService.ts
Normal file
31
src/services/UserService.ts
Normal file
@ -0,0 +1,31 @@
|
||||
import bcrypt from 'bcryptjs'
|
||||
import UserRepository from '../repositories/UserRepository'
|
||||
|
||||
class UserService
|
||||
{
|
||||
async login(username: string, password: string): Promise<boolean | any> {
|
||||
const user = await UserRepository.getByUsername(username);
|
||||
if (!user) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const passwordMatch = await bcrypt.compare(password, user.password);
|
||||
if (!passwordMatch) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
async register(username: string, password: string): Promise<boolean | any> {
|
||||
const user = await UserRepository.getByUsername(username);
|
||||
if (user) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const hashedPassword = await bcrypt.hash(password, 10);
|
||||
return await UserRepository.create(username, hashedPassword)
|
||||
}
|
||||
}
|
||||
|
||||
export default UserService;
|
25
src/services/ZoneService.ts
Normal file
25
src/services/ZoneService.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import {Zone} from "@prisma/client";
|
||||
import ZoneRepository from "../repositories/ZoneRepository";
|
||||
|
||||
class ZoneService
|
||||
{
|
||||
async createDemoZone(): Promise<boolean>
|
||||
{
|
||||
await ZoneRepository.create("Demo Zone", 10, 10, [
|
||||
['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'],
|
||||
['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'],
|
||||
['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'],
|
||||
['blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile', 'blank_tile'],
|
||||
])
|
||||
console.log("Demo zone created.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export default ZoneService;
|
Reference in New Issue
Block a user