@buildcalendar/sdk 0.1.0-alpha.3 → 0.1.0-alpha.5

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/esm/client.js CHANGED
@@ -16,7 +16,7 @@ export function createClient({ apiKey, baseUrl, fetch }) {
16
16
  get: ((id, options) => {
17
17
  const params = new URLSearchParams();
18
18
  if (options?.include) {
19
- options.include.forEach((i) => params.append("include[]", i));
19
+ options.include.forEach((i) => params.append("include", i));
20
20
  }
21
21
  if (options?.start)
22
22
  params.set("start", options.start);
@@ -41,6 +41,18 @@ export function createClient({ apiKey, baseUrl, fetch }) {
41
41
  options,
42
42
  }),
43
43
  events: (id, options) => request(`/calendars/${id}/events`, { options }),
44
+ byUser: (externalUserId, options) => {
45
+ const params = new URLSearchParams();
46
+ if (options?.start)
47
+ params.set("start", options.start);
48
+ if (options?.end)
49
+ params.set("end", options.end);
50
+ if (options?.sync)
51
+ params.set("sync", "true");
52
+ const query = params.toString();
53
+ const path = `/calendars/user/${encodeURIComponent(externalUserId)}`;
54
+ return request(query ? `${path}?${query}` : path, { options: { signal: options?.signal } });
55
+ },
44
56
  },
45
57
  events: {
46
58
  create: (input, options) => request("/events", {
@@ -59,10 +71,51 @@ export function createClient({ apiKey, baseUrl, fetch }) {
59
71
  options,
60
72
  }),
61
73
  get: (id, options) => request(`/events/${id}`, { options }),
74
+ update: (id, input, options) => request(`/events/${id}`, {
75
+ method: "PATCH",
76
+ body: {
77
+ title: input.title,
78
+ start: input.start,
79
+ end: input.end,
80
+ description: input.description,
81
+ timezone: input.timezone,
82
+ payload: input.payload,
83
+ rrule: input.rrule,
84
+ },
85
+ options,
86
+ }),
62
87
  delete: (id, options) => request(`/events/${id}`, {
63
88
  method: "DELETE",
64
89
  options,
65
90
  }),
66
91
  },
92
+ google: {
93
+ getAuthUrl: (input, options) => request("/google/auth-url", {
94
+ method: "POST",
95
+ body: {
96
+ external_user_id: input.externalUserId,
97
+ callback_url: input.callbackUrl,
98
+ user_email: input.userEmail,
99
+ scopes: input.scopes,
100
+ },
101
+ options,
102
+ }),
103
+ getConnectionStatus: (externalUserId, options) => request(`/google/connections/${encodeURIComponent(externalUserId)}`, { options }),
104
+ getCalendars: (externalUserId, options) => {
105
+ const params = new URLSearchParams();
106
+ if (options?.sync)
107
+ params.set("sync", "true");
108
+ if (options?.start)
109
+ params.set("start", options.start);
110
+ if (options?.end)
111
+ params.set("end", options.end);
112
+ const query = params.toString();
113
+ const path = `/google/connections/${encodeURIComponent(externalUserId)}/calendars`;
114
+ return request(query ? `${path}?${query}` : path, {
115
+ options: { signal: options?.signal },
116
+ });
117
+ },
118
+ disconnect: (externalUserId, options) => request(`/google/connections/${encodeURIComponent(externalUserId)}`, { method: "DELETE", options }),
119
+ },
67
120
  };
68
121
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buildcalendar/sdk",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "0.1.0-alpha.5",
4
4
  "description": "Official buildcalendar.com SDK",
5
5
  "keywords": [
6
6
  "buildcalendar",
package/script/client.js CHANGED
@@ -19,7 +19,7 @@ function createClient({ apiKey, baseUrl, fetch }) {
19
19
  get: ((id, options) => {
20
20
  const params = new URLSearchParams();
21
21
  if (options?.include) {
22
- options.include.forEach((i) => params.append("include[]", i));
22
+ options.include.forEach((i) => params.append("include", i));
23
23
  }
24
24
  if (options?.start)
25
25
  params.set("start", options.start);
@@ -44,6 +44,18 @@ function createClient({ apiKey, baseUrl, fetch }) {
44
44
  options,
45
45
  }),
46
46
  events: (id, options) => request(`/calendars/${id}/events`, { options }),
47
+ byUser: (externalUserId, options) => {
48
+ const params = new URLSearchParams();
49
+ if (options?.start)
50
+ params.set("start", options.start);
51
+ if (options?.end)
52
+ params.set("end", options.end);
53
+ if (options?.sync)
54
+ params.set("sync", "true");
55
+ const query = params.toString();
56
+ const path = `/calendars/user/${encodeURIComponent(externalUserId)}`;
57
+ return request(query ? `${path}?${query}` : path, { options: { signal: options?.signal } });
58
+ },
47
59
  },
48
60
  events: {
49
61
  create: (input, options) => request("/events", {
@@ -62,10 +74,51 @@ function createClient({ apiKey, baseUrl, fetch }) {
62
74
  options,
63
75
  }),
64
76
  get: (id, options) => request(`/events/${id}`, { options }),
77
+ update: (id, input, options) => request(`/events/${id}`, {
78
+ method: "PATCH",
79
+ body: {
80
+ title: input.title,
81
+ start: input.start,
82
+ end: input.end,
83
+ description: input.description,
84
+ timezone: input.timezone,
85
+ payload: input.payload,
86
+ rrule: input.rrule,
87
+ },
88
+ options,
89
+ }),
65
90
  delete: (id, options) => request(`/events/${id}`, {
66
91
  method: "DELETE",
67
92
  options,
68
93
  }),
69
94
  },
95
+ google: {
96
+ getAuthUrl: (input, options) => request("/google/auth-url", {
97
+ method: "POST",
98
+ body: {
99
+ external_user_id: input.externalUserId,
100
+ callback_url: input.callbackUrl,
101
+ user_email: input.userEmail,
102
+ scopes: input.scopes,
103
+ },
104
+ options,
105
+ }),
106
+ getConnectionStatus: (externalUserId, options) => request(`/google/connections/${encodeURIComponent(externalUserId)}`, { options }),
107
+ getCalendars: (externalUserId, options) => {
108
+ const params = new URLSearchParams();
109
+ if (options?.sync)
110
+ params.set("sync", "true");
111
+ if (options?.start)
112
+ params.set("start", options.start);
113
+ if (options?.end)
114
+ params.set("end", options.end);
115
+ const query = params.toString();
116
+ const path = `/google/connections/${encodeURIComponent(externalUserId)}/calendars`;
117
+ return request(query ? `${path}?${query}` : path, {
118
+ options: { signal: options?.signal },
119
+ });
120
+ },
121
+ disconnect: (externalUserId, options) => request(`/google/connections/${encodeURIComponent(externalUserId)}`, { method: "DELETE", options }),
122
+ },
70
123
  };
71
124
  }
package/types/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Calendar, CalendarWithEvents, CreateCalendarInput, CreateEventInput, DeleteResponse, Event, EventWithCalendar, HealthResponse } from "./types.js";
1
+ import type { AuthUrlResponse, Calendar, CalendarWithEvents, CreateCalendarInput, CreateEventInput, DeleteResponse, Event, EventWithCalendar, GetAuthUrlInput, GetCalendarsByUserOptions, GetGoogleCalendarsOptions, GoogleCalendar, GoogleConnectionStatus, HealthResponse, UpdateEventInput } from "./types.js";
2
2
  export type CreateClientOptions = {
3
3
  apiKey: string;
4
4
  baseUrl?: string;
@@ -33,6 +33,7 @@ export declare function createClient({ apiKey, baseUrl, fetch }: CreateClientOpt
33
33
  events: (id: string, options?: {
34
34
  signal?: AbortSignal;
35
35
  }) => Promise<Event[]>;
36
+ byUser: (externalUserId: string, options?: GetCalendarsByUserOptions) => Promise<CalendarWithEvents[]>;
36
37
  };
37
38
  events: {
38
39
  create: (input: CreateEventInput, options?: {
@@ -41,10 +42,25 @@ export declare function createClient({ apiKey, baseUrl, fetch }: CreateClientOpt
41
42
  get: (id: string, options?: {
42
43
  signal?: AbortSignal;
43
44
  }) => Promise<EventWithCalendar>;
45
+ update: (id: string, input: UpdateEventInput, options?: {
46
+ signal?: AbortSignal;
47
+ }) => Promise<Event>;
44
48
  delete: (id: string, options?: {
45
49
  signal?: AbortSignal;
46
50
  }) => Promise<DeleteResponse>;
47
51
  };
52
+ google: {
53
+ getAuthUrl: (input: GetAuthUrlInput, options?: {
54
+ signal?: AbortSignal;
55
+ }) => Promise<AuthUrlResponse>;
56
+ getConnectionStatus: (externalUserId: string, options?: {
57
+ signal?: AbortSignal;
58
+ }) => Promise<GoogleConnectionStatus>;
59
+ getCalendars: (externalUserId: string, options?: GetGoogleCalendarsOptions) => Promise<GoogleCalendar[]>;
60
+ disconnect: (externalUserId: string, options?: {
61
+ signal?: AbortSignal;
62
+ }) => Promise<DeleteResponse>;
63
+ };
48
64
  };
49
65
  export {};
50
66
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAIF,KAAK,aAAa,GAAG;IACnB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CACE,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QACP,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB;uBAYrD;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE;;yBAGxB;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;aAuBnC,aAAa;wBAEV,mBAAmB,YAChB;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAavB,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAK1C,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;;;wBAIvC,gBAAgB,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;kBAgB1D,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAEvC,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;;EAO5D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,CAAC;AAIF,KAAK,aAAa,GAAG;IACnB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CACE,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QACP,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB;uBAYrD;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE;;yBAGxB;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;aAwBnC,aAAa;wBAGV,mBAAmB,YAChB;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAcvB,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAM1C,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;iCAIrC,MAAM,YACZ,yBAAyB;;;wBAiBrB,gBAAgB,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;kBAiB1D,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAG9C,MAAM,SACH,gBAAgB,YACb;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;qBAgBvB,MAAM,YAAY;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;;;4BAS9C,eAAe,YACZ;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;8CAclB,MAAM,YACZ;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;uCAQlB,MAAM,YACZ,yBAAyB;qCAiBnB,MAAM,YACZ;YAAE,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE;;EAQzC"}
package/types/mod.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { createClient } from "./client.js";
2
2
  export { ApiError } from "./errors.js";
3
- export type { Calendar, CreateCalendarInput, CreateEventInput, DeleteResponse, Event, EventWithCalendar, HealthResponse, } from "./types.js";
3
+ export type { AuthUrlResponse, Calendar, CalendarWithEvents, CreateCalendarInput, CreateEventInput, DeleteResponse, Event, EventWithCalendar, GetAuthUrlInput, GetCalendarsByUserOptions, GetGoogleCalendarsOptions, GoogleCalendar, GoogleConnectionStatus, HealthResponse, UpdateEventInput, } from "./types.js";
4
4
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EACV,eAAe,EACf,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
package/types/types.d.ts CHANGED
@@ -50,10 +50,58 @@ export type CreateEventInput = {
50
50
  payload?: Record<string, unknown>;
51
51
  rrule?: string;
52
52
  };
53
+ export type UpdateEventInput = {
54
+ title: string;
55
+ start: string;
56
+ end: string;
57
+ description?: string;
58
+ timezone?: string;
59
+ payload?: Record<string, unknown>;
60
+ rrule?: string;
61
+ };
53
62
  export type DeleteResponse = {
54
63
  success: true;
55
64
  };
56
65
  export type HealthResponse = {
57
66
  status: "ok";
58
67
  };
68
+ export type GetAuthUrlInput = {
69
+ externalUserId: string;
70
+ callbackUrl: string;
71
+ userEmail?: string;
72
+ scopes?: string[];
73
+ };
74
+ export type AuthUrlResponse = {
75
+ url: string;
76
+ };
77
+ export type GoogleConnectionStatus = {
78
+ connected: boolean;
79
+ googleEmail?: string;
80
+ scopes?: string[];
81
+ };
82
+ export type GoogleCalendar = {
83
+ id: string;
84
+ name: string;
85
+ description: string | null;
86
+ google_calendar_id: string | null;
87
+ timezone: string;
88
+ color: string | null;
89
+ synced_at: string | null;
90
+ events_synced?: number;
91
+ };
92
+ export type GetGoogleCalendarsOptions = {
93
+ sync?: boolean;
94
+ start?: string;
95
+ end?: string;
96
+ signal?: AbortSignal;
97
+ };
98
+ export type GetCalendarsByUserOptions = {
99
+ /** Start of date range (defaults to 2 weeks ago) */
100
+ start?: string;
101
+ /** End of date range (defaults to 2 weeks from now) */
102
+ end?: string;
103
+ /** Force sync with Google Calendar */
104
+ sync?: boolean;
105
+ signal?: AbortSignal;
106
+ };
59
107
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG;IACtC,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG;IAC1C,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,IAAI,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}