mirror of https://github.com/wg-easy/wg-easy
9 changed files with 82 additions and 59 deletions
@ -1,10 +1,7 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
setHeader(event, 'Content-Type', 'application/json'); |
setHeader(event, 'Content-Type', 'application/json'); |
||||
|
|
||||
const system = await InMemory.getSystem(); |
const provider = InMemory; // TODO multiple provider
|
||||
if (system) { |
const lang = await SystemRepository.getLang(provider); |
||||
const { lang } = system; |
|
||||
return lang; |
return lang; |
||||
} |
|
||||
return 'en'; |
|
||||
}); |
}); |
||||
|
@ -1,14 +0,0 @@ |
|||||
import type { Undefined } from '../database'; |
|
||||
import type System from '../entities/system'; |
|
||||
|
|
||||
/** |
|
||||
* Abstract class for system-related database operations. |
|
||||
* This class provides a method for retrieving system configuration data from the database. |
|
||||
*/ |
|
||||
export default abstract class SystemRepository { |
|
||||
/** |
|
||||
* Retrieves system data from the database. |
|
||||
* @returns {Promise<System | Undefined>} The system data or null if not found. |
|
||||
*/ |
|
||||
abstract getSystem(): Promise<System | Undefined>; |
|
||||
} |
|
@ -1,24 +0,0 @@ |
|||||
import type User from '../entities/user'; |
|
||||
import type { Identity, Undefined } from '../database'; |
|
||||
|
|
||||
/** |
|
||||
* Abstract class for user-related database operations. |
|
||||
* This class provides methods for retrieving and saving user data. |
|
||||
*/ |
|
||||
export default abstract class UserRepository { |
|
||||
/** |
|
||||
* Retrieves a user by their ID or by User structure from the database. |
|
||||
* @param {Identity<User>} id - The ID of the user or a user. |
|
||||
* @returns {Promise<User | Undefined>} The user data or null if not found. |
|
||||
*/ |
|
||||
abstract getUser(id: Identity<User>): Promise<User | Undefined>; |
|
||||
|
|
||||
/** |
|
||||
* Creates or Updates a user in the database. |
|
||||
* @param {User} user - The user to be saved. |
|
||||
* |
|
||||
* **Note:** If the user already exists, this method will update their details. |
|
||||
* If the user does not exist, it will create a new user entry. |
|
||||
*/ |
|
||||
abstract saveUser(user: User): Promise<void>; |
|
||||
} |
|
@ -0,0 +1,14 @@ |
|||||
|
import type { Lang, SystemProvider } from '@/server/databases/entities/system'; |
||||
|
|
||||
|
class SystemRepository { |
||||
|
async getLang(provider: SystemProvider): Promise<Lang> { |
||||
|
const _system = await provider.getSystem(); |
||||
|
if (_system) { |
||||
|
const { lang } = _system; |
||||
|
return lang; |
||||
|
} |
||||
|
return 'en'; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default new SystemRepository(); |
@ -0,0 +1,11 @@ |
|||||
|
import type User from '@/server/databases/entities/user'; |
||||
|
import type { UserProvider } from '@/server/databases/entities/user'; |
||||
|
import type { Undefined } from '@/server/databases/database'; |
||||
|
|
||||
|
class UserRepository { |
||||
|
newUser(db: UserProvider): Promise<User | Undefined> { |
||||
|
return db.getUser(''); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
export default new UserRepository(); |
Loading…
Reference in new issue