Skip to content
File

Blob: src/worker/serializers/admin.ts

typescript26 lines
1import { AdminDomainsResponse } from "@/shared/contracts";
2 
3interface AdminDomainLike {
4 domain: string;
5 isActive: boolean;
6 createdAt: Date;
7 inboxCount: number;
8 canDelete: boolean;
9}
10 
11export function serializeAdminDomain(item: AdminDomainLike) {
12 return {
13 domain: item.domain,
14 isActive: item.isActive,
15 createdAt: item.createdAt.toISOString(),
16 inboxCount: item.inboxCount,
17 canDelete: item.canDelete,
18 };
19}
20 
21export function createAdminDomainsResponse(items: AdminDomainLike[]) {
22 return AdminDomainsResponse.create({
23 domains: items.map(serializeAdminDomain),
24 });
25}