@@ -83,79 +83,6 @@ Function getCalendars($inParameters : Object) : Object
8383 return $result
8484
8585
86- // Mark: - [Private]
87- // Mark: - Events
88- // ----------------------------------------------------
89-
90-
91- Function _deleteEvent ($inParameters : Object) : Object // For test purposes only (subject to changes, use at your own risk)
92-
93- // DELETE https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
94-
95- var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
96- var $eventId : Text:= (Length (String ($inParameters .eventId ))> 0) ? $inParameters .eventId : ""
97- var $headers : Object:= {Accept: "application/json" }
98- var $urlParams : Text:= "calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events/" + cs .Tools .me .urlEncode ($eventId )
99- var $delimiter : Text:= "?"
100-
101- If (Not (Value type ($inParameters .sendNotifications )= Is undefined))
102- $urlParams + = ($delimiter+ "sendNotifications= "+ Choose (Bool ($inParameters .sendNotifications ); "true" ; "false" ))
103- $delimiter := "&"
104- End if
105- If ((Value type ($inParameters .sendUpdates )= Is text) && (Length (String ($inParameters .sendUpdates ))> 0))
106- $urlParams + = ($delimiter+ "sendUpdates= "+ $inParameters .sendUpdates ) // "all", "externalOnly", "none"
107- $delimiter := "&"
108- End if
109-
110- var $URL : Text:= This ._getURL ()+ $urlParams
111- var $response : Object:= Super ._sendRequestAndWaitResponse ("DELETE" ; $URL ; $headers )
112-
113- return This ._returnStatus ()
114-
115-
116- // ----------------------------------------------------
117-
118-
119- Function _insertEvent ($inParameters : Object; $inEvent : Object) : Object // For test purposes only (subject to changes, use at your own risk)
120-
121- // POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
122-
123- var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
124- var $headers : Object:= {Accept: "application/json" }
125- var $urlParams : Text:= "calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events"
126- var $delimiter : Text:= "?"
127-
128- If (Not (Value type ($inParameters .conferenceDataVersion )= Is undefined))
129- $urlParams + = ($delimiter+ "conferenceDataVersion= "+ Choose (Value type ($inParameters .conferenceDataVersion )= Is text; $inParameters .conferenceDataVersion ; String ($inParameters .conferenceDataVersion )))
130- $delimiter := "&"
131- End if
132- If (Not (Value type ($inParameters .maxAttendees )= Is undefined))
133- $urlParams + = ($delimiter+ "maxAttendees= "+ Choose (Value type ($inParameters .maxAttendees )= Is text; $inParameters .maxAttendees ; String ($inParameters .maxAttendees )))
134- $delimiter := "&"
135- End if
136- If (Not (Value type ($inParameters .sendNotifications )= Is undefined))
137- $urlParams + = ($delimiter+ "sendNotifications= "+ Choose (Bool ($inParameters .sendNotifications ); "true" ; "false" ))
138- $delimiter := "&"
139- End if
140- If ((Value type ($inParameters .sendUpdates )= Is text) && (Length (String ($inParameters .sendUpdates ))> 0))
141- $urlParams + = ($delimiter+ "sendUpdates= "+ $inParameters .sendUpdates ) // "all", "externalOnly", "none"
142- $delimiter := "&"
143- End if
144- If (Not (Value type ($inParameters .supportsAttachments )= Is undefined))
145- $urlParams + = ($delimiter+ "supportsAttachments= "+ Choose (Bool ($inParameters .supportsAttachments ); "true" ; "false" ))
146- $delimiter := "&"
147- End if
148-
149- var $URL : Text:= This ._getURL ()+ $urlParams
150- var $response : Object:= Super ._sendRequestAndWaitResponse ("POST" ; $URL ; $headers ; $inEvent )
151-
152- If ($response# Null)
153- return cs .GoogleEvent .new ($response )
154- End if
155-
156- return Null
157-
158-
15986 // Mark: - [Public]
16087 // Mark: - Events
16188 // ----------------------------------------------------
@@ -305,3 +232,118 @@ Function getEvents($inParameters : Object) : Object
305232 Super ._throwErrors (True )
306233
307234 return $result
235+
236+
237+ // ----------------------------------------------------
238+
239+
240+ Function createEvent ($inParameters : Object; $inEvent : Object) : Object
241+
242+ // POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
243+
244+ var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
245+ var $headers : Object:= {Accept: "application/json" }
246+ var $urlParams : Text:= "calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events"
247+ var $delimiter : Text:= "?"
248+
249+ If (Not (Value type ($inParameters .conferenceDataVersion )= Is undefined))
250+ $urlParams + = ($delimiter+ "conferenceDataVersion= "+ Choose (Value type ($inParameters .conferenceDataVersion )= Is text; $inParameters .conferenceDataVersion ; String ($inParameters .conferenceDataVersion )))
251+ $delimiter := "&"
252+ End if
253+ If (Not (Value type ($inParameters .maxAttendees )= Is undefined))
254+ $urlParams + = ($delimiter+ "maxAttendees= "+ Choose (Value type ($inParameters .maxAttendees )= Is text; $inParameters .maxAttendees ; String ($inParameters .maxAttendees )))
255+ $delimiter := "&"
256+ End if
257+ If (Not (Value type ($inParameters .sendNotifications )= Is undefined))
258+ $urlParams + = ($delimiter+ "sendNotifications= "+ Choose (Bool ($inParameters .sendNotifications ); "true" ; "false" ))
259+ $delimiter := "&"
260+ End if
261+ If ((Value type ($inParameters .sendUpdates )= Is text) && (Length (String ($inParameters .sendUpdates ))> 0))
262+ $urlParams + = ($delimiter+ "sendUpdates= "+ $inParameters .sendUpdates ) // "all", "externalOnly", "none"
263+ $delimiter := "&"
264+ End if
265+ If (Not (Value type ($inParameters .supportsAttachments )= Is undefined))
266+ $urlParams + = ($delimiter+ "supportsAttachments= "+ Choose (Bool ($inParameters .supportsAttachments ); "true" ; "false" ))
267+ $delimiter := "&"
268+ End if
269+
270+ var $URL : Text:= This ._getURL ()+ $urlParams
271+ var $response : Object:= Super ._sendRequestAndWaitResponse ("POST" ; $URL ; $headers ; $inEvent )
272+
273+ If ($response# Null)
274+ return cs .GoogleEvent .new ($response )
275+ End if
276+
277+ return Null
278+
279+
280+ // ----------------------------------------------------
281+
282+
283+ Function deleteEvent ($inParameters : Object) : Object
284+
285+ // DELETE https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
286+
287+ var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
288+ var $eventId : Text:= (Length (String ($inParameters .eventId ))> 0) ? $inParameters .eventId : ""
289+ var $headers : Object:= {Accept: "application/json" }
290+ var $urlParams : Text:= "calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events/" + cs .Tools .me .urlEncode ($eventId )
291+ var $delimiter : Text:= "?"
292+
293+ If (Not (Value type ($inParameters .sendNotifications )= Is undefined))
294+ $urlParams + = ($delimiter+ "sendNotifications= "+ Choose (Bool ($inParameters .sendNotifications ); "true" ; "false" ))
295+ $delimiter := "&"
296+ End if
297+ If ((Value type ($inParameters .sendUpdates )= Is text) && (Length (String ($inParameters .sendUpdates ))> 0))
298+ $urlParams + = ($delimiter+ "sendUpdates= "+ $inParameters .sendUpdates ) // "all", "externalOnly", "none"
299+ $delimiter := "&"
300+ End if
301+
302+ var $URL : Text:= This ._getURL ()+ $urlParams
303+ var $response : Object:= Super ._sendRequestAndWaitResponse ("DELETE" ; $URL ; $headers )
304+
305+ return This ._returnStatus ()
306+
307+
308+ // ----------------------------------------------------
309+
310+
311+ Function updateEvent ($inParameters : Object; $inEvent : Object) : Object
312+
313+ // PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
314+
315+ var $calendarId : Text:= (Length (String ($inParameters .calendarId ))> 0) ? $inParameters .calendarId : "primary"
316+ var $eventId : Text:= (Length (String ($inParameters .eventId ))> 0) ? $inParameters .eventId : ""
317+ var $headers : Object:= {Accept: "application/json" }
318+ var $urlParams : Text:= "calendars/" + cs .Tools .me .urlEncode ($calendarID )+ "/events/" + cs .Tools .me .urlEncode ($eventId )
319+ var $delimiter : Text:= "?"
320+
321+ If (Not (Value type ($inParameters .conferenceDataVersion )= Is undefined))
322+ $urlParams + = ($delimiter+ "conferenceDataVersion= "+ Choose (Value type ($inParameters .conferenceDataVersion )= Is text; $inParameters .conferenceDataVersion ; String ($inParameters .conferenceDataVersion )))
323+ $delimiter := "&"
324+ End if
325+ If (Not (Value type ($inParameters .maxAttendees )= Is undefined))
326+ $urlParams + = ($delimiter+ "maxAttendees= "+ Choose (Value type ($inParameters .maxAttendees )= Is text; $inParameters .maxAttendees ; String ($inParameters .maxAttendees )))
327+ $delimiter := "&"
328+ End if
329+ If (Not (Value type ($inParameters .sendNotifications )= Is undefined))
330+ $urlParams + = ($delimiter+ "sendNotifications= "+ Choose (Bool ($inParameters .sendNotifications ); "true" ; "false" ))
331+ $delimiter := "&"
332+ End if
333+ If ((Value type ($inParameters .sendUpdates )= Is text) && (Length (String ($inParameters .sendUpdates ))> 0))
334+ $urlParams + = ($delimiter+ "sendUpdates= "+ $inParameters .sendUpdates ) // "all", "externalOnly", "none"
335+ $delimiter := "&"
336+ End if
337+ If (Not (Value type ($inParameters .supportsAttachments )= Is undefined))
338+ $urlParams + = ($delimiter+ "supportsAttachments= "+ Choose (Bool ($inParameters .supportsAttachments ); "true" ; "false" ))
339+ $delimiter := "&"
340+ End if
341+
342+ var $URL : Text:= This ._getURL ()+ $urlParams
343+ var $response : Object:= Super ._sendRequestAndWaitResponse ("PUT" ; $URL ; $headers ; $inEvent )
344+
345+ If ($response# Null)
346+ return cs .GoogleEvent .new ($response )
347+ End if
348+
349+ return Null
0 commit comments