From 7ef12795d970c7fcc9699db2836508052571d5f3 Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Fri, 6 Aug 2021 19:40:11 +0300 Subject: [PATCH] refactor: descriptions of funcs --- app/Repositories/ContactRepository.ts | 12 ++++++++---- app/Repositories/RoleRepository.ts | 14 +++++++++++++- app/Repositories/UserRepository.ts | 24 ++++++++++++++++++++++++ app/Services/UserService.ts | 19 ++++++++++++++++--- 4 files changed, 61 insertions(+), 8 deletions(-) diff --git a/app/Repositories/ContactRepository.ts b/app/Repositories/ContactRepository.ts index 0ac3b3e..f88cad3 100644 --- a/app/Repositories/ContactRepository.ts +++ b/app/Repositories/ContactRepository.ts @@ -11,7 +11,7 @@ export default class ContactRepository { } /** - * Creates user contacts in database + * Create user contacts in database * * @param user User for associate the contacts * @param data Data contacts @@ -27,12 +27,16 @@ export default class ContactRepository { return contacts; } + /** + * Update user contacts + * + * @param user User + * @param data Data to update + * @returns + */ public async update(user: User, data: Pick) { const contacts = await this.Contact.query().where('user_id', user.id).first(); - /** - * Update user contacts - */ if (contacts) { contacts.email = data.email; diff --git a/app/Repositories/RoleRepository.ts b/app/Repositories/RoleRepository.ts index c957b01..495bdc2 100644 --- a/app/Repositories/RoleRepository.ts +++ b/app/Repositories/RoleRepository.ts @@ -7,6 +7,12 @@ export default class RoleRepository { this.Role = Role; } + /** + * Get list of roles + * + * @param params Params to find roles + * @returns Array of roles + */ public async getAll(params?: any) { const { roles }: any = params || {}; const query = this.Role.query(); @@ -19,8 +25,14 @@ export default class RoleRepository { return data; } + /** + * Get role by slug + * + * @param slug Role slug + * @returns Role or null + */ public async getBySlug(slug: string) { - const role = await this.Role.query().where('slug', slug); + const role = await this.Role.query().where('slug', slug).first(); return role; } } diff --git a/app/Repositories/UserRepository.ts b/app/Repositories/UserRepository.ts index 0d54780..633c6f1 100644 --- a/app/Repositories/UserRepository.ts +++ b/app/Repositories/UserRepository.ts @@ -10,11 +10,23 @@ export default class UserRepository { this.User = User; } + /** + * Get user by id + * + * @param id User id + * @returns User or null + */ public async getById(id: string | number) { const data = await this.User.query().preload('contacts').preload('roles').where('id', id).first(); return data; } + /** + * Get users by role + * + * @param role Role + * @returns Array of users with role + */ public async getAllByRole(role: string) { const data = await this.User.query() .preload('contacts') @@ -23,6 +35,12 @@ export default class UserRepository { return data; } + /** + * Get list users + * + * @param params Params to find + * @returns Array of users + */ public async getAll(params?: any) { const { email, login, first_name, last_name, role }: any = params || {}; const query = this.User.query(); @@ -51,6 +69,12 @@ export default class UserRepository { return data; } + /** + * Create user + * + * @param data Data for create user + * @returns Created user + */ public async create(data: CreateUserValidator['schema']['props']) { const createdUser = await this.User.create({ first_name: data.first_name, diff --git a/app/Services/UserService.ts b/app/Services/UserService.ts index a88a7f4..89bee47 100644 --- a/app/Services/UserService.ts +++ b/app/Services/UserService.ts @@ -71,7 +71,7 @@ export default class UserService { * Create new user * * @param data Input for create new user - * @returns Response data + * @returns Response */ public async createUser(data: CreateUserValidator['schema']['props']): Promise { const user = await this.userRepository.create(data); @@ -87,6 +87,13 @@ export default class UserService { }; } + /** + * Update user + * + * @param id User id + * @param data Data to update + * @returns Response + */ public async updateUser(id: string | number, data: UpdateUserValidator['schema']['props']): Promise { const user = await this.userRepository.update(id, data); @@ -115,6 +122,12 @@ export default class UserService { }; } + /** + * Delete user + * + * @param id User id + * @returns Response + */ public async deleteUser(id: string | number): Promise { const user = await this.userRepository.delete(id); @@ -143,7 +156,7 @@ export default class UserService { * * @param id User id * @param input Roles - * @returns Result + * @returns Response */ public async attachRolesToUser(id: string | number, input: string[]): Promise { const user = await this.userRepository.getById(id); @@ -204,7 +217,7 @@ export default class UserService { * * @param id User id * @param input Roles - * @returns Result + * @returns Response */ public async detachRolesFromUser(id: string | number, input: string[]): Promise { const user = await this.userRepository.getById(id);