Paginate Tahesab customer list by code windows past the 5000 cap.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-04 11:09:40 +03:30
co-authored by Cursor
parent 60c16053a4
commit 236f73de93
3 changed files with 233 additions and 45 deletions
+35 -2
View File
@@ -7,6 +7,7 @@ import {
IsOptional,
IsString,
IsUrl,
Max,
MaxLength,
Min,
MinLength,
@@ -155,10 +156,24 @@ export class ImportBulkFromTahesabDto {
@Min(1)
toCode?: number;
/** اگر true باشد همهٔ مشتریان با اسکن بازه‌ای خوانده می‌شوند */
/** اگر true باشد یک صفحه از مشتریان (بازهٔ کد) خوانده می‌شود */
@IsOptional()
@IsBoolean()
listAll?: boolean;
/** صفحهٔ بازهٔ کد هنگام listAll (پیش‌فرض ۱) */
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(1)
page?: number;
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(100)
@Max(2000)
pageSize?: number;
}
export class SearchTahesabDto {
@@ -191,10 +206,28 @@ export class SearchTahesabDto {
@Min(1)
toCode?: number;
/** بازه خالی در UI → همهٔ مشتریان */
/** بازه خالی در UI → مرور صفحه‌ای همهٔ مشتریان */
@IsOptional()
@IsBoolean()
listAll?: boolean;
/**
* صفحهٔ بازهٔ کد برای listAll (۱ = کد ۱…۲۰۰۰، ۲ = ۲۰۰۱…۴۰۰۰، …).
* سقف ۵۰۰۰ دیگر اعمال نمی‌شود.
*/
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(1)
page?: number;
/** اندازهٔ پنجرهٔ کد در هر صفحه (پیش‌فرض ۲۰۰۰، حداکثر ۲۰۰۰) */
@IsOptional()
@Type(() => Number)
@IsInt()
@Min(100)
@Max(2000)
pageSize?: number;
}
export class SearchTahesabProductsDto {