-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathticket-reference.ts
More file actions
43 lines (35 loc) · 1.21 KB
/
ticket-reference.ts
File metadata and controls
43 lines (35 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { z } from 'zod';
export const TicketRelationshipType = z.enum([
'blocks',
'blocked_by',
'duplicates',
'duplicate_of',
'relates_to',
'resolves',
'resolved_by'
]);
export type TicketRelationshipType = z.infer<typeof TicketRelationshipType>;
export const TicketReference = z.object({
ticket_reference_id: z.string().uuid(),
source_ticket_id: z.string().uuid(),
source_ticket_slug: z.string().regex(/^\d{8}$/),
source_ticket_subject: z.string(),
target_ticket_id: z.string().uuid(),
target_ticket_slug: z.string().regex(/^\d{8}$/),
target_ticket_subject: z.string(),
relationship: TicketRelationshipType,
user_identifier: z.string(),
create_date: z.string()
});
export type TicketReference = z.infer<typeof TicketReference>;
export const CreateTicketReference = z.object({
source_ticket_id: z.string().uuid(),
target_ticket_id: z.string().uuid(),
relationship: TicketRelationshipType
});
export type CreateTicketReference = z.infer<typeof CreateTicketReference>;
export const CreateTicketReferenceRequest = z.object({
target_ticket_id: z.string().uuid(),
relationship: TicketRelationshipType
});
export type CreateTicketReferenceRequest = z.infer<typeof CreateTicketReferenceRequest>;