40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
|
|
|
|
export class QuotaStatisticsDto {
|
|
@ApiProperty({ description: "Total number of email users", example: 150 })
|
|
totalUsers: number;
|
|
|
|
@ApiProperty({ description: "Total quota used by all users in bytes", example: 5368709120 })
|
|
totalQuotaUsed: number;
|
|
|
|
@ApiProperty({ description: "Total quota allowed for all users in bytes", example: 21474836480 })
|
|
totalQuotaAllowed: number;
|
|
|
|
@ApiProperty({ description: "Average quota usage percentage", example: 25.0 })
|
|
averageUsagePercent: number;
|
|
|
|
@ApiPropertyOptional({
|
|
description: "Last time quota was synced",
|
|
example: "2024-01-15T10:30:00Z",
|
|
type: String,
|
|
format: "date-time",
|
|
})
|
|
lastSyncTime: Date | null;
|
|
}
|
|
|
|
export class QuotaInfoDto {
|
|
@ApiProperty({ description: "Quota used in bytes", example: 1073741824 })
|
|
used: number;
|
|
|
|
@ApiProperty({ description: "Quota allowed in bytes", example: 5368709120 })
|
|
allowed: number;
|
|
}
|
|
|
|
export class SyncResultDto {
|
|
@ApiProperty({ description: "Number of successfully synced users", example: 145 })
|
|
success: number;
|
|
|
|
@ApiProperty({ description: "Number of users with sync errors", example: 5 })
|
|
errors: number;
|
|
}
|