lansenger-sdk-ts 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.fr.md +501 -0
- package/README.md +504 -0
- package/README.zhHans.md +501 -0
- package/README.zhHant.md +501 -0
- package/README.zhHantHK.md +501 -0
- package/dist/accountMessages.d.ts +12 -0
- package/dist/accountMessages.js +41 -0
- package/dist/auth.d.ts +13 -0
- package/dist/auth.js +70 -0
- package/dist/calendars.d.ts +84 -0
- package/dist/calendars.js +278 -0
- package/dist/callbacks.d.ts +384 -0
- package/dist/callbacks.js +712 -0
- package/dist/chats.d.ts +22 -0
- package/dist/chats.js +88 -0
- package/dist/client.d.ts +439 -0
- package/dist/client.js +712 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.js +42 -0
- package/dist/constants.d.ts +30 -0
- package/dist/constants.js +187 -0
- package/dist/contacts.d.ts +38 -0
- package/dist/contacts.js +161 -0
- package/dist/departments.d.ts +18 -0
- package/dist/departments.js +69 -0
- package/dist/exceptions.d.ts +20 -0
- package/dist/exceptions.js +42 -0
- package/dist/groupMessages.d.ts +11 -0
- package/dist/groupMessages.js +39 -0
- package/dist/groups.d.ts +66 -0
- package/dist/groups.js +218 -0
- package/dist/http.d.ts +7 -0
- package/dist/http.js +67 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +189 -0
- package/dist/media.d.ts +16 -0
- package/dist/media.js +178 -0
- package/dist/models.d.ts +925 -0
- package/dist/models.js +991 -0
- package/dist/oauth.d.ts +17 -0
- package/dist/oauth.js +107 -0
- package/dist/persistence.d.ts +26 -0
- package/dist/persistence.js +210 -0
- package/dist/reminders.d.ts +10 -0
- package/dist/reminders.js +31 -0
- package/dist/streaming.d.ts +9 -0
- package/dist/streaming.js +40 -0
- package/dist/todos.d.ts +75 -0
- package/dist/todos.js +282 -0
- package/dist/urlHelpers.d.ts +7 -0
- package/dist/urlHelpers.js +22 -0
- package/dist/userMessages.d.ts +8 -0
- package/dist/userMessages.js +34 -0
- package/dist/users.d.ts +6 -0
- package/dist/users.js +32 -0
- package/package.json +33 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { LansengerConfig } from "./config";
|
|
2
|
+
import { FetchFn } from "./http";
|
|
3
|
+
import { CalendarPrimaryResult, ScheduleCreateResult, ScheduleInfoResult, ScheduleUpdateResult, ScheduleListResult, ScheduleAttendeesResult, ScheduleAttendeeMetaResult } from "./models";
|
|
4
|
+
export declare function fetchPrimaryCalendar(config: LansengerConfig, appToken: string, opts?: {
|
|
5
|
+
user_token?: string;
|
|
6
|
+
user_id?: string;
|
|
7
|
+
fetchFn?: FetchFn;
|
|
8
|
+
}): Promise<CalendarPrimaryResult>;
|
|
9
|
+
export declare function createSchedule(config: LansengerConfig, appToken: string, calendarId: string, summary: string, startTime: Record<string, any>, endTime: Record<string, any>, attendees: Record<string, string>[], opts?: {
|
|
10
|
+
description?: string;
|
|
11
|
+
all_day?: string;
|
|
12
|
+
repeat_type?: string;
|
|
13
|
+
rule?: string;
|
|
14
|
+
expire_date_type?: string;
|
|
15
|
+
reminder_type?: string;
|
|
16
|
+
attendee_permissions?: string;
|
|
17
|
+
user_token?: string;
|
|
18
|
+
user_id?: string;
|
|
19
|
+
fetchFn?: FetchFn;
|
|
20
|
+
}): Promise<ScheduleCreateResult>;
|
|
21
|
+
export declare function fetchSchedule(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, opts?: {
|
|
22
|
+
user_token?: string;
|
|
23
|
+
user_id?: string;
|
|
24
|
+
fetchFn?: FetchFn;
|
|
25
|
+
}): Promise<ScheduleInfoResult>;
|
|
26
|
+
export declare function deleteSchedule(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, opts?: {
|
|
27
|
+
reminder_type?: string;
|
|
28
|
+
operation_type?: string;
|
|
29
|
+
current_time?: number;
|
|
30
|
+
user_token?: string;
|
|
31
|
+
user_id?: string;
|
|
32
|
+
fetchFn?: FetchFn;
|
|
33
|
+
}): Promise<ScheduleCreateResult>;
|
|
34
|
+
export declare function updateSchedule(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, opts?: {
|
|
35
|
+
summary?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
operation_type?: string;
|
|
38
|
+
current_time?: number;
|
|
39
|
+
reminder_type?: string;
|
|
40
|
+
repeat_type?: string;
|
|
41
|
+
rule?: string;
|
|
42
|
+
expire_date_type?: string;
|
|
43
|
+
all_day?: string;
|
|
44
|
+
attendee_permissions?: string;
|
|
45
|
+
start_time?: Record<string, any>;
|
|
46
|
+
end_time?: Record<string, any>;
|
|
47
|
+
user_token?: string;
|
|
48
|
+
user_id?: string;
|
|
49
|
+
fetchFn?: FetchFn;
|
|
50
|
+
}): Promise<ScheduleUpdateResult>;
|
|
51
|
+
export declare function fetchScheduleList(config: LansengerConfig, appToken: string, calendarId: string, startTime: number, endTime: number, opts?: {
|
|
52
|
+
user_token?: string;
|
|
53
|
+
user_id?: string;
|
|
54
|
+
fetchFn?: FetchFn;
|
|
55
|
+
}): Promise<ScheduleListResult>;
|
|
56
|
+
export declare function fetchScheduleAttendees(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, opts?: {
|
|
57
|
+
page?: number;
|
|
58
|
+
page_size?: number;
|
|
59
|
+
user_token?: string;
|
|
60
|
+
user_id?: string;
|
|
61
|
+
fetchFn?: FetchFn;
|
|
62
|
+
}): Promise<ScheduleAttendeesResult>;
|
|
63
|
+
export declare function addScheduleAttendees(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, attendees: string[], opts?: {
|
|
64
|
+
reminder_type?: string;
|
|
65
|
+
user_token?: string;
|
|
66
|
+
user_id?: string;
|
|
67
|
+
fetchFn?: FetchFn;
|
|
68
|
+
}): Promise<ScheduleCreateResult>;
|
|
69
|
+
export declare function deleteScheduleAttendees(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, attendees: string[], opts?: {
|
|
70
|
+
reminder_type?: string;
|
|
71
|
+
user_token?: string;
|
|
72
|
+
user_id?: string;
|
|
73
|
+
fetchFn?: FetchFn;
|
|
74
|
+
}): Promise<ScheduleCreateResult>;
|
|
75
|
+
export declare function updateScheduleAttendeeMeta(config: LansengerConfig, appToken: string, calendarId: string, scheduleId: string, opts?: {
|
|
76
|
+
rsvp_status?: string;
|
|
77
|
+
color?: string;
|
|
78
|
+
permissions?: string;
|
|
79
|
+
busy_free_state?: string;
|
|
80
|
+
remind_times?: number[];
|
|
81
|
+
user_token?: string;
|
|
82
|
+
user_id?: string;
|
|
83
|
+
fetchFn?: FetchFn;
|
|
84
|
+
}): Promise<ScheduleAttendeeMetaResult>;
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchPrimaryCalendar = fetchPrimaryCalendar;
|
|
4
|
+
exports.createSchedule = createSchedule;
|
|
5
|
+
exports.fetchSchedule = fetchSchedule;
|
|
6
|
+
exports.deleteSchedule = deleteSchedule;
|
|
7
|
+
exports.updateSchedule = updateSchedule;
|
|
8
|
+
exports.fetchScheduleList = fetchScheduleList;
|
|
9
|
+
exports.fetchScheduleAttendees = fetchScheduleAttendees;
|
|
10
|
+
exports.addScheduleAttendees = addScheduleAttendees;
|
|
11
|
+
exports.deleteScheduleAttendees = deleteScheduleAttendees;
|
|
12
|
+
exports.updateScheduleAttendeeMeta = updateScheduleAttendeeMeta;
|
|
13
|
+
const urlHelpers_1 = require("./urlHelpers");
|
|
14
|
+
const http_1 = require("./http");
|
|
15
|
+
const models_1 = require("./models");
|
|
16
|
+
async function fetchPrimaryCalendar(config, appToken, opts) {
|
|
17
|
+
const userToken = opts?.user_token || "";
|
|
18
|
+
const userId = opts?.user_id || "";
|
|
19
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "primary", appToken, { userToken, userId });
|
|
20
|
+
const [data, httpErr] = await (0, http_1.doGet)(url, opts?.fetchFn);
|
|
21
|
+
if (httpErr)
|
|
22
|
+
return new models_1.CalendarPrimaryResult({ success: false, error: httpErr });
|
|
23
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
24
|
+
if (!ok)
|
|
25
|
+
return new models_1.CalendarPrimaryResult({ success: false, error: apiErr });
|
|
26
|
+
const d = data.data || {};
|
|
27
|
+
return new models_1.CalendarPrimaryResult({
|
|
28
|
+
success: true, calendar_id: d.calendarId, summary: d.summary,
|
|
29
|
+
description: d.description, permissions: d.permissions, color: d.color,
|
|
30
|
+
type: d.type, role: d.role, raw_response: data,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async function createSchedule(config, appToken, calendarId, summary, startTime, endTime, attendees, opts) {
|
|
34
|
+
if (!calendarId)
|
|
35
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "calendar_id is required" });
|
|
36
|
+
if (!summary)
|
|
37
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "summary is required" });
|
|
38
|
+
if (!startTime)
|
|
39
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "start_time is required" });
|
|
40
|
+
if (!endTime)
|
|
41
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "end_time is required" });
|
|
42
|
+
if (!attendees || !attendees.length)
|
|
43
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "attendees is required" });
|
|
44
|
+
const userToken = opts?.user_token || "";
|
|
45
|
+
const userId = opts?.user_id || "";
|
|
46
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "schedule_create", appToken, { userToken, userId, pathVars: { calendar_id: calendarId } });
|
|
47
|
+
const body = { summary, startTime, endTime, attendees };
|
|
48
|
+
if (opts?.description)
|
|
49
|
+
body.description = opts.description;
|
|
50
|
+
if (opts?.all_day != null)
|
|
51
|
+
body.allDay = opts.all_day;
|
|
52
|
+
if (opts?.repeat_type != null)
|
|
53
|
+
body.repeatType = opts.repeat_type;
|
|
54
|
+
if (opts?.rule)
|
|
55
|
+
body.rule = opts.rule;
|
|
56
|
+
if (opts?.expire_date_type != null)
|
|
57
|
+
body.expireDateType = opts.expire_date_type;
|
|
58
|
+
if (opts?.reminder_type != null)
|
|
59
|
+
body.reminderType = opts.reminder_type;
|
|
60
|
+
if (opts?.attendee_permissions != null)
|
|
61
|
+
body.attendeePermissions = opts.attendee_permissions;
|
|
62
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
63
|
+
if (httpErr)
|
|
64
|
+
return new models_1.ScheduleCreateResult({ success: false, error: httpErr });
|
|
65
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
66
|
+
if (!ok)
|
|
67
|
+
return new models_1.ScheduleCreateResult({ success: false, error: apiErr });
|
|
68
|
+
const d = data.data || {};
|
|
69
|
+
return new models_1.ScheduleCreateResult({ success: true, schedule_id: d.scheduleId, raw_response: data });
|
|
70
|
+
}
|
|
71
|
+
async function fetchSchedule(config, appToken, calendarId, scheduleId, opts) {
|
|
72
|
+
if (!calendarId)
|
|
73
|
+
return new models_1.ScheduleInfoResult({ success: false, error: "calendar_id is required" });
|
|
74
|
+
if (!scheduleId)
|
|
75
|
+
return new models_1.ScheduleInfoResult({ success: false, error: "schedule_id is required" });
|
|
76
|
+
const userToken = opts?.user_token || "";
|
|
77
|
+
const userId = opts?.user_id || "";
|
|
78
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "schedule_fetch", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
79
|
+
const [data, httpErr] = await (0, http_1.doGet)(url, opts?.fetchFn);
|
|
80
|
+
if (httpErr)
|
|
81
|
+
return new models_1.ScheduleInfoResult({ success: false, error: httpErr });
|
|
82
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
83
|
+
if (!ok)
|
|
84
|
+
return new models_1.ScheduleInfoResult({ success: false, error: apiErr });
|
|
85
|
+
const d = data.data || {};
|
|
86
|
+
return new models_1.ScheduleInfoResult({
|
|
87
|
+
success: true, schedule_id: d.scheduleId, summary: d.summary,
|
|
88
|
+
description: d.description, repeat_type: d.repeatType, all_day: d.allDay,
|
|
89
|
+
start_time: d.startTime, end_time: d.endTime, creator: d.creator,
|
|
90
|
+
rsvp_status: d.rsvpStatus, raw_response: data,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async function deleteSchedule(config, appToken, calendarId, scheduleId, opts) {
|
|
94
|
+
if (!calendarId)
|
|
95
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "calendar_id is required" });
|
|
96
|
+
if (!scheduleId)
|
|
97
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "schedule_id is required" });
|
|
98
|
+
const userToken = opts?.user_token || "";
|
|
99
|
+
const userId = opts?.user_id || "";
|
|
100
|
+
const reminderType = opts?.reminder_type || "no";
|
|
101
|
+
const operationType = opts?.operation_type || "delete_all";
|
|
102
|
+
const currentTime = opts?.current_time || 0;
|
|
103
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "schedule_delete", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
104
|
+
const body = { reminderType };
|
|
105
|
+
if (operationType !== "delete_all") {
|
|
106
|
+
body.operationType = operationType;
|
|
107
|
+
body.currentTime = currentTime;
|
|
108
|
+
}
|
|
109
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
110
|
+
if (httpErr)
|
|
111
|
+
return new models_1.ScheduleCreateResult({ success: false, error: httpErr });
|
|
112
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
113
|
+
if (!ok)
|
|
114
|
+
return new models_1.ScheduleCreateResult({ success: false, error: apiErr });
|
|
115
|
+
const d = data.data || {};
|
|
116
|
+
const sid = Array.isArray(d.scheduleIds) && d.scheduleIds.length > 0 ? d.scheduleIds[0] : scheduleId;
|
|
117
|
+
return new models_1.ScheduleCreateResult({ success: true, schedule_id: sid, raw_response: data });
|
|
118
|
+
}
|
|
119
|
+
async function updateSchedule(config, appToken, calendarId, scheduleId, opts) {
|
|
120
|
+
if (!calendarId)
|
|
121
|
+
return new models_1.ScheduleUpdateResult({ success: false, error: "calendar_id is required" });
|
|
122
|
+
if (!scheduleId)
|
|
123
|
+
return new models_1.ScheduleUpdateResult({ success: false, error: "schedule_id is required" });
|
|
124
|
+
const userToken = opts?.user_token || "";
|
|
125
|
+
const userId = opts?.user_id || "";
|
|
126
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "schedule_update", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
127
|
+
const body = {};
|
|
128
|
+
if (opts?.summary != null)
|
|
129
|
+
body.summary = opts.summary;
|
|
130
|
+
if (opts?.description != null)
|
|
131
|
+
body.description = opts.description;
|
|
132
|
+
const operationType = opts?.operation_type || "modify_all";
|
|
133
|
+
if (operationType !== "modify_all") {
|
|
134
|
+
body.operationType = operationType;
|
|
135
|
+
if (opts?.current_time != null)
|
|
136
|
+
body.currentTime = opts.current_time;
|
|
137
|
+
}
|
|
138
|
+
if (opts?.reminder_type != null)
|
|
139
|
+
body.reminderType = opts.reminder_type;
|
|
140
|
+
if (opts?.repeat_type != null)
|
|
141
|
+
body.repeatType = opts.repeat_type;
|
|
142
|
+
if (opts?.rule != null)
|
|
143
|
+
body.rule = opts.rule;
|
|
144
|
+
if (opts?.expire_date_type != null)
|
|
145
|
+
body.expireDateType = opts.expire_date_type;
|
|
146
|
+
if (opts?.all_day != null)
|
|
147
|
+
body.allDay = opts.all_day;
|
|
148
|
+
if (opts?.attendee_permissions != null)
|
|
149
|
+
body.attendeePermissions = opts.attendee_permissions;
|
|
150
|
+
if (opts?.start_time != null)
|
|
151
|
+
body.startTime = opts.start_time;
|
|
152
|
+
if (opts?.end_time != null)
|
|
153
|
+
body.endTime = opts.end_time;
|
|
154
|
+
if (!Object.keys(body).length)
|
|
155
|
+
return new models_1.ScheduleUpdateResult({ success: false, error: "at least one field to update is required" });
|
|
156
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
157
|
+
if (httpErr)
|
|
158
|
+
return new models_1.ScheduleUpdateResult({ success: false, error: httpErr });
|
|
159
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
160
|
+
if (!ok)
|
|
161
|
+
return new models_1.ScheduleUpdateResult({ success: false, error: apiErr });
|
|
162
|
+
const d = data.data || {};
|
|
163
|
+
return new models_1.ScheduleUpdateResult({ success: true, schedule_ids: d.scheduleIds, raw_response: data });
|
|
164
|
+
}
|
|
165
|
+
async function fetchScheduleList(config, appToken, calendarId, startTime, endTime, opts) {
|
|
166
|
+
if (!calendarId)
|
|
167
|
+
return new models_1.ScheduleListResult({ success: false, error: "calendar_id is required" });
|
|
168
|
+
if (!startTime || !endTime)
|
|
169
|
+
return new models_1.ScheduleListResult({ success: false, error: "start_time and end_time are required" });
|
|
170
|
+
const userToken = opts?.user_token || "";
|
|
171
|
+
const userId = opts?.user_id || "";
|
|
172
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "schedule_list", appToken, { userToken, userId, pathVars: { calendar_id: calendarId } });
|
|
173
|
+
const body = { startTime, endTime };
|
|
174
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
175
|
+
if (httpErr)
|
|
176
|
+
return new models_1.ScheduleListResult({ success: false, error: httpErr });
|
|
177
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
178
|
+
if (!ok)
|
|
179
|
+
return new models_1.ScheduleListResult({ success: false, error: apiErr });
|
|
180
|
+
const d = data.data || {};
|
|
181
|
+
return new models_1.ScheduleListResult({ success: true, schedule_list: d.scheduleList, raw_response: data });
|
|
182
|
+
}
|
|
183
|
+
async function fetchScheduleAttendees(config, appToken, calendarId, scheduleId, opts) {
|
|
184
|
+
if (!calendarId)
|
|
185
|
+
return new models_1.ScheduleAttendeesResult({ success: false, error: "calendar_id is required" });
|
|
186
|
+
if (!scheduleId)
|
|
187
|
+
return new models_1.ScheduleAttendeesResult({ success: false, error: "schedule_id is required" });
|
|
188
|
+
const userToken = opts?.user_token || "";
|
|
189
|
+
const userId = opts?.user_id || "";
|
|
190
|
+
const page = opts?.page || 1;
|
|
191
|
+
const pageSize = opts?.page_size || 500;
|
|
192
|
+
let url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "attendees_fetch", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
193
|
+
url += `&page=${page}&page_size=${pageSize}`;
|
|
194
|
+
const [data, httpErr] = await (0, http_1.doGet)(url, opts?.fetchFn);
|
|
195
|
+
if (httpErr)
|
|
196
|
+
return new models_1.ScheduleAttendeesResult({ success: false, error: httpErr });
|
|
197
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
198
|
+
if (!ok)
|
|
199
|
+
return new models_1.ScheduleAttendeesResult({ success: false, error: apiErr });
|
|
200
|
+
const d = data.data || {};
|
|
201
|
+
return new models_1.ScheduleAttendeesResult({
|
|
202
|
+
success: true, total: d.total || 0, attendees: d.attendees, raw_response: data,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
async function addScheduleAttendees(config, appToken, calendarId, scheduleId, attendees, opts) {
|
|
206
|
+
if (!calendarId)
|
|
207
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "calendar_id is required" });
|
|
208
|
+
if (!scheduleId)
|
|
209
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "schedule_id is required" });
|
|
210
|
+
if (!attendees || !attendees.length)
|
|
211
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "attendees is required" });
|
|
212
|
+
const userToken = opts?.user_token || "";
|
|
213
|
+
const userId = opts?.user_id || "";
|
|
214
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "attendees_create", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
215
|
+
const body = { attendees };
|
|
216
|
+
if (opts?.reminder_type != null)
|
|
217
|
+
body.reminderType = opts.reminder_type;
|
|
218
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
219
|
+
if (httpErr)
|
|
220
|
+
return new models_1.ScheduleCreateResult({ success: false, error: httpErr });
|
|
221
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
222
|
+
if (!ok)
|
|
223
|
+
return new models_1.ScheduleCreateResult({ success: false, error: apiErr });
|
|
224
|
+
const d = data.data || {};
|
|
225
|
+
const sid = Array.isArray(d.scheduleIds) && d.scheduleIds.length > 0 ? d.scheduleIds[0] : scheduleId;
|
|
226
|
+
return new models_1.ScheduleCreateResult({ success: true, schedule_id: sid, raw_response: data });
|
|
227
|
+
}
|
|
228
|
+
async function deleteScheduleAttendees(config, appToken, calendarId, scheduleId, attendees, opts) {
|
|
229
|
+
if (!calendarId)
|
|
230
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "calendar_id is required" });
|
|
231
|
+
if (!scheduleId)
|
|
232
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "schedule_id is required" });
|
|
233
|
+
if (!attendees || !attendees.length)
|
|
234
|
+
return new models_1.ScheduleCreateResult({ success: false, error: "attendees is required" });
|
|
235
|
+
const userToken = opts?.user_token || "";
|
|
236
|
+
const userId = opts?.user_id || "";
|
|
237
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "attendees_delete", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
238
|
+
const body = { attendees };
|
|
239
|
+
if (opts?.reminder_type != null)
|
|
240
|
+
body.reminderType = opts.reminder_type;
|
|
241
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
242
|
+
if (httpErr)
|
|
243
|
+
return new models_1.ScheduleCreateResult({ success: false, error: httpErr });
|
|
244
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
245
|
+
if (!ok)
|
|
246
|
+
return new models_1.ScheduleCreateResult({ success: false, error: apiErr });
|
|
247
|
+
return new models_1.ScheduleCreateResult({ success: true, schedule_id: scheduleId, raw_response: data });
|
|
248
|
+
}
|
|
249
|
+
async function updateScheduleAttendeeMeta(config, appToken, calendarId, scheduleId, opts) {
|
|
250
|
+
if (!calendarId)
|
|
251
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: false, error: "calendar_id is required" });
|
|
252
|
+
if (!scheduleId)
|
|
253
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: false, error: "schedule_id is required" });
|
|
254
|
+
const userToken = opts?.user_token || "";
|
|
255
|
+
const userId = opts?.user_id || "";
|
|
256
|
+
const url = (0, urlHelpers_1.buildApiUrl)(config, "calendars", "attendees_meta_update", appToken, { userToken, userId, pathVars: { calendar_id: calendarId, schedule_id: scheduleId } });
|
|
257
|
+
const body = {};
|
|
258
|
+
if (opts?.rsvp_status != null)
|
|
259
|
+
body.rsvpStatus = opts.rsvp_status;
|
|
260
|
+
if (opts?.color != null)
|
|
261
|
+
body.color = opts.color;
|
|
262
|
+
if (opts?.permissions != null)
|
|
263
|
+
body.permissions = opts.permissions;
|
|
264
|
+
if (opts?.busy_free_state != null)
|
|
265
|
+
body.busyFreeState = opts.busy_free_state;
|
|
266
|
+
if (opts?.remind_times != null)
|
|
267
|
+
body.remindTimes = opts.remind_times;
|
|
268
|
+
if (!Object.keys(body).length)
|
|
269
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: false, error: "at least one field to update is required" });
|
|
270
|
+
const [data, httpErr] = await (0, http_1.doPost)(url, body, opts?.fetchFn);
|
|
271
|
+
if (httpErr)
|
|
272
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: false, error: httpErr });
|
|
273
|
+
const [ok, apiErr] = (0, http_1.parseApiResponse)(data);
|
|
274
|
+
if (!ok)
|
|
275
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: false, error: apiErr });
|
|
276
|
+
return new models_1.ScheduleAttendeeMetaResult({ success: true, raw_response: data });
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=calendars.js.map
|