feat: add response DTOs for various services across modules
- Created response DTOs for ConfigService, AppService, AuthService, CatalogsService, AccountsService, BusinessActivityComplexesService, ComplexPosesService, SalesInvoicesService, BusinessActivitiesService, ConsumerBusinessActivityGoodsService, and others. - Implemented Create, FindAll, FindOne, and Update response types for services in consumer, partners, and POS modules. - Added request DTOs for creating and updating goods in the consumer business activities module. - Introduced filtering DTO for partner licenses. - Enhanced response mapping for partner license activations.
This commit is contained in:
@@ -21,5 +21,6 @@ export const UploadedFileTypes = {
|
||||
GOOD: 'good',
|
||||
SERVICE: 'service',
|
||||
PROFILE_AVATAR: 'profile_avatar',
|
||||
PARTNER_LOGO: 'partner_logo',
|
||||
}
|
||||
export type UploadedFileTypes = (typeof UploadedFileTypes)[keyof typeof UploadedFileTypes]
|
||||
|
||||
@@ -27,14 +27,14 @@ export class ConsumerGuard {
|
||||
|
||||
const consumer = await this.prisma.consumer.findFirst({
|
||||
where: {
|
||||
consumer_accounts: {
|
||||
accounts: {
|
||||
some: {
|
||||
id: tokenPayload.account_id,
|
||||
},
|
||||
},
|
||||
},
|
||||
select: {
|
||||
consumer_accounts: {
|
||||
accounts: {
|
||||
select: {
|
||||
role: true,
|
||||
},
|
||||
|
||||
@@ -23,14 +23,14 @@ export class PartnerGuard {
|
||||
|
||||
const partner = await this.prisma.partner.findFirst({
|
||||
where: {
|
||||
partner_accounts: {
|
||||
accounts: {
|
||||
some: {
|
||||
id: tokenPayload.account_id,
|
||||
},
|
||||
},
|
||||
},
|
||||
select: {
|
||||
partner_accounts: {
|
||||
accounts: {
|
||||
select: {
|
||||
role: true,
|
||||
},
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import { ConsumerSelect } from '@/generated/prisma/models'
|
||||
|
||||
export const infoSelect: ConsumerSelect = {
|
||||
legal: {
|
||||
select: {
|
||||
name: true,
|
||||
registration_code: true,
|
||||
partner: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
code: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
individual: {
|
||||
select: {
|
||||
first_name: true,
|
||||
last_name: true,
|
||||
mobile_number: true,
|
||||
partner: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
code: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import * as pos from './pos'
|
||||
import * as CONSUMER from './consumer'
|
||||
import * as POS from './pos'
|
||||
|
||||
export const QUERY_CONSTANTS = {
|
||||
pos,
|
||||
POS,
|
||||
CONSUMER,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from './jwt-user.util'
|
||||
export * from './mappers/consumer_mappers.util'
|
||||
export * from './password.util'
|
||||
export * from './tracking-code-generator.util'
|
||||
@@ -0,0 +1,27 @@
|
||||
export default (consumer: any) => {
|
||||
const { legal, individual, activation, ...rest } = consumer
|
||||
|
||||
const partner = legal?.partner || individual?.partner
|
||||
delete legal?.partner
|
||||
delete individual?.partner
|
||||
|
||||
return {
|
||||
...rest,
|
||||
partner,
|
||||
legal: legal ? { ...legal } : null,
|
||||
individual: individual
|
||||
? { ...individual, fullname: `${rest?.first_name} ${rest?.last_name}` }
|
||||
: null,
|
||||
name: legal ? legal.name : `${individual?.first_name} ${individual?.last_name}`,
|
||||
// license_info: prepareLicenseInfo(activation),
|
||||
}
|
||||
}
|
||||
|
||||
function prepareLicenseInfo(latestLicense: any) {
|
||||
if (!latestLicense) return null
|
||||
const { license, ...rest } = latestLicense
|
||||
|
||||
return {
|
||||
...rest,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user