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 }