mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 21:06:06 +00:00
30 lines
946 B
TypeScript
30 lines
946 B
TypeScript
import { object, z } from 'zod';
|
|
import { MessageEntitySchema } from './message';
|
|
import { BaseEntity } from 'src/app/utils/entity';
|
|
|
|
const DistributionEntitySchema = z.object({
|
|
$messageIdMemberId: z.string().optional(),
|
|
messageId: z.string(),
|
|
memberId: z.number(),
|
|
readAt: z.string().nullable(),
|
|
deliverAt: z.string().nullable(),
|
|
roomId: z.string(),
|
|
})
|
|
|
|
export type IDistribution = z.infer<typeof DistributionEntitySchema>
|
|
|
|
|
|
export class DistributionEntity extends BaseEntity<DistributionEntity>(DistributionEntitySchema) implements IDistribution{
|
|
|
|
roomId: typeof DistributionEntitySchema._input.roomId
|
|
readAt: typeof DistributionEntitySchema._input.readAt
|
|
messageId: typeof DistributionEntitySchema._input.messageId
|
|
memberId: typeof DistributionEntitySchema._input.memberId
|
|
deliverAt: typeof DistributionEntitySchema._input.deliverAt
|
|
|
|
constructor(data: IDistribution) {
|
|
super();
|
|
Object.assign(this, data)
|
|
}
|
|
|
|
} |