1 /**
2 * Copyright © The Bot Blog 2019
3 * License: MIT (https://github.com/TheBotBlog/thebotbloglib/blob/master/LICENSE)
4 * Author: Jacob Jensen (bausshf)
5 *
6 * This module contains interfaces for the Graph API.
7 */
8 module thebotbloglib.graphapi;
9 
10 import vibe.data.serialization : optional;
11 
12 package(thebotbloglib):
13 /// GraphAPIPaging
14 final class GraphAPIPaging
15 {
16   public:
17   /// next
18   @optional string next;
19   /// cursors
20   @optional GraphAPIPagingCursor cursors;
21 }
22 
23 /// GraphAPIPagingCursor
24 final class GraphAPIPagingCursor
25 {
26   public:
27   /// before
28   @optional string before;
29   /// after
30   @optional string after;
31 }
32 
33 /// GraphAPIComments
34 final class GraphAPIComments
35 {
36   public:
37   /// data
38   GraphAPIComment[] data;
39   /// paging
40   GraphAPIPaging paging;
41 }
42 
43 /// GraphAPIComment
44 final class GraphAPIComment
45 {
46   public:
47   /// created_time
48   string created_time;
49   /// from
50   GraphAPICommentUser from;
51   /// message
52   string message;
53   /// id
54   string id;
55 }
56 
57 /// GraphAPICommentUser
58 final class GraphAPICommentUser
59 {
60   public:
61   /// name
62   string name;
63   /// id
64   string id;
65 }
66 
67 /// GraphAPIObjectResponse
68 final class GraphAPIObjectResponse
69 {
70   public:
71   /// id
72   string id;
73   /// post_id
74   @optional string post_id;
75 }
76 
77 /// GraphAPIObjectReactions
78 final class GraphAPIObjectReactions
79 {
80   public:
81   /// data
82   GraphAPIObjectReact[] data;
83   /// paging
84   GraphAPIPaging paging;
85 }
86 
87 /// GraphAPIObjectReact
88 final class GraphAPIObjectReact
89 {
90   public:
91   /// id
92   string id;
93   /// name
94   string name;
95   /// type
96   string type;
97 }