Skip to content

Commit 61456f9

Browse files
committed
Github:11622 (append _insertEvent() and _deleteEvent() private functions)
1 parent e77e0fe commit 61456f9

File tree

1 file changed

+77
-3
lines changed

1 file changed

+77
-3
lines changed

Project/Sources/Classes/GoogleCalendar.4dm

Lines changed: 77 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,83 @@ Function getCalendars($inParameters : Object) : Object
8484
return $result
8585

8686

87+
// Mark: - [Private]
88+
// Mark: - Events
89+
// ----------------------------------------------------
90+
91+
92+
93+
94+
Function _deleteEvent($inParameters : Object) : Object // For test purposes only (subject to changes, use at your own risk)
95+
96+
// DELETE https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId
97+
98+
var $response : Variant:=Null
99+
100+
var $calendarId : Text:=(Length(String($inParameters.calendarId))>0) ? $inParameters.calendarId : "primary"
101+
var $eventId : Text:=(Length(String($inParameters.eventId))>0) ? $inParameters.eventId : ""
102+
var $headers : Object:={Accept: "application/json"}
103+
var $urlParams : Text:="calendars/"+cs.Tools.me.urlEncode($calendarID)+"/events/"+cs.Tools.me.urlEncode($eventId)
104+
var $delimiter : Text:="?"
105+
106+
If (Not(Value type($inParameters.sendNotifications)=Is undefined))
107+
$urlParams+=($delimiter+"sendNotifications="+Choose(Bool($inParameters.sendNotifications); "true"; "false"))
108+
$delimiter:="&"
109+
End if
110+
If ((Value type($inParameters.sendUpdates)=Is text) && (Length(String($inParameters.sendUpdates))>0))
111+
$urlParams+=($delimiter+"sendUpdates="+$inParameters.sendUpdates) // "all", "externalOnly", "none"
112+
$delimiter:="&"
113+
End if
114+
115+
var $URL : Text:=This._getURL()+$urlParams
116+
$response:=Super._sendRequestAndWaitResponse("DELETE"; $URL; $headers)
117+
118+
return This._returnStatus($response)
119+
120+
121+
// ----------------------------------------------------
122+
123+
124+
Function _insertEvent($inParameters : Object; $inEvent : Object) : Object // For test purposes only (subject to changes, use at your own risk)
125+
126+
// POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
127+
128+
var $response : Variant:=Null
129+
130+
var $calendarId : Text:=(Length(String($inParameters.calendarId))>0) ? $inParameters.calendarId : "primary"
131+
var $headers : Object:={Accept: "application/json"}
132+
var $urlParams : Text:="calendars/"+cs.Tools.me.urlEncode($calendarID)+"/events"
133+
var $delimiter : Text:="?"
134+
135+
If (Not(Value type($inParameters.conferenceDataVersion)=Is undefined))
136+
$urlParams+=($delimiter+"conferenceDataVersion="+Choose(Value type($inParameters.conferenceDataVersion)=Is text; $inParameters.conferenceDataVersion; String($inParameters.conferenceDataVersion)))
137+
$delimiter:="&"
138+
End if
139+
If (Not(Value type($inParameters.maxAttendees)=Is undefined))
140+
$urlParams+=($delimiter+"maxAttendees="+Choose(Value type($inParameters.maxAttendees)=Is text; $inParameters.maxAttendees; String($inParameters.maxAttendees)))
141+
$delimiter:="&"
142+
End if
143+
If (Not(Value type($inParameters.sendNotifications)=Is undefined))
144+
$urlParams+=($delimiter+"sendNotifications="+Choose(Bool($inParameters.sendNotifications); "true"; "false"))
145+
$delimiter:="&"
146+
End if
147+
If ((Value type($inParameters.sendUpdates)=Is text) && (Length(String($inParameters.sendUpdates))>0))
148+
$urlParams+=($delimiter+"sendUpdates="+$inParameters.sendUpdates) // "all", "externalOnly", "none"
149+
$delimiter:="&"
150+
End if
151+
If (Not(Value type($inParameters.supportsAttachments)=Is undefined))
152+
$urlParams+=($delimiter+"supportsAttachments="+Choose(Bool($inParameters.supportsAttachments); "true"; "false"))
153+
$delimiter:="&"
154+
End if
155+
156+
var $URL : Text:=This._getURL()+$urlParams
157+
$response:=Super._sendRequestAndWaitResponse("POST"; $URL; $headers; $inEvent)
158+
159+
return This._returnStatus($response)
160+
161+
87162
// Mark: - [Public]
88-
// Mark: - Calendars
163+
// Mark: - Events
89164
// ----------------------------------------------------
90165

91166

@@ -134,7 +209,6 @@ Function getEvents($inParameters : Object) : Object
134209
Super._clearErrorStack()
135210
Super._throwErrors(False)
136211

137-
var $response : Object:=Null
138212
var $headers : Object:={Accept: "application/json"}
139213
var $calendarId : Text:=(Length(String($inParameters.calendarId))>0) ? $inParameters.calendarId : "primary"
140214
var $urlParams : Text:="calendars/"+cs.Tools.me.urlEncode($calendarID)+"/events"
@@ -209,4 +283,4 @@ Function getEvents($inParameters : Object) : Object
209283

210284
Super._throwErrors(False)
211285

212-
return $response
286+
return $result

0 commit comments

Comments
 (0)