feat: add DTOs and services for tax switch integration

- Created SendBulkSaleInvoicesDto for handling bulk sale invoice requests.
- Implemented TaxSwitchSendPayloadDto and related DTOs for tax switch item payloads and results.
- Developed SalesInvoiceTaxSwitchService to manage tax switch operations, including sending and retrieving tax information.
- Added SalesInvoiceTaxService for handling sales invoice tax logic, including bulk sending and persistence of results.
- Introduced NamaTaxSwitchAdapter to interact with the tax switch service, simulating external API responses.
- Created SendBulkSalesInvoicesDto for POS module to handle bulk sales invoice requests.
This commit is contained in:
2026-04-27 22:11:05 +03:30
parent dee96b6e91
commit 58a7c359d8
68 changed files with 7896 additions and 3534 deletions
+2 -17
View File
@@ -3,6 +3,7 @@ import { ITokenPayload } from '@/modules/auth/auth.utils'
import { PrismaService } from '@/prisma/prisma.service'
import { ExecutionContext, ForbiddenException, Injectable } from '@nestjs/common'
import { Request as ExpressRequest } from 'express'
import { QUERY_CONSTANTS } from '../queryConstants'
@Injectable()
export class PosGuard {
@@ -18,7 +19,6 @@ export class PosGuard {
throw new ForbiddenException('شما دسترسی لازم را ندارید.')
}
const now = new Date()
const cookie = req.cookies
const { posId } = cookie
@@ -40,22 +40,7 @@ export class PosGuard {
},
],
license_activation: {
OR: [
{
expires_at: {
gte: now,
},
},
{
license_renews: {
some: {
expires_at: {
gte: now,
},
},
},
},
],
...QUERY_CONSTANTS.LICENSE_ACTIVATION.activeOnDate(),
},
},
})