44} from 'app/Contracts/Dtos/<%= namePascal %>Dto'
55
66import { Options } from 'app/Decorators/Services/Options'
7+ import { <%= namePascal %>Resource } from 'app/Resources/<%= namePascal %>Resource'
78import { <%= namePascal %>Repository } from 'app/Repositories/<%= namePascal %>Repository'
89import { Inject, Injectable, NotFoundException } from '@nestjs/common'
910import { ApiRequestContract, PaginationContract } from '@secjs/contracts'
@@ -13,13 +14,7 @@ export class <%= namePascal %>Service {
1314 @Inject(<%= namePascal %>Repository)
1415 private <%= nameCamel %>Repository: <%= namePascal %>Repository
1516
16- @Options()
17- async findAll(paginate: PaginationContract, options?: ApiRequestContract) {
18- return this.<%= nameCamel %>Repository.getAll(paginate, options)
19- }
20-
21- @Options()
22- async findOne(id: string, options?: ApiRequestContract) {
17+ async findOneAndValidate(id: string, options?: ApiRequestContract) {
2318 const <%= nameCamel %> = await this.<%= nameCamel %>Repository.getOne(id, options)
2419
2520 if (!<%= nameCamel %>) {
@@ -29,19 +24,39 @@ export class <%= namePascal %>Service {
2924 return <%= nameCamel %>
3025 }
3126
27+ @Options()
28+ async findAll(paginate: PaginationContract, options?: ApiRequestContract) {
29+ const { data, meta, links }: any = await this.<%= nameCamel %>Repository.getAll(paginate, options)
30+
31+ return {
32+ meta,
33+ links,
34+ data: new <%= namePascal %>Resource().toArray(data),
35+ }
36+ }
37+
38+ @Options()
39+ async findOne(id: string, options?: ApiRequestContract) {
40+ const <%= nameCamel %> = await this.findOneAndValidate(id, options)
41+
42+ return new <%= namePascal %>Resource().toJson(<%= nameCamel %>)
43+ }
44+
3245 async createOne(dto: Create<%= namePascal %>Dto) {
33- return this.<%= nameCamel %>Repository.storeOne(dto)
46+ const <%= nameCamel %> = await this.<%= nameCamel %>Repository.storeOne(dto)
47+
48+ return new <%= namePascal %>Resource().toJson(<%= nameCamel %>)
3449 }
3550
3651 async updateOne(id: string, dto: Update<%= namePascal %>Dto) {
37- const <%= nameCamel %> = await this.findOne(id )
52+ const <%= nameCamel %> = await this.<%= nameCamel %>Repository.updateOne(await this.findOneAndValidate(id), dto )
3853
39- return this. <%= nameCamel %>Repository.updateOne (<%= nameCamel %>, dto )
54+ return new <%= namePascal %>Resource().toJson (<%= nameCamel %>)
4055 }
4156
4257 async deleteOne(id: string) {
43- const <%= nameCamel %> = await this.findOne(id )
58+ const <%= nameCamel %> = await this.<%= nameCamel %>Repository.deleteOne(await this.findOneAndValidate(id) )
4459
45- return this. <%= nameCamel %>Repository.deleteOne (<%= nameCamel %>)
60+ return new <%= namePascal %>Resource().toJson (<%= nameCamel %>)
4661 }
4762}
0 commit comments