@excali-boards/boards-api-client 1.1.52 → 1.1.54

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.
@@ -1,12 +1,12 @@
1
- import { Paginated, WithHeaders } from '../types';
2
- import { BoardsManager } from '../core/manager';
3
- import { AllRooms, RecentlyActiveRoom } from '../external/types';
4
- import { GetUsersOutput } from './users';
1
+ import { Paginated, WithHeaders } from '../types.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { AllRooms, RecentlyActiveRoom } from '../external/types.js';
4
+ import { GetUsersOutput } from './users.js';
5
5
  export declare class APIAdmin {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- getUsers({ auth, page, limit, ...rest }: AdminFunctionsInput['getUsers']): Promise<import("..").WebResponse<Paginated<GetUsersOutput>>>;
9
- getActiveRooms({ auth, ...rest }: AdminFunctionsInput['getActiveRooms']): Promise<import("..").WebResponse<{
8
+ getUsers({ auth, page, limit, ...rest }: AdminFunctionsInput['getUsers']): Promise<import("../types.js").WebResponse<Paginated<GetUsersOutput>>>;
9
+ getActiveRooms({ auth, ...rest }: AdminFunctionsInput['getActiveRooms']): Promise<import("../types.js").WebResponse<{
10
10
  rooms: AllRooms;
11
11
  recentlyActiveRooms: RecentlyActiveRoom[];
12
12
  }>>;
@@ -1,13 +1,13 @@
1
- import { BoardsManager } from '../core/manager';
2
- import { WithHeaders } from '../types';
1
+ import { BoardsManager } from '../core/manager.js';
2
+ import { WithHeaders } from '../types.js';
3
3
  export declare class APIAnalytics {
4
4
  private web;
5
5
  constructor(web: BoardsManager);
6
- getGlobalAnalytics({ auth, ...rest }: AnalyticsFunctionsInput['getGlobalAnalytics']): Promise<import("..").WebResponse<UserBoardActivityWithUser[]>>;
7
- getUserAnalytics({ auth, ...rest }: AnalyticsFunctionsInput['getUserAnalytics']): Promise<import("..").WebResponse<UserBoardActivityWithBoard[]>>;
8
- getBoardAnalytics({ auth, boardId, categoryId, groupId, ...rest }: AnalyticsFunctionsInput['getBoardAnalytics']): Promise<import("..").WebResponse<UserBoardActivityWithUser[]>>;
9
- getCategoryAnalytics({ auth, categoryId, groupId, ...rest }: AnalyticsFunctionsInput['getCategoryAnalytics']): Promise<import("..").WebResponse<UserBoardActivityWithUser[]>>;
10
- getGroupAnalytics({ auth, groupId, ...rest }: AnalyticsFunctionsInput['getGroupAnalytics']): Promise<import("..").WebResponse<UserBoardActivityWithUser[]>>;
6
+ getGlobalAnalytics({ auth, ...rest }: AnalyticsFunctionsInput['getGlobalAnalytics']): Promise<import("../types.js").WebResponse<UserBoardActivityWithUser[]>>;
7
+ getUserAnalytics({ auth, ...rest }: AnalyticsFunctionsInput['getUserAnalytics']): Promise<import("../types.js").WebResponse<UserBoardActivityWithBoard[]>>;
8
+ getBoardAnalytics({ auth, boardId, categoryId, groupId, ...rest }: AnalyticsFunctionsInput['getBoardAnalytics']): Promise<import("../types.js").WebResponse<UserBoardActivityWithUser[]>>;
9
+ getCategoryAnalytics({ auth, categoryId, groupId, ...rest }: AnalyticsFunctionsInput['getCategoryAnalytics']): Promise<import("../types.js").WebResponse<UserBoardActivityWithUser[]>>;
10
+ getGroupAnalytics({ auth, groupId, ...rest }: AnalyticsFunctionsInput['getGroupAnalytics']): Promise<import("../types.js").WebResponse<UserBoardActivityWithUser[]>>;
11
11
  }
12
12
  export type AnalyticsFunctionsInput = WithHeaders<{
13
13
  'getGlobalAnalytics': {
@@ -1,34 +1,34 @@
1
- import { BoardsManager } from '../core/manager';
2
- import { CreateSessionInput } from './sessions';
3
- import { DBUserPartialType } from '../external/vars';
4
- import { WithHeaders } from '../types';
1
+ import { BoardsManager } from '../core/manager.js';
2
+ import { CreateSessionInput } from './sessions.js';
3
+ import { DBUserPartialType } from '../external/vars.js';
4
+ import { WithHeaders } from '../types.js';
5
5
  export declare class APIAuth {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- authenticate({ auth, body, ...rest }: AuthFunctionsInput['authenticate']): Promise<import("..").WebResponse<{
8
+ authenticate({ auth, body, ...rest }: AuthFunctionsInput['authenticate']): Promise<import("../types.js").WebResponse<{
9
9
  avatarUrl: string | null;
10
10
  boardPermissions: {
11
11
  boardId: string;
12
- role: import("prisma/generated").$Enums.BoardRole;
12
+ role: import("prisma/generated/index.js").$Enums.BoardRole;
13
13
  }[];
14
14
  categoryPermissions: {
15
15
  categoryId: string;
16
- role: import("prisma/generated").$Enums.CategoryRole;
16
+ role: import("prisma/generated/index.js").$Enums.CategoryRole;
17
17
  }[];
18
18
  displayName: string;
19
19
  email: string;
20
20
  groupPermissions: {
21
21
  groupId: string;
22
- role: import("prisma/generated").$Enums.GroupRole;
22
+ role: import("prisma/generated/index.js").$Enums.GroupRole;
23
23
  }[];
24
24
  invitedBy: string | null;
25
25
  loginMethods: {
26
- platform: import("prisma/generated").$Enums.Platforms;
26
+ platform: import("prisma/generated/index.js").$Enums.Platforms;
27
27
  platformEmail: string;
28
28
  }[];
29
29
  mainGroupId: string | null;
30
- mainLoginType: import("prisma/generated").$Enums.Platforms;
31
- registrationMethod: import("prisma/generated").$Enums.RegistrationMethod;
30
+ mainLoginType: import("prisma/generated/index.js").$Enums.Platforms;
31
+ registrationMethod: import("prisma/generated/index.js").$Enums.RegistrationMethod;
32
32
  userId: string;
33
33
  }>>;
34
34
  }
@@ -1,19 +1,21 @@
1
- import { AccessLevel, AllRooms, NameInput, SingleOutput } from '../external/types';
2
- import { BoardType } from '../../prisma/generated/default';
3
- import { BoardsManager } from '../core/manager';
4
- import { WithHeaders } from '../types';
1
+ import { AccessLevel, AllRooms, NameInput, SingleOutput } from '../external/types.js';
2
+ import { BoardType } from '../../prisma/generated/default.js';
3
+ import { BoardsManager } from '../core/manager.js';
4
+ import { WithHeaders } from '../types.js';
5
5
  export declare class APIBoards {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- getBoards({ auth, categoryId, groupId, ...rest }: BoardsFunctionsInput['getBoards']): Promise<import("..").WebResponse<GetBoardOutput[]>>;
9
- getBoard({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['getBoard']): Promise<import("..").WebResponse<GetBoardOutput>>;
10
- updateBoard({ auth, categoryId, groupId, boardId, body, ...rest }: BoardsFunctionsInput['updateBoard']): Promise<import("..").WebResponse<string>>;
11
- moveBoard({ auth, categoryId, groupId, boardId, body, ...rest }: BoardsFunctionsInput['moveBoard']): Promise<import("..").WebResponse<MoveBoardOutput>>;
12
- scheduleBoardDeletion({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['scheduleBoardDeletion']): Promise<import("..").WebResponse<string>>;
13
- forceDeleteBoard({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['scheduleBoardDeletion']): Promise<import("..").WebResponse<string>>;
14
- cancelBoardDeletion({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['cancelBoardDeletion']): Promise<import("..").WebResponse<string>>;
15
- getBoardRoomData({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['getRoomData']): Promise<import("..").WebResponse<AllRooms>>;
16
- kickUserFromRoom({ auth, categoryId, groupId, boardId, userId, ...rest }: BoardsFunctionsInput['kickUserFromRoom']): Promise<import("..").WebResponse<string>>;
8
+ getBoards({ auth, categoryId, groupId, ...rest }: BoardsFunctionsInput['getBoards']): Promise<import("../types.js").WebResponse<GetBoardOutput[]>>;
9
+ getPersonalBoards({ auth, ...rest }: BoardsFunctionsInput['getPersonalBoards']): Promise<import("../types.js").WebResponse<PersonalBoardsOutput | null>>;
10
+ createPersonalBoard({ auth, body, ...rest }: BoardsFunctionsInput['createPersonalBoard']): Promise<import("../types.js").WebResponse<CreatePersonalBoardOutput>>;
11
+ getBoard({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['getBoard']): Promise<import("../types.js").WebResponse<GetBoardOutput>>;
12
+ updateBoard({ auth, categoryId, groupId, boardId, body, ...rest }: BoardsFunctionsInput['updateBoard']): Promise<import("../types.js").WebResponse<string>>;
13
+ moveBoard({ auth, categoryId, groupId, boardId, body, ...rest }: BoardsFunctionsInput['moveBoard']): Promise<import("../types.js").WebResponse<MoveBoardOutput>>;
14
+ scheduleBoardDeletion({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['scheduleBoardDeletion']): Promise<import("../types.js").WebResponse<string>>;
15
+ forceDeleteBoard({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['scheduleBoardDeletion']): Promise<import("../types.js").WebResponse<string>>;
16
+ cancelBoardDeletion({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['cancelBoardDeletion']): Promise<import("../types.js").WebResponse<string>>;
17
+ getBoardRoomData({ auth, categoryId, groupId, boardId, ...rest }: BoardsFunctionsInput['getRoomData']): Promise<import("../types.js").WebResponse<AllRooms>>;
18
+ kickUserFromRoom({ auth, categoryId, groupId, boardId, userId, ...rest }: BoardsFunctionsInput['kickUserFromRoom']): Promise<import("../types.js").WebResponse<string>>;
17
19
  }
18
20
  export type BoardsFunctionsInput = WithHeaders<{
19
21
  'getBoards': {
@@ -21,6 +23,16 @@ export type BoardsFunctionsInput = WithHeaders<{
21
23
  categoryId: string;
22
24
  groupId: string;
23
25
  };
26
+ 'getPersonalBoards': {
27
+ auth: string;
28
+ };
29
+ 'createPersonalBoard': {
30
+ auth: string;
31
+ body: NameInput & {
32
+ type: BoardType;
33
+ categoryId?: string;
34
+ };
35
+ };
24
36
  'getBoard': {
25
37
  auth: string;
26
38
  categoryId: string;
@@ -87,6 +99,29 @@ export type GetBoardOutput = {
87
99
  };
88
100
  };
89
101
  export type GetFileOutput = ReadableStream | Blob;
102
+ export type CreatePersonalBoardOutput = {
103
+ groupId: string;
104
+ categoryId: string;
105
+ boardId: string;
106
+ };
107
+ export type PersonalBoardsOutput = {
108
+ id: string;
109
+ name: string;
110
+ categories: PersonalCategoryOutput[];
111
+ };
112
+ export type PersonalCategoryOutput = {
113
+ id: string;
114
+ name: string;
115
+ boards: PersonalBoardOutput[];
116
+ };
117
+ export type PersonalBoardOutput = {
118
+ id: string;
119
+ name: string;
120
+ type: BoardType;
121
+ index: number;
122
+ totalSizeBytes: number;
123
+ scheduledForDeletion: Date | null;
124
+ };
90
125
  export type MoveBoardInput = {
91
126
  targetCategoryId: string;
92
127
  targetIndex?: number;
@@ -9,6 +9,18 @@ export class APIBoards {
9
9
  endpoint: this.web.qp(`/groups/${groupId}/categories/${categoryId}`),
10
10
  });
11
11
  }
12
+ async getPersonalBoards({ auth, ...rest }) {
13
+ return await this.web.request({
14
+ method: 'GET', auth, ...rest,
15
+ endpoint: this.web.qp('/personal-boards'),
16
+ });
17
+ }
18
+ async createPersonalBoard({ auth, body, ...rest }) {
19
+ return await this.web.request({
20
+ method: 'POST', auth, body, ...rest,
21
+ endpoint: this.web.qp('/personal-boards'),
22
+ });
23
+ }
12
24
  async getBoard({ auth, categoryId, groupId, boardId, ...rest }) {
13
25
  return await this.web.request({
14
26
  method: 'GET', auth, ...rest,
@@ -1,15 +1,15 @@
1
- import { SingleOutput } from '../external/types';
2
- import { BoardsManager } from '../core/manager';
3
- import { WithHeaders } from '../types';
1
+ import { SingleOutput } from '../external/types.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { WithHeaders } from '../types.js';
4
4
  export declare class APICalendar {
5
5
  private web;
6
6
  constructor(web: BoardsManager);
7
- getCalendar({ auth, groupId, ...rest }: CalendarFunctionsInput['getCalendar']): Promise<import("..").WebResponse<GetCalendarResponse>>;
8
- getHolidays({ auth, countryCode, year, ...rest }: CalendarFunctionsInput['getHolidays']): Promise<import("..").WebResponse<FormattedHoliday[]>>;
9
- updateGroupCalendarCode({ auth, groupId, calCode, ...rest }: CalendarFunctionsInput['updateGroupCalendarCode']): Promise<import("..").WebResponse<string>>;
10
- createEvent({ auth, groupId, event, ...rest }: CalendarFunctionsInput['createEvent']): Promise<import("..").WebResponse<string>>;
11
- updateEvent({ auth, groupId, eventId, event, ...rest }: CalendarFunctionsInput['updateEvent']): Promise<import("..").WebResponse<string>>;
12
- deleteEvent({ auth, groupId, eventId, ...rest }: CalendarFunctionsInput['deleteEvent']): Promise<import("..").WebResponse<string>>;
7
+ getCalendar({ auth, groupId, ...rest }: CalendarFunctionsInput['getCalendar']): Promise<import("../types.js").WebResponse<GetCalendarResponse>>;
8
+ getHolidays({ auth, countryCode, year, ...rest }: CalendarFunctionsInput['getHolidays']): Promise<import("../types.js").WebResponse<FormattedHoliday[]>>;
9
+ updateGroupCalendarCode({ auth, groupId, calCode, ...rest }: CalendarFunctionsInput['updateGroupCalendarCode']): Promise<import("../types.js").WebResponse<string>>;
10
+ createEvent({ auth, groupId, event, ...rest }: CalendarFunctionsInput['createEvent']): Promise<import("../types.js").WebResponse<string>>;
11
+ updateEvent({ auth, groupId, eventId, event, ...rest }: CalendarFunctionsInput['updateEvent']): Promise<import("../types.js").WebResponse<string>>;
12
+ deleteEvent({ auth, groupId, eventId, ...rest }: CalendarFunctionsInput['deleteEvent']): Promise<import("../types.js").WebResponse<string>>;
13
13
  }
14
14
  export type CalendarFunctionsInput = WithHeaders<{
15
15
  'getCalendar': {
@@ -1,17 +1,17 @@
1
- import { BoardInput, NameInput, SingleOutput } from '../external/types';
2
- import { BoardsManager } from '../core/manager';
3
- import { GetBoardOutput } from './boards';
4
- import { WithHeaders } from '../types';
1
+ import { BoardInput, NameInput, SingleOutput } from '../external/types.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { GetBoardOutput } from './boards.js';
4
+ import { WithHeaders } from '../types.js';
5
5
  export declare class APICategories {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- getCategories({ auth, groupId, ...rest }: CategoriesFunctionsInput['getCategories']): Promise<import("..").WebResponse<GetCategoriesOutput>>;
9
- getCategory({ auth, groupId, categoryId, ...rest }: CategoriesFunctionsInput['getCategory']): Promise<import("..").WebResponse<GetCategoryOutput>>;
10
- createBoardInCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['createBoardInCategory']): Promise<import("..").WebResponse<string>>;
11
- updateCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['updateCategory']): Promise<import("..").WebResponse<string>>;
12
- moveCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['moveCategory']): Promise<import("..").WebResponse<MoveCategoryOutput>>;
13
- reorderBoardsInCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['reorderBoards']): Promise<import("..").WebResponse<string>>;
14
- deleteCategory({ auth, groupId, categoryId, ...rest }: CategoriesFunctionsInput['deleteCategory']): Promise<import("..").WebResponse<string>>;
8
+ getCategories({ auth, groupId, ...rest }: CategoriesFunctionsInput['getCategories']): Promise<import("../types.js").WebResponse<GetCategoriesOutput>>;
9
+ getCategory({ auth, groupId, categoryId, ...rest }: CategoriesFunctionsInput['getCategory']): Promise<import("../types.js").WebResponse<GetCategoryOutput>>;
10
+ createBoardInCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['createBoardInCategory']): Promise<import("../types.js").WebResponse<string>>;
11
+ updateCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['updateCategory']): Promise<import("../types.js").WebResponse<string>>;
12
+ moveCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['moveCategory']): Promise<import("../types.js").WebResponse<MoveCategoryOutput>>;
13
+ reorderBoardsInCategory({ auth, groupId, categoryId, body, ...rest }: CategoriesFunctionsInput['reorderBoards']): Promise<import("../types.js").WebResponse<string>>;
14
+ deleteCategory({ auth, groupId, categoryId, ...rest }: CategoriesFunctionsInput['deleteCategory']): Promise<import("../types.js").WebResponse<string>>;
15
15
  }
16
16
  export type CategoriesFunctionsInput = WithHeaders<{
17
17
  'getCategories': {
@@ -1,11 +1,11 @@
1
- import { BoardsManager } from '../core/manager';
2
- import { WithHeaders } from '../types';
1
+ import { BoardsManager } from '../core/manager.js';
2
+ import { WithHeaders } from '../types.js';
3
3
  export declare class APIFiles {
4
4
  private web;
5
5
  constructor(web: BoardsManager);
6
- uploadBase64Files({ auth, boardId, files, ...rest }: FilesFunctionsInput['uploadBase64Files']): Promise<import("..").WebResponse<FileUploadResponse>>;
7
- uploadRawFiles({ auth, boardId, files, ...rest }: FilesFunctionsInput['uploadRawFiles']): Promise<import("..").WebResponse<FileUploadResponse>>;
8
- deleteFiles({ auth, boardId, fileIds, ...rest }: FilesFunctionsInput['deleteFiles']): Promise<import("..").WebResponse<string>>;
6
+ uploadBase64Files({ auth, boardId, files, ...rest }: FilesFunctionsInput['uploadBase64Files']): Promise<import("../types.js").WebResponse<FileUploadResponse>>;
7
+ uploadRawFiles({ auth, boardId, files, ...rest }: FilesFunctionsInput['uploadRawFiles']): Promise<import("../types.js").WebResponse<FileUploadResponse>>;
8
+ deleteFiles({ auth, boardId, fileIds, ...rest }: FilesFunctionsInput['deleteFiles']): Promise<import("../types.js").WebResponse<string>>;
9
9
  }
10
10
  export type FilesFunctionsInput = WithHeaders<{
11
11
  'uploadBase64Files': {
@@ -1,19 +1,19 @@
1
- import { SingleOutput } from '../external/types';
2
- import { BoardsManager } from '../core/manager';
3
- import { WithHeaders } from '../types';
1
+ import { SingleOutput } from '../external/types.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { WithHeaders } from '../types.js';
4
4
  export declare class APIFlashcards {
5
5
  private web;
6
6
  constructor(web: BoardsManager);
7
- getDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['getDeck']): Promise<import("..").WebResponse<FlashcardDeckResponse>>;
8
- initializeDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['initializeDeck']): Promise<import("..").WebResponse<string>>;
9
- destroyDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['destroyDeck']): Promise<import("..").WebResponse<string>>;
10
- createCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['createCards']): Promise<import("..").WebResponse<string>>;
11
- updateCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['updateCards']): Promise<import("..").WebResponse<string>>;
12
- deleteCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['deleteCards']): Promise<import("..").WebResponse<string>>;
13
- overrideCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['overrideCards']): Promise<import("..").WebResponse<string>>;
14
- updateProgress({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['updateProgress']): Promise<import("..").WebResponse<string>>;
15
- resetProgress({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['resetProgress']): Promise<import("..").WebResponse<string>>;
16
- reorderCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['reorderCards']): Promise<import("..").WebResponse<string>>;
7
+ getDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['getDeck']): Promise<import("../types.js").WebResponse<FlashcardDeckResponse>>;
8
+ initializeDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['initializeDeck']): Promise<import("../types.js").WebResponse<string>>;
9
+ destroyDeck({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['destroyDeck']): Promise<import("../types.js").WebResponse<string>>;
10
+ createCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['createCards']): Promise<import("../types.js").WebResponse<string>>;
11
+ updateCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['updateCards']): Promise<import("../types.js").WebResponse<string>>;
12
+ deleteCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['deleteCards']): Promise<import("../types.js").WebResponse<string>>;
13
+ overrideCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['overrideCards']): Promise<import("../types.js").WebResponse<string>>;
14
+ updateProgress({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['updateProgress']): Promise<import("../types.js").WebResponse<string>>;
15
+ resetProgress({ auth, groupId, categoryId, boardId, ...rest }: FlashcardsFunctionsInput['resetProgress']): Promise<import("../types.js").WebResponse<string>>;
16
+ reorderCards({ auth, groupId, categoryId, boardId, body, ...rest }: FlashcardsFunctionsInput['reorderCards']): Promise<import("../types.js").WebResponse<string>>;
17
17
  }
18
18
  export type FlashcardsFunctionsInput = WithHeaders<{
19
19
  getDeck: {
@@ -1,18 +1,18 @@
1
- import { NameInput, SingleOutput } from '../external/types';
2
- import { BoardsManager } from '../core/manager';
3
- import { WithHeaders } from '../types';
1
+ import { NameInput, SingleOutput } from '../external/types.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { WithHeaders } from '../types.js';
4
4
  export declare class APIGroups {
5
5
  private web;
6
6
  constructor(web: BoardsManager);
7
- getAllSorted({ auth, ...rest }: GroupsFunctionsInput['getAllSorted']): Promise<import("..").WebResponse<GetAllSortedOutput>>;
8
- getGroups({ auth, ...rest }: GroupsFunctionsInput['getGroups']): Promise<import("..").WebResponse<GetGroupsOutput>>;
9
- getGroup({ auth, groupId, ...rest }: GroupsFunctionsInput['getGroup']): Promise<import("..").WebResponse<GetGroupOutput>>;
10
- createGroup({ auth, body, ...rest }: GroupsFunctionsInput['createGroup']): Promise<import("..").WebResponse<string>>;
11
- createCategoryInGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['createCategoryInGroup']): Promise<import("..").WebResponse<string>>;
12
- updateGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['updateGroup']): Promise<import("..").WebResponse<string>>;
13
- reorderGroups({ auth, body, ...rest }: GroupsFunctionsInput['reorderGroups']): Promise<import("..").WebResponse<string>>;
14
- reorderCategoriesInGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['reorderCategoriesInGroup']): Promise<import("..").WebResponse<string>>;
15
- deleteGroup({ auth, groupId, ...rest }: GroupsFunctionsInput['deleteGroup']): Promise<import("..").WebResponse<string>>;
7
+ getAllSorted({ auth, ...rest }: GroupsFunctionsInput['getAllSorted']): Promise<import("../types.js").WebResponse<GetAllSortedOutput>>;
8
+ getGroups({ auth, ...rest }: GroupsFunctionsInput['getGroups']): Promise<import("../types.js").WebResponse<GetGroupsOutput>>;
9
+ getGroup({ auth, groupId, ...rest }: GroupsFunctionsInput['getGroup']): Promise<import("../types.js").WebResponse<GetGroupOutput>>;
10
+ createGroup({ auth, body, ...rest }: GroupsFunctionsInput['createGroup']): Promise<import("../types.js").WebResponse<string>>;
11
+ createCategoryInGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['createCategoryInGroup']): Promise<import("../types.js").WebResponse<string>>;
12
+ updateGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['updateGroup']): Promise<import("../types.js").WebResponse<string>>;
13
+ reorderGroups({ auth, body, ...rest }: GroupsFunctionsInput['reorderGroups']): Promise<import("../types.js").WebResponse<string>>;
14
+ reorderCategoriesInGroup({ auth, groupId, body, ...rest }: GroupsFunctionsInput['reorderCategoriesInGroup']): Promise<import("../types.js").WebResponse<string>>;
15
+ deleteGroup({ auth, groupId, ...rest }: GroupsFunctionsInput['deleteGroup']): Promise<import("../types.js").WebResponse<string>>;
16
16
  }
17
17
  export type GroupsFunctionsInput = WithHeaders<{
18
18
  'getAllSorted': {
@@ -1,18 +1,18 @@
1
- import { BoardRole, CategoryRole, GroupRole } from '../external/vars';
2
- import { GrantedRoles, ResourceType } from '../external/types';
1
+ import { BoardRole, CategoryRole, GroupRole } from '../external/vars.js';
2
+ import { GrantedRoles, ResourceType } from '../external/types.js';
3
3
  import { Invite } from '../../prisma/generated';
4
- import { BoardsManager } from '../core/manager';
5
- import { WithHeaders } from '../types';
4
+ import { BoardsManager } from '../core/manager.js';
5
+ import { WithHeaders } from '../types.js';
6
6
  export declare class APIInvites {
7
7
  private web;
8
8
  constructor(web: BoardsManager);
9
- getUserInvites({ auth, ...rest }: InvitesFunctionsInput['getUserInvites']): Promise<import("..").WebResponse<GetUserInvitesOutput>>;
10
- getResourceInvites({ auth, query, ...rest }: InvitesFunctionsInput['getResourceInvites']): Promise<import("..").WebResponse<GetResourceInvitesOutput>>;
11
- getInviteDetails({ auth, code, ...rest }: InvitesFunctionsInput['getInviteDetails']): Promise<import("..").WebResponse<InviteDetails>>;
12
- createInvite({ auth, body, ...rest }: InvitesFunctionsInput['createInvite']): Promise<import("..").WebResponse<CreateInviteOutput>>;
13
- useInvite({ auth, code, ...rest }: InvitesFunctionsInput['useInvite']): Promise<import("..").WebResponse<UseInviteOutput>>;
14
- renewInvite({ auth, code, ...rest }: InvitesFunctionsInput['renewInvite']): Promise<import("..").WebResponse<RenewInviteOutput>>;
15
- revokeInvite({ auth, code, ...rest }: InvitesFunctionsInput['revokeInvite']): Promise<import("..").WebResponse<string>>;
9
+ getUserInvites({ auth, ...rest }: InvitesFunctionsInput['getUserInvites']): Promise<import("../types.js").WebResponse<GetUserInvitesOutput>>;
10
+ getResourceInvites({ auth, query, ...rest }: InvitesFunctionsInput['getResourceInvites']): Promise<import("../types.js").WebResponse<GetResourceInvitesOutput>>;
11
+ getInviteDetails({ auth, code, ...rest }: InvitesFunctionsInput['getInviteDetails']): Promise<import("../types.js").WebResponse<InviteDetails>>;
12
+ createInvite({ auth, body, ...rest }: InvitesFunctionsInput['createInvite']): Promise<import("../types.js").WebResponse<CreateInviteOutput>>;
13
+ useInvite({ auth, code, ...rest }: InvitesFunctionsInput['useInvite']): Promise<import("../types.js").WebResponse<UseInviteOutput>>;
14
+ renewInvite({ auth, code, ...rest }: InvitesFunctionsInput['renewInvite']): Promise<import("../types.js").WebResponse<RenewInviteOutput>>;
15
+ revokeInvite({ auth, code, ...rest }: InvitesFunctionsInput['revokeInvite']): Promise<import("../types.js").WebResponse<string>>;
16
16
  }
17
17
  export type InvitesFunctionsInput = WithHeaders<{
18
18
  'getUserInvites': {
@@ -1,10 +1,10 @@
1
- import { BoardsManager } from '../core/manager';
2
- import { WithHeaders } from '../types';
1
+ import { BoardsManager } from '../core/manager.js';
2
+ import { WithHeaders } from '../types.js';
3
3
  export declare class APIMetrics {
4
4
  private web;
5
5
  constructor(web: BoardsManager);
6
- getMetrics({ auth, ...rest }: MetricsFunctionsInput['getMetrics']): Promise<import("..").WebResponse<string>>;
7
- getStatus({ auth, ...rest }: MetricsFunctionsInput['getStatus']): Promise<import("..").WebResponse<SystemStatus>>;
6
+ getMetrics({ auth, ...rest }: MetricsFunctionsInput['getMetrics']): Promise<import("../types.js").WebResponse<string>>;
7
+ getStatus({ auth, ...rest }: MetricsFunctionsInput['getStatus']): Promise<import("../types.js").WebResponse<SystemStatus>>;
8
8
  }
9
9
  export type MetricsFunctionsInput = WithHeaders<{
10
10
  'getMetrics': {
@@ -1,14 +1,14 @@
1
- import { BoardRole, CategoryRole, GroupRole } from '../external/vars';
2
- import { PermUser, ResourceType } from '../external/types';
3
- import { BoardsManager } from '../core/manager';
4
- import { WithHeaders } from '../types';
1
+ import { BoardRole, CategoryRole, GroupRole } from '../external/vars.js';
2
+ import { PermUser, ResourceType } from '../external/types.js';
3
+ import { BoardsManager } from '../core/manager.js';
4
+ import { WithHeaders } from '../types.js';
5
5
  export declare class APIPermissions {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- viewPermissions({ auth, query, ...rest }: PermissionsFunctionsInput['viewPermissions']): Promise<import("..").WebResponse<PermUser[]>>;
9
- viewAllPermissions({ auth, userIds, ...rest }: PermissionsFunctionsInput['viewAllPermissions']): Promise<import("..").WebResponse<Record<string, PermUser>>>;
10
- grantPermissions({ auth, body, ...rest }: PermissionsFunctionsInput['grantPermissions']): Promise<import("..").WebResponse<string>>;
11
- revokePermissions({ auth, body, ...rest }: PermissionsFunctionsInput['revokePermissions']): Promise<import("..").WebResponse<string>>;
8
+ viewPermissions({ auth, query, ...rest }: PermissionsFunctionsInput['viewPermissions']): Promise<import("../types.js").WebResponse<PermUser[]>>;
9
+ viewAllPermissions({ auth, userIds, ...rest }: PermissionsFunctionsInput['viewAllPermissions']): Promise<import("../types.js").WebResponse<Record<string, PermUser>>>;
10
+ grantPermissions({ auth, body, ...rest }: PermissionsFunctionsInput['grantPermissions']): Promise<import("../types.js").WebResponse<string>>;
11
+ revokePermissions({ auth, body, ...rest }: PermissionsFunctionsInput['revokePermissions']): Promise<import("../types.js").WebResponse<string>>;
12
12
  }
13
13
  export type PermissionsFunctionsInput = WithHeaders<{
14
14
  'viewPermissions': {
@@ -1,14 +1,14 @@
1
- import { Device, Platforms } from '../../prisma/generated/default';
2
- import { BoardsManager } from '../core/manager';
3
- import { WithHeaders } from '../types';
1
+ import { Device, Platforms } from '../../prisma/generated/default.js';
2
+ import { BoardsManager } from '../core/manager.js';
3
+ import { WithHeaders } from '../types.js';
4
4
  export declare class APISessions {
5
5
  private web;
6
6
  constructor(web: BoardsManager);
7
- createSession({ auth, body, ...rest }: SessionsFunctionsInput['createSession']): Promise<import("..").WebResponse<CreateSessionOutput>>;
8
- getAllSessions({ auth, ...rest }: SessionsFunctionsInput['getAllSessions']): Promise<import("..").WebResponse<SessionsOutput>>;
9
- deleteSession({ auth, dbId, ...rest }: SessionsFunctionsInput['deleteSession']): Promise<import("..").WebResponse<string>>;
10
- deleteAllSessions({ auth, ...rest }: SessionsFunctionsInput['deleteAllSessions']): Promise<import("..").WebResponse<string>>;
11
- rotateLinkedSession({ auth, body, ...rest }: SessionsFunctionsInput['rotateLinkedSession']): Promise<import("..").WebResponse<string>>;
7
+ createSession({ auth, body, ...rest }: SessionsFunctionsInput['createSession']): Promise<import("../types.js").WebResponse<CreateSessionOutput>>;
8
+ getAllSessions({ auth, ...rest }: SessionsFunctionsInput['getAllSessions']): Promise<import("../types.js").WebResponse<SessionsOutput>>;
9
+ deleteSession({ auth, dbId, ...rest }: SessionsFunctionsInput['deleteSession']): Promise<import("../types.js").WebResponse<string>>;
10
+ deleteAllSessions({ auth, ...rest }: SessionsFunctionsInput['deleteAllSessions']): Promise<import("../types.js").WebResponse<string>>;
11
+ rotateLinkedSession({ auth, body, ...rest }: SessionsFunctionsInput['rotateLinkedSession']): Promise<import("../types.js").WebResponse<string>>;
12
12
  }
13
13
  export type SessionsFunctionsInput = WithHeaders<{
14
14
  'createSession': {
@@ -1,13 +1,13 @@
1
- import { Platforms } from '../../prisma/generated/default';
2
- import { DBUserPartialType } from '../external/vars';
3
- import { BoardsManager } from '../core/manager';
4
- import { WithHeaders } from '../types';
1
+ import { Platforms } from '../../prisma/generated/default.js';
2
+ import { DBUserPartialType } from '../external/vars.js';
3
+ import { BoardsManager } from '../core/manager.js';
4
+ import { WithHeaders } from '../types.js';
5
5
  export declare class APIUsers {
6
6
  private web;
7
7
  constructor(web: BoardsManager);
8
- getUser({ auth, userId, ...rest }: UsersFunctionsInput['getCurrentUser']): Promise<import("..").WebResponse<GetUsersOutput>>;
9
- updateUser({ auth, userId, body, ...rest }: UsersFunctionsInput['updateUser']): Promise<import("..").WebResponse<string>>;
10
- deleteAccount({ auth, userId, ...rest }: UsersFunctionsInput['deleteAccount']): Promise<import("..").WebResponse<void>>;
8
+ getUser({ auth, userId, ...rest }: UsersFunctionsInput['getCurrentUser']): Promise<import("../types.js").WebResponse<GetUsersOutput>>;
9
+ updateUser({ auth, userId, body, ...rest }: UsersFunctionsInput['updateUser']): Promise<import("../types.js").WebResponse<string>>;
10
+ deleteAccount({ auth, userId, ...rest }: UsersFunctionsInput['deleteAccount']): Promise<import("../types.js").WebResponse<void>>;
11
11
  }
12
12
  export type UsersFunctionsInput = WithHeaders<{
13
13
  'getCurrentUser': {
@@ -1,9 +1,9 @@
1
- import { BoardsManager } from '../core/manager';
2
- import { WithHeaders } from '../types';
1
+ import { BoardsManager } from '../core/manager.js';
2
+ import { WithHeaders } from '../types.js';
3
3
  export declare class APIUtils {
4
4
  private web;
5
5
  constructor(web: BoardsManager);
6
- unfurlUrl({ auth, url, ...rest }: UtilsFunctionsInput['unfurlUrl']): Promise<import("..").WebResponse<Partial<UnfurlOutput>>>;
6
+ unfurlUrl({ auth, url, ...rest }: UtilsFunctionsInput['unfurlUrl']): Promise<import("../types.js").WebResponse<Partial<UnfurlOutput>>>;
7
7
  }
8
8
  export type UtilsFunctionsInput = WithHeaders<{
9
9
  'unfurlUrl': {
@@ -1,19 +1,19 @@
1
- import { APIPermissions } from '../classes/permissions';
2
- import { APIFlashcards } from '../classes/flashcards';
3
- import { APICategories } from '../classes/categories';
4
- import { APIAnalytics } from '../classes/analytics';
5
- import { APISessions } from '../classes/sessions';
6
- import { APICalendar } from '../classes/calendar';
7
- import { APIMetrics } from '../classes/metrics';
8
- import { APIInvites } from '../classes/invites';
9
- import { APIGroups } from '../classes/groups';
10
- import { APIBoards } from '../classes/boards';
11
- import { APIUtils } from '../classes/utils';
12
- import { APIUsers } from '../classes/users';
13
- import { APIFiles } from '../classes/files';
14
- import { APIAdmin } from '../classes/admin';
15
- import { APIAuth } from '../classes/auth';
16
- import { RequestMethod, WebResponse } from '../types';
1
+ import { APIPermissions } from '../classes/permissions.js';
2
+ import { APIFlashcards } from '../classes/flashcards.js';
3
+ import { APICategories } from '../classes/categories.js';
4
+ import { APIAnalytics } from '../classes/analytics.js';
5
+ import { APISessions } from '../classes/sessions.js';
6
+ import { APICalendar } from '../classes/calendar.js';
7
+ import { APIMetrics } from '../classes/metrics.js';
8
+ import { APIInvites } from '../classes/invites.js';
9
+ import { APIGroups } from '../classes/groups.js';
10
+ import { APIBoards } from '../classes/boards.js';
11
+ import { APIUtils } from '../classes/utils.js';
12
+ import { APIUsers } from '../classes/users.js';
13
+ import { APIFiles } from '../classes/files.js';
14
+ import { APIAdmin } from '../classes/admin.js';
15
+ import { APIAuth } from '../classes/auth.js';
16
+ import { RequestMethod, WebResponse } from '../types.js';
17
17
  export declare class BoardsManager {
18
18
  url: string;
19
19
  readonly permissions: APIPermissions;
@@ -1,20 +1,20 @@
1
- import { APIPermissions } from '../classes/permissions';
2
- import { APIFlashcards } from '../classes/flashcards';
3
- import { APICategories } from '../classes/categories';
4
- import { APIAnalytics } from '../classes/analytics';
5
- import { APISessions } from '../classes/sessions';
6
- import { APICalendar } from '../classes/calendar';
7
- import { APIMetrics } from '../classes/metrics';
8
- import { APIInvites } from '../classes/invites';
9
- import { APIGroups } from '../classes/groups';
10
- import { APIBoards } from '../classes/boards';
11
- import { APIUtils } from '../classes/utils';
12
- import { APIUsers } from '../classes/users';
13
- import { APIFiles } from '../classes/files';
14
- import { APIAdmin } from '../classes/admin';
15
- import { APIAuth } from '../classes/auth';
1
+ import { APIPermissions } from '../classes/permissions.js';
2
+ import { APIFlashcards } from '../classes/flashcards.js';
3
+ import { APICategories } from '../classes/categories.js';
4
+ import { APIAnalytics } from '../classes/analytics.js';
5
+ import { APISessions } from '../classes/sessions.js';
6
+ import { APICalendar } from '../classes/calendar.js';
7
+ import { APIMetrics } from '../classes/metrics.js';
8
+ import { APIInvites } from '../classes/invites.js';
9
+ import { APIGroups } from '../classes/groups.js';
10
+ import { APIBoards } from '../classes/boards.js';
11
+ import { APIUtils } from '../classes/utils.js';
12
+ import { APIUsers } from '../classes/users.js';
13
+ import { APIFiles } from '../classes/files.js';
14
+ import { APIAdmin } from '../classes/admin.js';
15
+ import { APIAuth } from '../classes/auth.js';
16
16
  import axios from 'axios';
17
- import { transformDates } from './utils';
17
+ import { transformDates } from './utils.js';
18
18
  export class BoardsManager {
19
19
  url;
20
20
  permissions = new APIPermissions(this);
@@ -1,4 +1,4 @@
1
- import { Paginated, PaginatedWebResponse, WebResponse } from '../types';
1
+ import { Paginated, PaginatedWebResponse, WebResponse } from '../types.js';
2
2
  import { AxiosResponse } from 'axios';
3
3
  export declare function isDateStringRegex(value: unknown): value is string;
4
4
  export declare function recursiveDateConversion<T>(data: T): T;
@@ -1,5 +1,5 @@
1
- import { BoardRole, CategoryRole, GroupRole } from './vars';
2
- import { BoardType } from '../../prisma/generated/default';
1
+ import { BoardRole, CategoryRole, GroupRole } from './vars.js';
2
+ import { BoardType } from '../../prisma/generated/default.js';
3
3
  export type UserRole = BoardRole | CategoryRole | GroupRole | GlobalRole;
4
4
  export declare enum GlobalRole {
5
5
  Developer = "Developer"
@@ -1,5 +1,5 @@
1
- import { Prisma } from '../../prisma/generated/default';
2
- import { UserRole } from './types';
1
+ import { Prisma } from '../../prisma/generated/default.js';
2
+ import { UserRole } from './types.js';
3
3
  export declare const DBUserSelectArgs: {
4
4
  select: {
5
5
  email: true;
@@ -1,5 +1,5 @@
1
- import { Prisma } from '../../prisma/generated/default';
2
- import { GlobalRole } from './types';
1
+ import { Prisma } from '../../prisma/generated/default.js';
2
+ import { GlobalRole } from './types.js';
3
3
  export const DBUserSelectArgs = {
4
4
  select: {
5
5
  email: true,
package/dist/index.d.ts CHANGED
@@ -1,20 +1,20 @@
1
- export * from './core/manager';
2
- export * from './core/utils';
3
- export * from './types';
4
- export * from './external/types';
5
- export * from './external/vars';
6
- export * from './classes/permissions';
7
- export * from './classes/categories';
8
- export * from './classes/flashcards';
9
- export * from './classes/analytics';
10
- export * from './classes/calendar';
11
- export * from './classes/sessions';
12
- export * from './classes/invites';
13
- export * from './classes/metrics';
14
- export * from './classes/groups';
15
- export * from './classes/boards';
16
- export * from './classes/utils';
17
- export * from './classes/admin';
18
- export * from './classes/users';
19
- export * from './classes/files';
20
- export * from './classes/auth';
1
+ export * from './core/manager.js';
2
+ export * from './core/utils.js';
3
+ export * from './types.js';
4
+ export * from './external/types.js';
5
+ export * from './external/vars.js';
6
+ export * from './classes/permissions.js';
7
+ export * from './classes/categories.js';
8
+ export * from './classes/flashcards.js';
9
+ export * from './classes/analytics.js';
10
+ export * from './classes/calendar.js';
11
+ export * from './classes/sessions.js';
12
+ export * from './classes/invites.js';
13
+ export * from './classes/metrics.js';
14
+ export * from './classes/groups.js';
15
+ export * from './classes/boards.js';
16
+ export * from './classes/utils.js';
17
+ export * from './classes/admin.js';
18
+ export * from './classes/users.js';
19
+ export * from './classes/files.js';
20
+ export * from './classes/auth.js';
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
- export * from './core/manager';
2
- export * from './core/utils';
3
- export * from './types';
4
- export * from './external/types';
5
- export * from './external/vars';
6
- export * from './classes/permissions';
7
- export * from './classes/categories';
8
- export * from './classes/flashcards';
9
- export * from './classes/analytics';
10
- export * from './classes/calendar';
11
- export * from './classes/sessions';
12
- export * from './classes/invites';
13
- export * from './classes/metrics';
14
- export * from './classes/groups';
15
- export * from './classes/boards';
16
- export * from './classes/utils';
17
- export * from './classes/admin';
18
- export * from './classes/users';
19
- export * from './classes/files';
20
- export * from './classes/auth';
1
+ export * from './core/manager.js';
2
+ export * from './core/utils.js';
3
+ export * from './types.js';
4
+ export * from './external/types.js';
5
+ export * from './external/vars.js';
6
+ export * from './classes/permissions.js';
7
+ export * from './classes/categories.js';
8
+ export * from './classes/flashcards.js';
9
+ export * from './classes/analytics.js';
10
+ export * from './classes/calendar.js';
11
+ export * from './classes/sessions.js';
12
+ export * from './classes/invites.js';
13
+ export * from './classes/metrics.js';
14
+ export * from './classes/groups.js';
15
+ export * from './classes/boards.js';
16
+ export * from './classes/utils.js';
17
+ export * from './classes/admin.js';
18
+ export * from './classes/users.js';
19
+ export * from './classes/files.js';
20
+ export * from './classes/auth.js';
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.52",
2
+ "version": "1.1.54",
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",
@@ -23,13 +23,6 @@
23
23
  "README.md",
24
24
  "LICENSE"
25
25
  ],
26
- "pnpm": {
27
- "onlyBuiltDependencies": [
28
- "@prisma/client",
29
- "@prisma/engines",
30
- "prisma"
31
- ]
32
- },
33
26
  "devDependencies": {
34
27
  "@types/node": "20.14.13",
35
28
  "@typescript-eslint/eslint-plugin": "6.18.0",
@@ -47,4 +40,4 @@
47
40
  "ts-prisma": "1.3.3",
48
41
  "zod": "4.1.9"
49
42
  }
50
- }
43
+ }
@@ -5,11 +5,15 @@ model Group {
5
5
  name String
6
6
  index Int
7
7
 
8
+ personalOwnerId String?
9
+
8
10
  calCode String?
9
11
  events Event[]
10
12
 
11
13
  categories Category[]
12
14
  permissions GroupPermission[]
15
+
16
+ @@index([personalOwnerId])
13
17
  }
14
18
 
15
19
  model Category {