Changes for page API V2.0

Last modified by Treyfane Dingo on 2024/03/10 02:07

From version 8.1
edited by Treyfane Dingo
on 2023/09/25 23:03
Change comment: There is no comment for this version
To version 11.1
edited by Treyfane Dingo
on 2024/03/10 02:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -20,6 +20,10 @@
20 20  |found|Returns all active (not returned) found items from the Lost & Found Database
21 21  |returned|Returns all inactive / returned items from the Lost & Found Database
22 22  |briefings| |Returns all briefings (i.e. Security News) classified as PUBLIC
23 +|(% colspan="1" rowspan="2" %)assets|checkout|Checks out an item described by data array
24 +|checkin|Checks in an item described by data array
25 +|(% colspan="1" rowspan="2" %)attendee|lockerservice|Returns Attendee Information described by data for the LockerService
26 +|onfl|Returns Attendee Information described by data for the OverNight Fursuit Locker
23 23  
24 24  The request "lostandfounddb" without a command will return the active Lost & Found Database entries for the respective Convention as a JSON. This includes Links to the uploaded images. Thus, the information can be processed on an external Website, e.g. the convention's homepage.
25 25  
... ... @@ -40,7 +40,8 @@
40 40  {{{ae629a834729fd3aac6d1f827b1793b2 Attendee Database
41 41  ae629a834729fd3aac6d1f827b1793b1 Operatives Database
42 42  ae629a834729fd3aac6d1f827b1793b0 Lost & Found Database
43 -ae629a834729fd3aac6d1f827b1793b3 Briefings Database}}}
47 +ae629a834729fd3aac6d1f827b1793b3 Briefings Database
48 +ae629a834729fd3aac6d1f827b1793b4 Personal Assets Database}}}
44 44  
45 45  === Output ===
46 46  
... ... @@ -49,7 +49,43 @@
49 49  ==== Lost & Found Database ====
50 50  
51 51  {{box}}
52 -{"data":[{"id":"1","image":"https:\/\/api.lassie.online\/lassie\/images\/lostandfound_db\/9a7a1039bcbe887ed2f57a5b64c56c51.png","title":"A Piece of Cake","description":"Just another piece of cake","status":"F","lost_timestamp":"","found_timestamp":"2021-06-22 19:08:16","return_timestamp":""}]}
57 +{
58 + "data": [
59 + {
60 + "id": 1925,
61 + "image": null,
62 + "thumb": null,
63 + "title": "Image",
64 + "description": "invisible, watercolour, found in Schroedinger's box",
65 + "status": "F",
66 + "lost_timestamp": null,
67 + "found_timestamp": "2023-11-24 00:27:24",
68 + "return_timestamp": null
69 + },
70 + {
71 + "id": 1921,
72 + "image": "https:~/~/api.lassie.furcom.org/images/lostandfound_db/fe3c6670a33d8f4199ffa95a5c23b622.png",
73 + "thumb": "https:~/~/api.lassie.furcom.org/images/lostandfound_db/thumbnail/fe3c6670a33d8f4199ffa95a5c23b622.png",
74 + "title": "Sense of Taste",
75 + "description": "lost in Hotel Restaurant",
76 + "status": "L",
77 + "lost_timestamp": "2023-11-01 16:13:02",
78 + "found_timestamp": null,
79 + "return_timestamp": null
80 + },
81 + {
82 + "id": 1920,
83 + "image": "https:~/~/api.lassie.furcom.org/images/lostandfound_db/bc7c343fb3807d4d41b7e04fa909aad5.png",
84 + "thumb": "https:~/~/api.lassie.furcom.org/images/lostandfound_db/thumbnail/bc7c343fb3807d4d41b7e04fa909aad5.png",
85 + "title": "Vape",
86 + "description": "black / rainbow, \"GEEKVAPE\", found at Open Stage",
87 + "status": "F",
88 + "lost_timestamp": null,
89 + "found_timestamp": "2023-09-30 23:52:38",
90 + "return_timestamp": null
91 + }
92 + ]
93 +}
53 53  {{/box}}
54 54  
55 55  (% style="width:50%" %)
... ... @@ -68,7 +68,20 @@
68 68  ==== Briefings Database ====
69 69  
70 70  {{box}}
71 -{"data":[{"id":"17","class":"P","topic":"UPDATE - Security News 21.12.2021","content":"<div id=\"briefing_content_content\"><div><b>Germany cancelled New Years Eve<\/b><\/div><div>Although it might calendar wise be unwise, Germany just cancelled New Years Eve. Further information can be obtained elsewhere.<\/div><div><br><\/div><div><b>Some things found<\/b><\/div><div>Security\r\n wants to remind all attendees that information about lost or found \r\nitems can be obtained via the APP or the Website of the convention. Lost\r\n &amp; Found is maintained by security and located in the security \r\noffice.<\/div><div><br><\/div><div><b>Quote of the day<\/b><\/div><div>\"Where is your neighbor?\"<\/div><div>\"He's in the garden ...\"<\/div><div>\"I can't see him ...\"<\/div><div>\"Oh, you'd have to dig quite a bit ...\"<br><\/div><div><br><\/div><\/div>","ops_id":"112","datetime_creation":"2021-12-21 22:19:45","datetime_lastchange":"","datetime":"2021-12-21 22:19:45"}]}
112 +{
113 + "data": [
114 + {
115 + "id": "17",
116 + "class": "P",
117 + "topic": "UPDATE - Security News 21.12.2021",
118 + "content": "<div id=\"briefing_content_content\"><div><b>Germany cancelled New Years Eve</b></div><div>Although it might calendar wise be unwise, Germany just cancelled New Years Eve. Further information can be obtained elsewhere.</div><div><br></div><div><b>Some things found</b></div><div>Security\r\n wants to remind all attendees that information about lost or found \r\nitems can be obtained via the APP or the Website of the convention. Lost\r\n &amp; Found is maintained by security and located in the security \r\noffice.</div><div><br></div><div><b>Quote of the day</b></div><div>\"Where is your neighbour?\"</div><div>\"He's in the garden ...\"</div><div>\"I can't see him ...\"</div><div>\"Oh, you'd have to dig quite a bit ...\"<br></div><div><br></div></div>",
119 + "ops_id": "112",
120 + "datetime_creation": "2021-12-21 22:19:45",
121 + "datetime_lastchange": "",
122 + "datetime": "2021-12-21 22:19:45"
123 + }
124 + ]
125 +}
72 72  {{/box}}
73 73  
74 74  (% style="width:50%" %)
... ... @@ -83,10 +83,81 @@
83 83  |datetime_lastchange|ISO date|null
84 84  |datetime|ISO date which should be displayed. Is creation or lastchange whatever is bigger.|-
85 85  
140 +==== (% id="cke_bm_27662S" style="display:none" %) (%%)Personal Assets Database ====
141 +
142 +When giving a command to the Personal Assets Database, a data array has to be POSTed along with the request and command.
143 +
144 +(% style="width:955px" %)
145 +|(% colspan="3" style="width:182px" %)**Data Array**
146 +|(% style="width:182px" %)**Key**|(% colspan="2" rowspan="1" style="width:652px" %)**Field Content**
147 +|(% style="width:182px" %)ops_id|(% colspan="2" rowspan="1" style="width:652px" %)Numeric Value, Collar ID of the Operative
148 +|(% style="width:182px" %)attendee|(% colspan="2" rowspan="1" style="width:652px" %)Numeric Value, Attendee Badge ID
149 +|(% style="width:182px" %)type|(% colspan="2" rowspan="1" style="width:652px" %)Numeric Value, the id of the Personal Asset type
150 +|(% style="width:182px" %)serial|(% colspan="2" rowspan="1" style="width:652px" %)Text, the Serial Number of the Personal Asset
151 +
152 +{{box}}
153 +{
154 + "data":{
155 + "command":"checkin",
156 + "id":1715,
157 + "attendee":12,
158 + "type":"Donation Bag",
159 + "serial":"123456789",
160 + "out":"10.03.2024 02:51",
161 + "out_by":112,
162 + "in":"10.03.2024 02:51",
163 + "in_by":112
164 + }
165 +}
166 +{{/box}}
167 +
168 +(% style="width:50%" %)
169 +|=(% colspan="3" %)Personal Assets fieldset
170 +|=(% scope="col" %)Key|=Field|=NULL
171 +|command|Text, the originally issued command|-
172 +|id|Numeric Value, PRIMARY KEY|-
173 +|attendee|Numeric Value|-
174 +|type|Text|-
175 +|serial|Text|-
176 +|out|DE date|-
177 +|out_by|Numeric Value|-
178 +|in|DE date|NULL
179 +|in_by|Numeric Value|NULL
180 +
181 +==== (% id="cke_bm_301917S" style="display:none" %) (%%)Attendee Database ====
182 +
183 +When giving a command to the Personal Assets Database, a data payload has to be POSTed along with the request and command.
184 +
185 +(% style="width:955px" %)
186 +|(% style="width:182px" %)**Key**|(% colspan="2" rowspan="1" style="width:652px" %)**Field Content**
187 +|(% style="width:182px" %)data|(% colspan="2" rowspan="1" style="width:652px" %)Numeric Value, Attendee Badge ID
188 +
189 +{{box}}
190 +{
191 + "data": {
192 + "id": 1,
193 + "nick": "GLaDOS",
194 + "firstname": "Genetic Lifeform",
195 + "lastname": "and Disk Operating System",
196 + "checkletter": "A"
197 + }
198 +}
199 +{{/box}}
200 +
201 +(% style="width:50%" %)
202 +|=(% colspan="3" %)Attendee fieldset
203 +|=(% scope="col" %)Key|=Field|=NULL
204 +|id|Numeric Value, PRIMARY KEY|-
205 +|firstname|Text|-
206 +|lastname|Text|-
207 +|checkletter|Text|NULL
208 +
86 86  ==== Empty Object ====
87 87  
88 88  {{box}}
89 -{"data":[]}
212 +{
213 + "data": []
214 +}
90 90  {{/box}}
91 91  
92 92  === Error Codes ===
... ... @@ -94,7 +94,12 @@
94 94  The API will send a JSON-Object upon errors
95 95  
96 96  {{box}}
97 -{"error":{"code":"503","message":"Maintenance Mode enabled - please try again later"}}
222 +{
223 + "error": {
224 + "code": "503",
225 + "message": "Maintenance Mode enabled - please try again later"
226 + }
227 +}
98 98  {{/box}}
99 99  
100 100  The following error codes are implemented:
... ... @@ -103,6 +103,7 @@
103 103  |=(% colspan="3" %)Error Codes
104 104  |=(% scope="col" %)Code|=Message|=Description
105 105  |401|Unauthorized|API-Key is not correct or no API-Key provided.
236 +|422|Unprocessable Data|The data payload can not be processed due to an error
106 106  |500|Internal server error|Most likely the mySQL-Connection failed. A certain Dingo might be rather busy at this time.
107 107  |501|Bad or no request|Whatever you send, it wasn't a valid request.
108 108  |503|Maintenance Mode enabled - please try again later|Might follow an error 500 and the Dingo is still busy ...