@rimori/client 1.1.4 → 1.1.6

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/README.md CHANGED
@@ -67,6 +67,24 @@ export default {
67
67
  }
68
68
  ```
69
69
 
70
+ ### Vite Configuration
71
+
72
+ Add the following to your `vite.config.ts`:
73
+
74
+ ```javascript
75
+ import { defineConfig } from 'vite'
76
+ import react from '@vitejs/plugin-react'
77
+
78
+ export default defineConfig({
79
+ plugins: [react()],
80
+ base: './', // Set base path for proper asset loading
81
+ build: {
82
+ outDir: 'dist',
83
+ assetsDir: 'assets'
84
+ }
85
+ })
86
+ ```
87
+
70
88
  ## Core API - usePlugin Hook
71
89
 
72
90
  The `usePlugin()` hook is the main interface for accessing Rimori platform features:
@@ -558,6 +576,7 @@ community.sharedContent.getList<T>(contentType: string, filter?: SharedContentFi
558
576
  community.sharedContent.getNew<T>(contentType: string, instructions: SharedContentObjectRequest, filter?: SharedContentFilter, privateTopic?: boolean): Promise<BasicAssignment<T>>
559
577
  community.sharedContent.create<T>(content: SharedContent<T>): Promise<BasicAssignment<T>>
560
578
  community.sharedContent.update<T>(id: string, content: Partial<SharedContent<T>>): Promise<BasicAssignment<T>>
579
+ community.sharedContent.remove(id: string): Promise<BasicAssignment<any>>
561
580
  community.sharedContent.complete(contentType: string, assignmentId: string): Promise<void>
562
581
  ```
563
582
 
@@ -859,7 +878,7 @@ interface MyPluginData extends SharedContent<any> {
859
878
 
860
879
  The SharedContent has this type definition:
861
880
 
862
- ````
881
+ ```
863
882
  export interface SharedContent<T> {
864
883
  /** The type/category of the content (e.g. 'grammar_exercises', 'flashcards', etc.) */
865
884
  contentType: string;
@@ -996,4 +1015,3 @@ export default App;
996
1015
 
997
1016
  ## License
998
1017
 
999
- MIT License - see LICENSE file for details.
@@ -65,7 +65,7 @@ export declare class SharedContentController {
65
65
  * @returns The deleted shared content record.
66
66
  * @throws {Error} if deletion fails or content not found.
67
67
  */
68
- deleteSharedContent(id: string): Promise<BasicAssignment<any>>;
68
+ removeSharedContent(id: string): Promise<BasicAssignment<any>>;
69
69
  }
70
70
  /**
71
71
  * Interface representing shared content in the system.
@@ -196,7 +196,7 @@ export class SharedContentController {
196
196
  * @returns The deleted shared content record.
197
197
  * @throws {Error} if deletion fails or content not found.
198
198
  */
199
- deleteSharedContent(id) {
199
+ removeSharedContent(id) {
200
200
  return __awaiter(this, void 0, void 0, function* () {
201
201
  const { data: deletedContent, error } = yield this.supabase
202
202
  .from("shared_content")
@@ -173,11 +173,11 @@ export declare class RimoriClient {
173
173
  */
174
174
  complete: (contentType: string, assignmentId: string) => Promise<void>;
175
175
  /**
176
- * Delete a shared content item.
177
- * @param id The id of the shared content item to delete.
178
- * @returns The deleted shared content item.
176
+ * Remove a shared content item.
177
+ * @param id The id of the shared content item to remove.
178
+ * @returns The removed shared content item.
179
179
  */
180
- delete: (id: string) => Promise<BasicAssignment<any>>;
180
+ remove: (id: string) => Promise<BasicAssignment<any>>;
181
181
  };
182
182
  };
183
183
  }
@@ -178,12 +178,12 @@ export class RimoriClient {
178
178
  return yield this.sharedContentController.completeSharedContent(contentType, assignmentId);
179
179
  }),
180
180
  /**
181
- * Delete a shared content item.
182
- * @param id The id of the shared content item to delete.
183
- * @returns The deleted shared content item.
181
+ * Remove a shared content item.
182
+ * @param id The id of the shared content item to remove.
183
+ * @returns The removed shared content item.
184
184
  */
185
- delete: (id) => __awaiter(this, void 0, void 0, function* () {
186
- return yield this.sharedContentController.deleteSharedContent(id);
185
+ remove: (id) => __awaiter(this, void 0, void 0, function* () {
186
+ return yield this.sharedContentController.removeSharedContent(id);
187
187
  })
188
188
  }
189
189
  };
@@ -17,7 +17,13 @@ export class StandaloneClient {
17
17
  static getInstance() {
18
18
  return __awaiter(this, void 0, void 0, function* () {
19
19
  if (!StandaloneClient.instance) {
20
- const config = yield fetch("http://localhost:3000/config.json").then(res => res.json());
20
+ const config = yield fetch("http://localhost:3000/config.json").then(res => res.json()).catch(err => {
21
+ console.error("Error fetching config.json", err);
22
+ return {
23
+ SUPABASE_URL: "https://pheptqdoqsdnadgoihvr.supabase.co",
24
+ SUPABASE_ANON_KEY: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBoZXB0cWRvcXNkbmFkZ29paHZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MzE2OTY2ODcsImV4cCI6MjA0NzI3MjY4N30.4GPFAXTF8685FaXISdAPNCIM-H3RGLo8GbyhQpu1mP0",
25
+ };
26
+ });
21
27
  StandaloneClient.instance = new StandaloneClient({ url: config.SUPABASE_URL, key: config.SUPABASE_ANON_KEY });
22
28
  }
23
29
  return StandaloneClient.instance;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rimori/client",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "exports": {
@@ -230,7 +230,7 @@ export class SharedContentController {
230
230
  * @returns The deleted shared content record.
231
231
  * @throws {Error} if deletion fails or content not found.
232
232
  */
233
- public async deleteSharedContent(id: string): Promise<BasicAssignment<any>> {
233
+ public async removeSharedContent(id: string): Promise<BasicAssignment<any>> {
234
234
  const { data: deletedContent, error } = await this.supabase
235
235
  .from("shared_content")
236
236
  .update({ deleted_at: new Date().toISOString() })
@@ -25,7 +25,7 @@ interface Db {
25
25
  <ViewName extends string & keyof GenericSchema['Views'], View extends GenericSchema['Views'][ViewName]>(relation: ViewName): PostgrestQueryBuilder<GenericSchema, View, ViewName>;
26
26
  };
27
27
  storage: SupabaseClient["storage"];
28
-
28
+
29
29
  // functions: SupabaseClient["functions"];
30
30
  /**
31
31
  * The table prefix for of database tables of the plugin.
@@ -295,12 +295,12 @@ export class RimoriClient {
295
295
  return await this.sharedContentController.completeSharedContent(contentType, assignmentId);
296
296
  },
297
297
  /**
298
- * Delete a shared content item.
299
- * @param id The id of the shared content item to delete.
300
- * @returns The deleted shared content item.
298
+ * Remove a shared content item.
299
+ * @param id The id of the shared content item to remove.
300
+ * @returns The removed shared content item.
301
301
  */
302
- delete: async (id: string): Promise<BasicAssignment<any>> => {
303
- return await this.sharedContentController.deleteSharedContent(id);
302
+ remove: async (id: string): Promise<BasicAssignment<any>> => {
303
+ return await this.sharedContentController.removeSharedContent(id);
304
304
  }
305
305
  }
306
306
  }
@@ -18,7 +18,13 @@ export class StandaloneClient {
18
18
 
19
19
  public static async getInstance(): Promise<StandaloneClient> {
20
20
  if (!StandaloneClient.instance) {
21
- const config = await fetch("http://localhost:3000/config.json").then(res => res.json());
21
+ const config = await fetch("http://localhost:3000/config.json").then(res => res.json()).catch(err => {
22
+ console.error("Error fetching config.json", err);
23
+ return {
24
+ SUPABASE_URL: "https://pheptqdoqsdnadgoihvr.supabase.co",
25
+ SUPABASE_ANON_KEY: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBoZXB0cWRvcXNkbmFkZ29paHZyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MzE2OTY2ODcsImV4cCI6MjA0NzI3MjY4N30.4GPFAXTF8685FaXISdAPNCIM-H3RGLo8GbyhQpu1mP0",
26
+ }
27
+ });
22
28
  StandaloneClient.instance = new StandaloneClient({ url: config.SUPABASE_URL, key: config.SUPABASE_ANON_KEY });
23
29
  }
24
30
  return StandaloneClient.instance;