This repository has no description
1export interface Message {
2 /**
3 * URL to go to when the action button is clicked
4 */
5 action: string;
6 /**
7 * Additional action buttons
8 */
9 actions?: Action[];
10 /**
11 * Notification body
12 */
13 body: string;
14 /**
15 * Clear scheduled jobs for the given event types on the object_id before scheduling
16 * notifications
17 * TODO: generate jsonschema annotation
18 */
19 clear_schedule_for: string[];
20 /**
21 * Type of event that triggered the notification
22 * next-line-generate event-enum-jsonschema-values
23 */
24 event: Event;
25 /**
26 * Unique ID for the notification scheduling request.
27 */
28 id: string;
29 /**
30 * URL to an image to display in the notification
31 */
32 image?: string;
33 /**
34 * Churros ID of the ressource (the ticket, the post, the comment, etc)
35 * Used to determine to whom the notification should be sent
36 * For godchild_request, this is not a user id, but a godparent request id.
37 */
38 object_id: string;
39 /**
40 * When to push the notification
41 */
42 send_at: Date;
43 /**
44 * Notification title
45 */
46 title: string;
47}
48
49export interface Action {
50 action: string;
51 label: string;
52}
53
54/**
55 * Type of event that triggered the notification
56 * next-line-generate event-enum-jsonschema-values
57 */
58export enum Event {
59 BookingPaid = "booking_paid",
60 ClearSchedule = "clear_schedule",
61 ClearStoredSchedule = "clear_stored_schedule",
62 ContributionPaid = "contribution_paid",
63 Custom = "custom",
64 GodchildAccepted = "godchild_accepted",
65 GodchildRejected = "godchild_rejected",
66 GodchildRequest = "godchild_request",
67 LoginStuck = "login_stuck",
68 NewPost = "new_post",
69 PendingSignup = "pending_signup",
70 RestoreSchedule = "restore_schedule",
71 RestoreScheduleEager = "restore_schedule_eager",
72 SaveSchedule = "save_schedule",
73 ShotgunClosesSoon = "shotgun_closes_soon",
74 ShotgunOpensSoon = "shotgun_opens_soon",
75 ShowScheduledJobs = "show_scheduled_jobs",
76 Test = "test",
77}