feat(ux/sms/engine): complete Persian UX writing overhaul, Wolog SMS integration and respin support

This commit is contained in:
s.esmaeili
2026-10-10 01:22:48 +03:30
parent c29d0e31b1
commit 0aafd098f8
223 changed files with 14421 additions and 1846 deletions
+54
View File
@@ -7,6 +7,10 @@ export declare enum AdminRole {
OPERATOR = "OPERATOR",
SUPPORT = "SUPPORT"
}
export declare enum AccessScopeType {
ALL = "ALL",
CUSTOM_CAMPAIGNS = "CUSTOM_CAMPAIGNS"
}
export declare enum UserStatus {
ACTIVE = "ACTIVE",
BLOCKED = "BLOCKED"
@@ -113,12 +117,14 @@ export interface PrizeResultDto {
code: string | null;
type: PrizeType;
image: string | null;
isRespin?: boolean;
}
export interface SpinResponseDto {
success: boolean;
spinId: string;
prize: PrizeResultDto | null;
remainingChances: number;
isRespin?: boolean;
}
export interface UserChancesDto {
totalChances: number;
@@ -168,4 +174,52 @@ export interface PrizeDistributionDataPoint {
count: number;
percentage: number;
}
export interface PermissionDto {
id: string;
code: string;
module: string;
name: string;
description?: string | null;
}
export interface RoleDto {
id: string;
code: string;
name: string;
description?: string | null;
isSystem: boolean;
permissions?: PermissionDto[];
_count?: {
admins?: number;
};
}
export interface WorkspaceDto {
id: string;
name: string;
slug: string;
description?: string | null;
status: string;
createdAt: string;
_count?: {
campaigns?: number;
};
}
export interface AdminManagerDto {
id: string;
name: string;
mobile: string;
email: string;
status: AdminStatus;
isSuperAdmin: boolean;
lastLoginAt?: string | null;
createdAt: string;
updatedAt: string;
roles: Array<{
role: RoleDto;
}>;
workspaceAssignments: Array<{
workspace: WorkspaceDto;
scopeType: AccessScopeType;
specificCampaignIds?: string[] | null;
}>;
}
export * from './farsi-number';
+6 -1
View File
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WheelDesign = exports.SmsStatus = exports.SmsType = exports.UserPrizeStatus = exports.ChanceTxnType = exports.SpinStatus = exports.PrizeStatus = exports.StockType = exports.PrizeType = exports.CampaignStatus = exports.UserStatus = exports.AdminRole = exports.AdminStatus = void 0;
exports.WheelDesign = exports.SmsStatus = exports.SmsType = exports.UserPrizeStatus = exports.ChanceTxnType = exports.SpinStatus = exports.PrizeStatus = exports.StockType = exports.PrizeType = exports.CampaignStatus = exports.UserStatus = exports.AccessScopeType = exports.AdminRole = exports.AdminStatus = void 0;
var AdminStatus;
(function (AdminStatus) {
AdminStatus["ACTIVE"] = "ACTIVE";
@@ -29,6 +29,11 @@ var AdminRole;
AdminRole["OPERATOR"] = "OPERATOR";
AdminRole["SUPPORT"] = "SUPPORT";
})(AdminRole || (exports.AdminRole = AdminRole = {}));
var AccessScopeType;
(function (AccessScopeType) {
AccessScopeType["ALL"] = "ALL";
AccessScopeType["CUSTOM_CAMPAIGNS"] = "CUSTOM_CAMPAIGNS";
})(AccessScopeType || (exports.AccessScopeType = AccessScopeType = {}));
var UserStatus;
(function (UserStatus) {
UserStatus["ACTIVE"] = "ACTIVE";
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,iDAAiD;AACjD,6CAA6C;;;;;;;;;;;;;;;;;AAE7C,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,4BAAe,CAAA;AACjB,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;AACzB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;AACzB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8CAA6B,CAAA;IAC7B,sDAAqC,CAAA;IACrC,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;AACnB,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,4CAAiC,CAAA;AACnC,CAAC,EALW,OAAO,uBAAP,OAAO,QAKlB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,IAAY,WAWX;AAXD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,0CAA2B,CAAA;AAC7B,CAAC,EAXW,WAAW,2BAAX,WAAW,QAWtB;AAmHD,iDAA+B"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAC7C,iDAAiD;AACjD,6CAA6C;;;;;;;;;;;;;;;;;AAE7C,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;AACrB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,wDAAqC,CAAA;AACvC,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;AACvB,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,4BAAe,CAAA;AACjB,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;AACzB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;AACzB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,8CAA6B,CAAA;IAC7B,sDAAqC,CAAA;IACrC,8CAA6B,CAAA;IAC7B,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;AACnB,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,0CAAuB,CAAA;IACvB,0CAAuB,CAAA;IACvB,8CAA2B,CAAA;IAC3B,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,sBAAW,CAAA;IACX,8BAAmB,CAAA;IACnB,gCAAqB,CAAA;IACrB,4CAAiC,CAAA;AACnC,CAAC,EALW,OAAO,uBAAP,OAAO,QAKlB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;AACnB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAED,IAAY,WAWX;AAXD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,wCAAyB,CAAA;IACzB,4CAA6B,CAAA;IAC7B,0CAA2B,CAAA;IAC3B,kDAAmC,CAAA;IACnC,0CAA2B,CAAA;IAC3B,4CAA6B,CAAA;IAC7B,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,0CAA2B,CAAA;AAC7B,CAAC,EAXW,WAAW,2BAAX,WAAW,QAWtB;AAyKD,iDAA+B"}
+2
View File
@@ -143,6 +143,7 @@ export interface PrizeResultDto {
code: string | null;
type: PrizeType;
image: string | null;
isRespin?: boolean;
}
export interface SpinResponseDto {
@@ -150,6 +151,7 @@ export interface SpinResponseDto {
spinId: string;
prize: PrizeResultDto | null;
remainingChances: number;
isRespin?: boolean;
}
export interface UserChancesDto {