chore: fix the sms length bug

This commit is contained in:
Mahyargdz
2025-05-24 16:20:56 +03:30
parent d5ae216784
commit 8b467cb832
3 changed files with 33 additions and 20 deletions
@@ -69,6 +69,14 @@ export class TicketsController {
return this.ticketsService.createTicket(createDto, userId); return this.ticketsService.createTicket(createDto, userId);
} }
// @ApiOperation({ summary: "create ticket by admin" })
// @AdminRoute()
// @PermissionsDec(PermissionEnum.TICKETS)
// @Post("admin")
// createTicketByAdmin(@Body() createDto: CreateTicketDto, @UserDec("id") adminId: string) {
// return this.ticketsService.createTicketByAdmin(createDto, adminId);
// }
@ApiOperation({ summary: "Get all tickets of user ==> user route" }) @ApiOperation({ summary: "Get all tickets of user ==> user route" })
@Get() @Get()
getTickets(@Query() queryDto: SearchTicketQueryDto, @UserDec("id") userId: string) { getTickets(@Query() queryDto: SearchTicketQueryDto, @UserDec("id") userId: string) {
+21 -20
View File
@@ -6,6 +6,7 @@ import { catchError, firstValueFrom } from "rxjs";
import { SmsMessage } from "../../../common/enums/message.enum"; import { SmsMessage } from "../../../common/enums/message.enum";
import { ISmsConfigs } from "../../../configs/sms.config"; import { ISmsConfigs } from "../../../configs/sms.config";
import { SMS_CONFIG } from "../constants"; import { SMS_CONFIG } from "../constants";
import { truncateIfLong } from "./string.utils";
import { ISmsGetLineResponse, ISmsVerifyBody, ISmsVerifyResponse } from "../interfaces/ISms"; import { ISmsGetLineResponse, ISmsVerifyBody, ISmsVerifyResponse } from "../interfaces/ISms";
@Injectable() @Injectable()
@@ -58,7 +59,7 @@ export class SmsService {
{ name: "code", value: otpCode }, { name: "code", value: otpCode },
{ name: "invoiceId", value: invoiceId.toString() }, { name: "invoiceId", value: invoiceId.toString() },
{ name: "price", value: Intl.NumberFormat("fa-IR").format(price) }, { name: "price", value: Intl.NumberFormat("fa-IR").format(price) },
{ name: "items", value: items }, { name: "items", value: truncateIfLong(items) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_INVOICE, TemplateId: this.smsConfigs.SMS_PATTERN_INVOICE,
@@ -120,7 +121,7 @@ export class SmsService {
Parameters: [ Parameters: [
{ name: "invoiceId", value: invoiceId }, { name: "invoiceId", value: invoiceId },
{ name: "price", value: Intl.NumberFormat("fa-IR").format(price) }, { name: "price", value: Intl.NumberFormat("fa-IR").format(price) },
{ name: "items", value: items }, { name: "items", value: truncateIfLong(items) },
{ name: "invoiceDate", value: invoiceDate }, { name: "invoiceDate", value: invoiceDate },
{ name: "dueDate", value: dueDate }, { name: "dueDate", value: dueDate },
], ],
@@ -152,8 +153,8 @@ export class SmsService {
async sendAnnouncementSms(mobile: string, title: string, description: string, date: string) { async sendAnnouncementSms(mobile: string, title: string, description: string, date: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "title", value: title }, { name: "title", value: truncateIfLong(title) },
{ name: "description", value: description }, { name: "description", value: truncateIfLong(description) },
{ name: "date", value: date }, { name: "date", value: date },
], ],
Mobile: mobile, Mobile: mobile,
@@ -216,7 +217,7 @@ export class SmsService {
Parameters: [ Parameters: [
{ name: "amount", value: amount }, { name: "amount", value: amount },
{ name: "newBalance", value: newBalance }, { name: "newBalance", value: newBalance },
{ name: "reason", value: reason }, { name: "reason", value: truncateIfLong(reason) },
{ name: "date", value: date }, { name: "date", value: date },
], ],
Mobile: mobile, Mobile: mobile,
@@ -248,7 +249,7 @@ export class SmsService {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "ticketId", value: ticketId }, { name: "ticketId", value: ticketId },
{ name: "subject", value: subject }, { name: "subject", value: truncateIfLong(subject) },
{ name: "date", value: date }, { name: "date", value: date },
], ],
Mobile: mobile, Mobile: mobile,
@@ -279,7 +280,7 @@ export class SmsService {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "ticketId", value: ticketId }, { name: "ticketId", value: ticketId },
{ name: "subject", value: subject }, { name: "subject", value: truncateIfLong(subject) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_TICKET_ANSWERED, TemplateId: this.smsConfigs.SMS_PATTERN_TICKET_ANSWERED,
@@ -309,7 +310,7 @@ export class SmsService {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "ticketId", value: ticketId }, { name: "ticketId", value: ticketId },
{ name: "subject", value: subject }, { name: "subject", value: truncateIfLong(subject) },
{ name: "user", value: user }, { name: "user", value: user },
], ],
Mobile: mobile, Mobile: mobile,
@@ -500,7 +501,7 @@ export class SmsService {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "invoiceId", value: invoiceId }, { name: "invoiceId", value: invoiceId },
{ name: "planName", value: planName }, { name: "planName", value: truncateIfLong(planName) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_SUBSCRIPTION_CANCELLED, TemplateId: this.smsConfigs.SMS_PATTERN_SUBSCRIPTION_CANCELLED,
@@ -608,8 +609,8 @@ export class SmsService {
async sendBlogNewCommentSms(mobile: string, blogTitle: string, fullName: string) { async sendBlogNewCommentSms(mobile: string, blogTitle: string, fullName: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "blogTitle", value: blogTitle }, { name: "blogTitle", value: truncateIfLong(blogTitle) },
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_BLOG_NEW_COMMENT, TemplateId: this.smsConfigs.SMS_PATTERN_BLOG_NEW_COMMENT,
@@ -639,8 +640,8 @@ export class SmsService {
async sendNewServiceReviewSms(mobile: string, serviceName: string, fullName: string) { async sendNewServiceReviewSms(mobile: string, serviceName: string, fullName: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "serviceName", value: serviceName }, { name: "serviceName", value: truncateIfLong(serviceName) },
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_NEW_SERVICE_REVIEW, TemplateId: this.smsConfigs.SMS_PATTERN_NEW_SERVICE_REVIEW,
@@ -669,7 +670,7 @@ export class SmsService {
async sendNewCustomerSms(mobile: string, newCustomerMobile: string, fullName: string) { async sendNewCustomerSms(mobile: string, newCustomerMobile: string, fullName: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
{ name: "mobile", value: newCustomerMobile }, { name: "mobile", value: newCustomerMobile },
], ],
Mobile: mobile, Mobile: mobile,
@@ -699,8 +700,8 @@ export class SmsService {
async sendNewSubscriptionSms(mobile: string, serviceName: string, fullName: string, date: string) { async sendNewSubscriptionSms(mobile: string, serviceName: string, fullName: string, date: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "serviceName", value: serviceName }, { name: "serviceName", value: truncateIfLong(serviceName) },
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
{ name: "date", value: date }, { name: "date", value: date },
], ],
Mobile: mobile, Mobile: mobile,
@@ -731,8 +732,8 @@ export class SmsService {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "ticketId", value: ticketId }, { name: "ticketId", value: ticketId },
{ name: "subject", value: subject }, { name: "subject", value: truncateIfLong(subject) },
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_NEW_TICKET_GLOBAL, TemplateId: this.smsConfigs.SMS_PATTERN_NEW_TICKET_GLOBAL,
@@ -761,8 +762,8 @@ export class SmsService {
async sendNewCriticismSms(mobile: string, title: string, fullName: string) { async sendNewCriticismSms(mobile: string, title: string, fullName: string) {
const smsData: ISmsVerifyBody = { const smsData: ISmsVerifyBody = {
Parameters: [ Parameters: [
{ name: "title", value: title }, { name: "title", value: truncateIfLong(title) },
{ name: "fullName", value: fullName }, { name: "fullName", value: truncateIfLong(fullName) },
], ],
Mobile: mobile, Mobile: mobile,
TemplateId: this.smsConfigs.SMS_PATTERN_NEW_CRITICISM, TemplateId: this.smsConfigs.SMS_PATTERN_NEW_CRITICISM,
@@ -0,0 +1,4 @@
export function truncateIfLong(str: string, maxLength = 30): string {
if (typeof str !== "string") return str;
return str.length > maxLength ? str.slice(0, maxLength) + "..." : str;
}