Events
予定をクエリ、作成、変更、および削除します。
Select
本製品 は Garoon API を使用して、以下のカラムと演算子で構築されたWHERE 句条件を処理します。その他のフィルタはクライアントサイドで本製品 内部で処理されます。
- DateTime は<、<=、=、>= および > 演算子をサポートします。
- TargetType は'=' 演算子をサポートします。
- Target は'=' 演算子をサポートします。
NOTE: Target フィールドとTargetType フィールドは、クエリで両方使用する必要があります(つまり、Target フィールドがクエリで指定されている場合、TargetType フィールドも必須であり、その逆も同様です)。
例えば、次のクエリはサーバーサイドで処理されます。
SELECT * FROM Events WHERE DateTime >= '2019-11-22 00:00:00.0' SELECT * FROM Events WHERE DateTime > '2019-11-22 00:00:00.0' SELECT * FROM Events WHERE targetType = 'user' AND target = '4'
Update
ReadOnly がfalse のカラムを更新できます。
UPDATE Events SET EventMenu = 'test', Subject = 'test', Notes = 'TEMPORARY', visibilityType = 'PRIVATE', useAttendanceCheck = false, CompanyInfoName = 'CompanyName', CompanyInfoZipCode = 'CompanyZipCode', CompanyInfoAddress = 'CompanyAddress', CompanyInfoRoute = 'CompanyRoute', CompanyInfoRouteTime = '2020', CompanyInfoRouteFare = '223', CompanyInfoPhone = '24342232342' , StartDateTime = '2019-01-28T06:51:24Z', StartTimeZone = 'Asia/Tokyo', EndDateTime = '2019-01-28T06:51:24Z', EndTimeZone = 'Asia/Tokyo', isAllDay = true, isStartOnly = false, AdditionalItemsItemValue = 'test' WHERE Id = 35
テンポラリテーブルの使用:
INSERT INTO Watchers#TEMP (Code, Type) VALUES ('User1', 'USER')
INSERT INTO Watchers#TEMP (Code, Type) VALUES ('User2', 'USER')
INSERT INTO Watchers#TEMP (Code, Type) VALUES ('User3', 'USER')
UPDATE Events SET Watchers = 'Watchers#TEMP' WHERE Id = 35
集計の使用:
UPDATE Events SET Watchers = '[
{
"type": "USER",
"code": "c000001"
}
]', visibilityType = 'SET_PRIVATE_WATCHERS' WHERE Id = 35
UPDATE Events SET Attendees = '[
{
"type": "USER",
"code": "c000001"
}
]' WHERE Id = 35
UPDATE Events SET facilities = '[
{
"code": "F001"
}
]' WHERE Id = 35
Insert
Event を追加するには、次のカラムの組み合わせの少なくとも1つを指定する必要があります。
a) EventType、StartDateTime、StartTimeZone、EndDateTime、EndTimeZone およびFacilities カラム。
b) EventType、StartDateTime、StartTimeZone、EndDateTime、EndTimeZone およびAttendees カラム。
c) EventType、StartDateTime、StartTimeZone、IsStartOnly(true) およびFacilities カラム。
d) EventType、StartDateTime、StartTimeZone、IsStartOnly(true) およびAttendees カラム。
テンポラリテーブルの使用:
INSERT INTO EventAttendees#TEMP (Code, Type) VALUES ('User', 'USER')
INSERT INTO Events (EventType, StartDateTime, StartTimeZone, IsStartOnly, Attendees) VALUES ('REGULAR', '2020-09-27T14:00:00+09:00', 'Asia/Tokyo', true, 'EventAttendees#TEMP')
INSERT INTO EventFacilities#TEMP (Code) VALUES ('FacilityGroupsFacility1')
INSERT INTO Events (EventType, StartDateTime, StartTimeZone, EndDateTime, EndTimeZone, Facilities) VALUES ('REGULAR', '2020-09-17T14:00:00', 'Asia/Tokyo', '2020-09-17T15:00:00', 'Asia/Tokyo', 'EventFacilities#TEMP')
添付ファイル付きのイベントを挿入します。(添付ファイルのコンテンツにはBase64 エンコードが必要です。)
INSERT INTO EventAttendees#TEMP (Code, Type) VALUES ('Endri', 'USER')
INSERT INTO EventAttachments#TEMP (name, contentType, content) VALUES ('test1.txt', 'plain/text', 'dGVzdA==')
INSERT INTO EventAttachments#TEMP (name, contentType, content) VALUES ('test2.txt', 'plain/text', 'dGVrdrdr33zdA==')
INSERT INTO Events (EventType, StartDateTime, StartTimeZone, isStartOnly, Attendees, Attachments ) VALUES ('REGULAR', '2020-09-27T14:00:00+09:00', 'Asia/Tokyo', true, 'EventAttendees#TEMP', 'EventAttachments#TEMP')
集計の使用:
INSERT INTO Events (EventType, StartDateTime, StartTimeZone, EndDateTime, EndTimeZone, IsStartOnly, Facilities) VALUES ('REGULAR', '2020-09-27T14:00:00', 'Asia/Tokyo', '2020-09-27T15:00:00', 'Asia/Tokyo', false, '[
{
"code": "F001"
}
]')
Delete
イベントのId を指定することでイベントを削除できます。
DELETE FROM Events WHERE Id = 34
Columns
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | True |
予定の構成ID。 |
| EventId | Int | True |
予定ID。 |
| CreatorId | Int | True |
登録者のユーザーID。 |
| CreatorCode | String | True |
登録者のログイン名。 |
| CreatorName | String | True |
登録者の表示名。 |
| CreatedAt | Datetime | True |
予定の作成日時。 |
| UpdaterId | Int | True |
更新者ID。 |
| UpdaterCode | String | True |
更新者のログイン名。 |
| UpdaterName | String | True |
更新者の表示名。 |
| UpdatedAt | Datetime | True |
予定の更新日時。 |
| EventType | String | False |
予定のタイプ。 |
| EventMenu | String | False |
予定メニュー。 |
| Subject | String | False |
タイトル。 |
| Notes | String | False |
メモ。 |
| VisibilityType | String | False |
公開設定のタイプ。 |
| UseAttendanceCheck | Boolean | False |
出欠確認を使用しているかどうか。 |
| Attachments | String | True |
予定の添付ファイル。 |
| Attendees | String | False |
参加者のリスト。 |
| AttendeesCandidate | String | True |
参加者の候補リスト。 |
| CompanyInfoName | String | False |
会社名。 |
| CompanyInfoZipCode | String | False |
郵便番号。 |
| CompanyInfoAddress | String | False |
住所。 |
| CompanyInfoRoute | String | False |
路線の経路。 |
| CompanyInfoRouteTime | String | False |
路線の所要時間。 |
| CompanyInfoRouteFare | String | False |
路線の運賃。 |
| CompanyInfoPhone | String | False |
電話番号。 |
| StartDateTime | Datetime | False |
予定の開始日時。 |
| StartTimeZone | String | False |
開始タイムゾーン。 |
| EndDateTime | Datetime | False |
予定の終了日時。 |
| EndTimeZone | String | False |
終了タイムゾーン。 |
| IsAllDay | Boolean | False |
True に設定すると、終日の予定になります。 |
| IsStartOnly | Boolean | False |
True に設定すると、開始のみの予定になります。 |
| OriginalStartTimeZone | String | True |
予定の登録または更新時にstart.timeZone または repeatInfo.timeZone プロパティに設定されたタイムゾーン。 |
| OriginalEndTimeZone | String | True |
予定の登録または更新時にend.timeZone または repeatInfo.timeZone プロパティに設定されたタイムゾーン。 |
| Watchers | String | False |
予定の公開先のリスト。 |
| WatchersCandidate | String | True |
公開先の候補リスト。 |
| Facilities | String | False |
施設のリスト。 |
| FacilitiesCandidate | String | True |
施設の候補リスト。 |
| FacilityUsingPurpose | String | False |
施設の利用目的。 |
| FacilityReservationInfo | String | True |
施設予約情報。 |
| FacilityUsageRequests | String | True |
施設の利用申請のリスト。 |
| RepeatInfo | String | True |
繰り返し予定情報。 |
| TemporaryEventCandidates | String | True |
期間予定情報。 |
| RepeatId | String | True |
繰り返し予定ID。 |
Pseudo-Columns
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| DateTime | Datetime |
検索対象の日時をRFC3339 形式で指定します。サポートされる演算子は =、<、>、<=、>= です。 |
| TargetType | String |
ユーザー、組織、施設で結果を絞り込むには、タイプを指定します。 使用できる値は次のとおりです。user, organization, facility |
| Target | String |
ユーザーID、組織ID、施設ID で結果を絞り込むにはID を指定します。 |