@excali-boards/boards-api-client 1.1.10 → 1.1.12

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.
@@ -0,0 +1,60 @@
1
+ import { BoardsManager } from '../core/manager';
2
+ export declare class APICalendar {
3
+ private web;
4
+ constructor(web: BoardsManager);
5
+ getCalendar({ auth, groupId }: CalendarFunctionsInput['getCalendar']): Promise<import("..").WebResponse<GetCalendarResponse>>;
6
+ createEvent({ auth, groupId, event }: CalendarFunctionsInput['createEvent']): Promise<import("..").WebResponse<string>>;
7
+ updateEvent({ auth, groupId, eventId, event }: CalendarFunctionsInput['updateEvent']): Promise<import("..").WebResponse<string>>;
8
+ deleteEvent({ auth, groupId, eventId }: CalendarFunctionsInput['deleteEvent']): Promise<import("..").WebResponse<string>>;
9
+ }
10
+ export type CalendarFunctionsInput = {
11
+ 'getCalendar': {
12
+ auth: string;
13
+ groupId: string;
14
+ };
15
+ 'createEvent': {
16
+ auth: string;
17
+ groupId: string;
18
+ event: EventObject;
19
+ };
20
+ 'updateEvent': {
21
+ auth: string;
22
+ groupId: string;
23
+ eventId: string;
24
+ event: Partial<EventObject>;
25
+ };
26
+ 'deleteEvent': {
27
+ auth: string;
28
+ groupId: string;
29
+ eventId: string;
30
+ };
31
+ };
32
+ export type EventObject = {
33
+ title: string;
34
+ start: Date;
35
+ end: Date;
36
+ description?: string;
37
+ color: string;
38
+ };
39
+ export type GetCalendarResponse = {
40
+ group: {
41
+ id: string;
42
+ name: string;
43
+ index: number;
44
+ accessLevel: string;
45
+ };
46
+ events: {
47
+ id: string;
48
+ title: string;
49
+ color: string;
50
+ description: string | null;
51
+ start: Date;
52
+ end: Date;
53
+ createdAt: Date;
54
+ updatedAt: Date;
55
+ createdBy: {
56
+ displayName: string;
57
+ avatarUrl: string | null;
58
+ };
59
+ }[];
60
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APICalendar = void 0;
4
+ class APICalendar {
5
+ web;
6
+ constructor(web) {
7
+ this.web = web;
8
+ }
9
+ async getCalendar({ auth, groupId }) {
10
+ return await this.web.request({
11
+ method: 'GET',
12
+ auth,
13
+ endpoint: `/groups/${groupId}/calendar`,
14
+ });
15
+ }
16
+ async createEvent({ auth, groupId, event }) {
17
+ return await this.web.request({
18
+ method: 'POST',
19
+ auth,
20
+ endpoint: `/groups/${groupId}/calendar`,
21
+ body: event,
22
+ });
23
+ }
24
+ async updateEvent({ auth, groupId, eventId, event }) {
25
+ return await this.web.request({
26
+ method: 'PATCH',
27
+ auth,
28
+ endpoint: `/groups/${groupId}/calendar/${eventId}`,
29
+ body: event,
30
+ });
31
+ }
32
+ async deleteEvent({ auth, groupId, eventId }) {
33
+ return await this.web.request({
34
+ method: 'DELETE',
35
+ auth,
36
+ endpoint: `/groups/${groupId}/calendar/${eventId}`,
37
+ });
38
+ }
39
+ }
40
+ exports.APICalendar = APICalendar;
@@ -3,6 +3,7 @@ import { AxiosResponse, ResponseType } from 'axios';
3
3
  import { APIPermissions } from '../classes/permissions';
4
4
  import { APICategories } from '../classes/categories';
5
5
  import { APISessions } from '../classes/sessions';
6
+ import { APICalendar } from '../classes/calendar';
6
7
  import { APIMetrics } from '../classes/metrics';
7
8
  import { APIInvites } from '../classes/invites';
8
9
  import { APIGroups } from '../classes/groups';
@@ -15,6 +16,7 @@ export declare class BoardsManager {
15
16
  url: string;
16
17
  readonly permissions: APIPermissions;
17
18
  readonly categories: APICategories;
19
+ readonly calendar: APICalendar;
18
20
  readonly sessions: APISessions;
19
21
  readonly invites: APIInvites;
20
22
  readonly metrics: APIMetrics;
@@ -8,6 +8,7 @@ const axios_1 = __importDefault(require("axios"));
8
8
  const permissions_1 = require("../classes/permissions");
9
9
  const categories_1 = require("../classes/categories");
10
10
  const sessions_1 = require("../classes/sessions");
11
+ const calendar_1 = require("../classes/calendar");
11
12
  const metrics_1 = require("../classes/metrics");
12
13
  const invites_1 = require("../classes/invites");
13
14
  const groups_1 = require("../classes/groups");
@@ -21,6 +22,7 @@ class BoardsManager {
21
22
  url;
22
23
  permissions = new permissions_1.APIPermissions(this);
23
24
  categories = new categories_1.APICategories(this);
25
+ calendar = new calendar_1.APICalendar(this);
24
26
  sessions = new sessions_1.APISessions(this);
25
27
  invites = new invites_1.APIInvites(this);
26
28
  metrics = new metrics_1.APIMetrics(this);
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './external/types';
4
4
  export * from './external/vars';
5
5
  export * from './classes/permissions';
6
6
  export * from './classes/categories';
7
+ export * from './classes/calendar';
7
8
  export * from './classes/sessions';
8
9
  export * from './classes/invites';
9
10
  export * from './classes/metrics';
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ __exportStar(require("./external/types"), exports);
20
20
  __exportStar(require("./external/vars"), exports);
21
21
  __exportStar(require("./classes/permissions"), exports);
22
22
  __exportStar(require("./classes/categories"), exports);
23
+ __exportStar(require("./classes/calendar"), exports);
23
24
  __exportStar(require("./classes/sessions"), exports);
24
25
  __exportStar(require("./classes/invites"), exports);
25
26
  __exportStar(require("./classes/metrics"), exports);
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/types.ts","../src/classes/admin.ts","../src/classes/boards.ts","../src/classes/categories.ts","../src/classes/files.ts","../src/classes/groups.ts","../src/classes/invites.ts","../src/classes/metrics.ts","../src/classes/permissions.ts","../src/classes/sessions.ts","../src/classes/users.ts","../src/classes/utils.ts","../src/core/manager.ts","../src/core/utils.ts","../src/external/types.ts","../src/external/vars.ts"],"version":"5.9.2"}
1
+ {"root":["../src/index.ts","../src/types.ts","../src/classes/admin.ts","../src/classes/boards.ts","../src/classes/calendar.ts","../src/classes/categories.ts","../src/classes/files.ts","../src/classes/groups.ts","../src/classes/invites.ts","../src/classes/metrics.ts","../src/classes/permissions.ts","../src/classes/sessions.ts","../src/classes/users.ts","../src/classes/utils.ts","../src/core/manager.ts","../src/core/utils.ts","../src/external/types.ts","../src/external/vars.ts"],"version":"5.9.2"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.10",
2
+ "version": "1.1.12",
3
3
  "name": "@excali-boards/boards-api-client",
4
4
  "description": "A simple API client for the Boards API.",
5
5
  "repository": "https://github.com/Excali-Boards/boards-api-client",
@@ -5,6 +5,7 @@ model Group {
5
5
  name String
6
6
  index Int
7
7
 
8
+ events Event[]
8
9
  categories Category[]
9
10
  permissions GroupPermission[]
10
11
  }
@@ -0,0 +1,26 @@
1
+ model Event {
2
+ dbId String @id @default(uuid())
3
+ eventId String @unique
4
+
5
+ title String
6
+ start DateTime
7
+ end DateTime
8
+ color String @default("#9676ca")
9
+
10
+ where String?
11
+ description String?
12
+
13
+ createdAt DateTime @default(now())
14
+ updatedAt DateTime @updatedAt
15
+
16
+ groupId String
17
+ group Group @relation(fields: [groupId], references: [groupId], onDelete: Cascade)
18
+
19
+ createdBy String
20
+ creator User @relation(fields: [createdBy], references: [userId], onDelete: Cascade)
21
+
22
+ @@index([createdBy])
23
+ @@index([groupId])
24
+ @@index([start])
25
+ @@index([end])
26
+ }
@@ -29,7 +29,6 @@ enum Device {
29
29
  enum BoardType {
30
30
  Excalidraw
31
31
  Tldraw
32
- Text
33
32
  }
34
33
 
35
34
  // Separate role enums for each resource type
@@ -15,8 +15,9 @@ model User {
15
15
  categoryPermissions CategoryPermission[]
16
16
  boardPermissions BoardPermission[]
17
17
 
18
- createdInvites Invite[]
19
18
  sessions Session[]
19
+ createdEvents Event[]
20
+ createdInvites Invite[]
20
21
  }
21
22
 
22
23
  model Session {