supabase-dataobject-core 1.6.2 → 1.8.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/README.md CHANGED
@@ -1,334 +1,334 @@
1
- # Supabase DataObject Core
2
-
3
- A TypeScript library for creating reactive data objects from Supabase tables and views. This package provides a clean, type-safe way to interact with your Supabase data with built-in reactivity, CRUD operations, and advanced querying capabilities.
4
-
5
- ## Features
6
-
7
- - 🔄 **Reactive Data Objects**: Automatically update when data changes
8
- - 🛡️ **Type Safety**: Full TypeScript support with proper type definitions
9
- - 🔍 **Advanced Querying**: Support for filtering, sorting, field selection, and pagination
10
- - ✅ **CRUD Operations**: Built-in Create, Read, Update, Delete functionality
11
- - 🎯 **Named Objects**: Create named data objects that can be accessed globally
12
- - 🔧 **Configurable**: Flexible configuration options for different use cases
13
- - 📦 **Zero Dependencies**: Only depends on @supabase/supabase-js
14
-
15
- ## Installation
16
-
17
- ```bash
18
- npm install supabase-dataobject-core
19
- ```
20
-
21
- ## Quick Start
22
-
23
- ### Basic Usage
24
-
25
- ```typescript
26
- import {
27
- initializeDataObjectManager,
28
- createDataObject,
29
- getDataObjectById
30
- } from 'supabase-dataobject-core';
31
-
32
- // Initialize the manager with your Supabase config
33
- initializeDataObjectManager({
34
- supabaseConfig: {
35
- url: 'https://your-project.supabase.co',
36
- anonKey: 'your-anon-key'
37
- }
38
- });
39
-
40
- // Create a data object
41
- const userDataObject = await createDataObject('users', {
42
- viewName: 'users_with_details',
43
- tableName: 'users',
44
- canInsert: true,
45
- canUpdate: true,
46
- canDelete: false
47
- });
48
-
49
- // Listen for data changes
50
- userDataObject?.onDataChanged((users) => {
51
- console.log('Users updated:', users);
52
- });
53
-
54
- // Access the data object from anywhere
55
- const users = getDataObjectById('users');
56
- if (users) {
57
- const data = users.getData();
58
- console.log('Current users:', data);
59
- }
60
- ```
61
-
62
- ### Advanced Configuration
63
-
64
- ```typescript
65
- import { createDataObject } from 'supabase-dataobject-core';
66
-
67
- const ordersDataObject = await createDataObject('pendingOrders', {
68
- viewName: 'orders_and_payments',
69
- tableName: 'orders',
70
- fields: [
71
- { name: 'id', type: 'number' },
72
- { name: 'customer_name', type: 'string' },
73
- { name: 'total_amount', type: 'number' },
74
- { name: 'status', type: 'string' }
75
- ],
76
- whereClauses: [
77
- { field: 'status', operator: 'equals', value: 'pending' },
78
- { field: 'total_amount', operator: 'greaterthan', value: 100 }
79
- ],
80
- sort: { field: 'created_at', direction: 'desc' },
81
- recordLimit: 50,
82
- canInsert: true,
83
- canUpdate: true,
84
- canDelete: true
85
- });
86
- ```
87
-
88
- ## API Reference
89
-
90
- ### Core Functions
91
-
92
- #### `initializeDataObjectManager(config)`
93
- Initialize the global data object manager.
94
-
95
- ```typescript
96
- initializeDataObjectManager({
97
- supabaseConfig: {
98
- url: 'https://your-project.supabase.co',
99
- anonKey: 'your-anon-key'
100
- },
101
- errorHandler: {
102
- onError: (error) => console.error(error),
103
- onWarning: (warning) => console.warn(warning),
104
- onInfo: (info) => console.info(info)
105
- }
106
- });
107
- ```
108
-
109
- #### `createDataObject(name, options)`
110
- Create a new named data object.
111
-
112
- ```typescript
113
- const dataObject = await createDataObject('myData', {
114
- viewName: 'table_name',
115
- // ... other options
116
- });
117
- ```
118
-
119
- #### `getDataObjectById(id)`
120
- Retrieve a data object by its name/ID.
121
-
122
- ```typescript
123
- const dataObject = getDataObjectById('myData');
124
- ```
125
-
126
- #### `getAllDataObjects()`
127
- Get all created data objects.
128
-
129
- ```typescript
130
- const allObjects = getAllDataObjects();
131
- ```
132
-
133
- #### `removeDataObject(id)`
134
- Remove a data object by its name/ID.
135
-
136
- ```typescript
137
- const removed = removeDataObject('myData');
138
- ```
139
-
140
- #### `refreshDataObject(id)`
141
- Refresh a data object's data from Supabase.
142
-
143
- ```typescript
144
- await refreshDataObject('myData');
145
- ```
146
-
147
- ### DataObject Class
148
-
149
- #### Methods
150
-
151
- - `getData()`: Get current data as an array
152
- - `refresh()`: Manually refresh data from Supabase
153
- - `insert(record)`: Insert a new record
154
- - `update(id, updates)`: Update an existing record
155
- - `delete(id)`: Delete a record
156
- - `dispose()`: Clean up the data object
157
- - `onDataChanged(callback)`: Listen for data changes
158
- - `on('eventName', options)`: Data object 'on' events
159
-
160
- #### Example
161
-
162
- ```typescript
163
- const dataObject = getDataObjectById('users');
164
-
165
- if (dataObject) {
166
- // Get current data
167
- const users = dataObject.getData();
168
-
169
- // Insert new user
170
- await dataObject.insert({
171
- name: 'John Doe',
172
- email: 'john@example.com'
173
- });
174
-
175
- // Update user
176
- await dataObject.update(1, { name: 'Jane Doe' });
177
-
178
- // Delete user
179
- await dataObject.delete(1);
180
-
181
- // Listen for changes
182
- const unsubscribe = dataObject.onDataChanged((data) => {
183
- console.log('Data updated:', data);
184
- });
185
-
186
- dataObject.lifeCycleEvents.on('beforeUpdate', (options, record, updates) => {
187
- if (record.status === 'locked') {
188
- options.cancelEvent = true;
189
- }
190
- });
191
-
192
- // Clean up listener
193
- unsubscribe();
194
- }
195
- ```
196
-
197
- ## Configuration Options
198
-
199
- ### DataObjectOptions
200
-
201
- ```typescript
202
- interface DataObjectOptions {
203
- viewName: string; // View name
204
- tableName?: string; // Table name - required for CRUD operations
205
- fields?: DataObjectField[]; // Specific fields to select
206
- whereClauses?: WhereClause[]; // Filter conditions
207
- sort?: SortConfig; // Sorting configuration
208
- recordLimit?: number; // Maximum records to fetch
209
- canInsert?: boolean; // Allow insert operations
210
- canUpdate?: boolean; // Allow update operations
211
- canDelete?: boolean; // Allow delete operations
212
- }
213
- ```
214
-
215
- ### WhereClause
216
-
217
- ```typescript
218
- interface WhereClause {
219
- field: string;
220
- operator: 'equals' | 'notequals' | 'greaterthan' | 'lessthan';
221
- value: any;
222
- }
223
- ```
224
-
225
- ### SortConfig
226
-
227
- ```typescript
228
- interface SortConfig {
229
- field: string;
230
- direction: 'asc' | 'desc';
231
- }
232
- ```
233
-
234
- ## Error Handling
235
-
236
- You can provide custom error handlers when initializing the manager:
237
-
238
- ```typescript
239
- initializeDataObjectManager({
240
- supabaseConfig: { /* ... */ },
241
- errorHandler: {
242
- onError: (error) => {
243
- // Handle errors (e.g., show toast notification)
244
- console.error('DataObject Error:', error);
245
- },
246
- onWarning: (warning) => {
247
- // Handle warnings
248
- console.warn('DataObject Warning:', warning);
249
- },
250
- onInfo: (info) => {
251
- // Handle info messages
252
- console.info('DataObject Info:', info);
253
- }
254
- }
255
- });
256
- ```
257
-
258
- ## TypeScript Support
259
-
260
- This package is written in TypeScript and provides full type safety:
261
-
262
- ```typescript
263
- import type {
264
- DataObjectOptions,
265
- DataObjectRecord,
266
- SupabaseConfig
267
- } from 'supabase-dataobject-core';
268
-
269
- // Your data will be properly typed
270
- const users: DataObjectRecord[] = dataObject.getData();
271
- ```
272
-
273
- ## Examples
274
-
275
- ### Service Class Pattern
276
-
277
- ```typescript
278
- class UserService {
279
- private getUserDataObject() {
280
- return getDataObjectById('users');
281
- }
282
-
283
- async getAllUsers() {
284
- const dataObject = this.getUserDataObject();
285
- return dataObject ? dataObject.getData() : [];
286
- }
287
-
288
- async createUser(userData: any) {
289
- const dataObject = this.getUserDataObject();
290
- return dataObject ? await dataObject.insert(userData) : false;
291
- }
292
-
293
- async updateUser(id: number, updates: any) {
294
- const dataObject = this.getUserDataObject();
295
- return dataObject ? await dataObject.update(id, updates) : false;
296
- }
297
- }
298
- ```
299
-
300
- ### React Hook Pattern
301
-
302
- ```typescript
303
- import { useEffect, useState } from 'react';
304
- import { getDataObjectById } from 'supabase-dataobject-core';
305
-
306
- function useDataObject(id: string) {
307
- const [data, setData] = useState([]);
308
- const [loading, setLoading] = useState(true);
309
-
310
- useEffect(() => {
311
- const dataObject = getDataObjectById(id);
312
- if (dataObject) {
313
- setData(dataObject.getData());
314
- setLoading(false);
315
-
316
- const unsubscribe = dataObject.onDataChanged((newData) => {
317
- setData(newData);
318
- });
319
-
320
- return unsubscribe;
321
- }
322
- }, [id]);
323
-
324
- return { data, loading };
325
- }
326
- ```
327
-
328
- ## License
329
-
330
- MIT
331
-
332
- ## Contributing
333
-
334
- Contributions are welcome! Please feel free to submit a Pull Request.
1
+ # Supabase DataObject Core
2
+
3
+ A TypeScript library for creating reactive data objects from Supabase tables and views. This package provides a clean, type-safe way to interact with your Supabase data with built-in reactivity, CRUD operations, and advanced querying capabilities.
4
+
5
+ ## Features
6
+
7
+ - 🔄 **Reactive Data Objects**: Automatically update when data changes
8
+ - 🛡️ **Type Safety**: Full TypeScript support with proper type definitions
9
+ - 🔍 **Advanced Querying**: Support for filtering, sorting, field selection, and pagination
10
+ - ✅ **CRUD Operations**: Built-in Create, Read, Update, Delete functionality
11
+ - 🎯 **Named Objects**: Create named data objects that can be accessed globally
12
+ - 🔧 **Configurable**: Flexible configuration options for different use cases
13
+ - 📦 **Zero Dependencies**: Only depends on @supabase/supabase-js
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npm install supabase-dataobject-core
19
+ ```
20
+
21
+ ## Quick Start
22
+
23
+ ### Basic Usage
24
+
25
+ ```typescript
26
+ import {
27
+ initializeDataObjectManager,
28
+ createDataObject,
29
+ getDataObjectById
30
+ } from 'supabase-dataobject-core';
31
+
32
+ // Initialize the manager with your Supabase config
33
+ initializeDataObjectManager({
34
+ supabaseConfig: {
35
+ url: 'https://your-project.supabase.co',
36
+ anonKey: 'your-anon-key'
37
+ }
38
+ });
39
+
40
+ // Create a data object
41
+ const userDataObject = await createDataObject('users', {
42
+ viewName: 'users_with_details',
43
+ tableName: 'users',
44
+ canInsert: true,
45
+ canUpdate: true,
46
+ canDelete: false
47
+ });
48
+
49
+ // Listen for data changes
50
+ userDataObject?.onDataChanged((users) => {
51
+ console.log('Users updated:', users);
52
+ });
53
+
54
+ // Access the data object from anywhere
55
+ const users = getDataObjectById('users');
56
+ if (users) {
57
+ const data = users.getData();
58
+ console.log('Current users:', data);
59
+ }
60
+ ```
61
+
62
+ ### Advanced Configuration
63
+
64
+ ```typescript
65
+ import { createDataObject } from 'supabase-dataobject-core';
66
+
67
+ const ordersDataObject = await createDataObject('pendingOrders', {
68
+ viewName: 'orders_and_payments',
69
+ tableName: 'orders',
70
+ fields: [
71
+ { name: 'id', type: 'number' },
72
+ { name: 'customer_name', type: 'string' },
73
+ { name: 'total_amount', type: 'number' },
74
+ { name: 'status', type: 'string' }
75
+ ],
76
+ whereClauses: [
77
+ { field: 'status', operator: 'equals', value: 'pending' },
78
+ { field: 'total_amount', operator: 'greaterthan', value: 100 }
79
+ ],
80
+ sort: { field: 'created_at', direction: 'desc' },
81
+ recordLimit: 50,
82
+ canInsert: true,
83
+ canUpdate: true,
84
+ canDelete: true
85
+ });
86
+ ```
87
+
88
+ ## API Reference
89
+
90
+ ### Core Functions
91
+
92
+ #### `initializeDataObjectManager(config)`
93
+ Initialize the global data object manager.
94
+
95
+ ```typescript
96
+ initializeDataObjectManager({
97
+ supabaseConfig: {
98
+ url: 'https://your-project.supabase.co',
99
+ anonKey: 'your-anon-key'
100
+ },
101
+ errorHandler: {
102
+ onError: (error) => console.error(error),
103
+ onWarning: (warning) => console.warn(warning),
104
+ onInfo: (info) => console.info(info)
105
+ }
106
+ });
107
+ ```
108
+
109
+ #### `createDataObject(name, options)`
110
+ Create a new named data object.
111
+
112
+ ```typescript
113
+ const dataObject = await createDataObject('myData', {
114
+ viewName: 'table_name',
115
+ // ... other options
116
+ });
117
+ ```
118
+
119
+ #### `getDataObjectById(id)`
120
+ Retrieve a data object by its name/ID.
121
+
122
+ ```typescript
123
+ const dataObject = getDataObjectById('myData');
124
+ ```
125
+
126
+ #### `getAllDataObjects()`
127
+ Get all created data objects.
128
+
129
+ ```typescript
130
+ const allObjects = getAllDataObjects();
131
+ ```
132
+
133
+ #### `removeDataObject(id)`
134
+ Remove a data object by its name/ID.
135
+
136
+ ```typescript
137
+ const removed = removeDataObject('myData');
138
+ ```
139
+
140
+ #### `refreshDataObject(id)`
141
+ Refresh a data object's data from Supabase.
142
+
143
+ ```typescript
144
+ await refreshDataObject('myData');
145
+ ```
146
+
147
+ ### DataObject Class
148
+
149
+ #### Methods
150
+
151
+ - `getData()`: Get current data as an array
152
+ - `refresh()`: Manually refresh data from Supabase
153
+ - `insert(record)`: Insert a new record
154
+ - `update(id, updates)`: Update an existing record
155
+ - `delete(id)`: Delete a record
156
+ - `dispose()`: Clean up the data object
157
+ - `onDataChanged(callback)`: Listen for data changes
158
+ - `on('eventName', options)`: Data object 'on' events
159
+
160
+ #### Example
161
+
162
+ ```typescript
163
+ const dataObject = getDataObjectById('users');
164
+
165
+ if (dataObject) {
166
+ // Get current data
167
+ const users = dataObject.getData();
168
+
169
+ // Insert new user
170
+ await dataObject.insert({
171
+ name: 'John Doe',
172
+ email: 'john@example.com'
173
+ });
174
+
175
+ // Update user
176
+ await dataObject.update(1, { name: 'Jane Doe' });
177
+
178
+ // Delete user
179
+ await dataObject.delete(1);
180
+
181
+ // Listen for changes
182
+ const unsubscribe = dataObject.onDataChanged((data) => {
183
+ console.log('Data updated:', data);
184
+ });
185
+
186
+ dataObject.lifeCycleEvents.on('beforeUpdate', (options, record, updates) => {
187
+ if (record.status === 'locked') {
188
+ options.cancelEvent = true;
189
+ }
190
+ });
191
+
192
+ // Clean up listener
193
+ unsubscribe();
194
+ }
195
+ ```
196
+
197
+ ## Configuration Options
198
+
199
+ ### DataObjectOptions
200
+
201
+ ```typescript
202
+ interface DataObjectOptions {
203
+ viewName: string; // View name
204
+ tableName?: string; // Table name - required for CRUD operations
205
+ fields?: DataObjectField[]; // Specific fields to select
206
+ whereClauses?: WhereClause[]; // Filter conditions
207
+ sort?: SortConfig; // Sorting configuration
208
+ recordLimit?: number; // Maximum records to fetch
209
+ canInsert?: boolean; // Allow insert operations
210
+ canUpdate?: boolean; // Allow update operations
211
+ canDelete?: boolean; // Allow delete operations
212
+ }
213
+ ```
214
+
215
+ ### WhereClause
216
+
217
+ ```typescript
218
+ interface WhereClause {
219
+ field: string;
220
+ operator: 'equals' | 'notequals' | 'greaterthan' | 'lessthan';
221
+ value: any;
222
+ }
223
+ ```
224
+
225
+ ### SortConfig
226
+
227
+ ```typescript
228
+ interface SortConfig {
229
+ field: string;
230
+ direction: 'asc' | 'desc';
231
+ }
232
+ ```
233
+
234
+ ## Error Handling
235
+
236
+ You can provide custom error handlers when initializing the manager:
237
+
238
+ ```typescript
239
+ initializeDataObjectManager({
240
+ supabaseConfig: { /* ... */ },
241
+ errorHandler: {
242
+ onError: (error) => {
243
+ // Handle errors (e.g., show toast notification)
244
+ console.error('DataObject Error:', error);
245
+ },
246
+ onWarning: (warning) => {
247
+ // Handle warnings
248
+ console.warn('DataObject Warning:', warning);
249
+ },
250
+ onInfo: (info) => {
251
+ // Handle info messages
252
+ console.info('DataObject Info:', info);
253
+ }
254
+ }
255
+ });
256
+ ```
257
+
258
+ ## TypeScript Support
259
+
260
+ This package is written in TypeScript and provides full type safety:
261
+
262
+ ```typescript
263
+ import type {
264
+ DataObjectOptions,
265
+ DataObjectRecord,
266
+ SupabaseConfig
267
+ } from 'supabase-dataobject-core';
268
+
269
+ // Your data will be properly typed
270
+ const users: DataObjectRecord[] = dataObject.getData();
271
+ ```
272
+
273
+ ## Examples
274
+
275
+ ### Service Class Pattern
276
+
277
+ ```typescript
278
+ class UserService {
279
+ private getUserDataObject() {
280
+ return getDataObjectById('users');
281
+ }
282
+
283
+ async getAllUsers() {
284
+ const dataObject = this.getUserDataObject();
285
+ return dataObject ? dataObject.getData() : [];
286
+ }
287
+
288
+ async createUser(userData: any) {
289
+ const dataObject = this.getUserDataObject();
290
+ return dataObject ? await dataObject.insert(userData) : false;
291
+ }
292
+
293
+ async updateUser(id: number, updates: any) {
294
+ const dataObject = this.getUserDataObject();
295
+ return dataObject ? await dataObject.update(id, updates) : false;
296
+ }
297
+ }
298
+ ```
299
+
300
+ ### React Hook Pattern
301
+
302
+ ```typescript
303
+ import { useEffect, useState } from 'react';
304
+ import { getDataObjectById } from 'supabase-dataobject-core';
305
+
306
+ function useDataObject(id: string) {
307
+ const [data, setData] = useState([]);
308
+ const [loading, setLoading] = useState(true);
309
+
310
+ useEffect(() => {
311
+ const dataObject = getDataObjectById(id);
312
+ if (dataObject) {
313
+ setData(dataObject.getData());
314
+ setLoading(false);
315
+
316
+ const unsubscribe = dataObject.onDataChanged((newData) => {
317
+ setData(newData);
318
+ });
319
+
320
+ return unsubscribe;
321
+ }
322
+ }, [id]);
323
+
324
+ return { data, loading };
325
+ }
326
+ ```
327
+
328
+ ## License
329
+
330
+ MIT
331
+
332
+ ## Contributing
333
+
334
+ Contributions are welcome! Please feel free to submit a Pull Request.
@@ -2,6 +2,7 @@ import { SupabaseClient } from '@supabase/supabase-js';
2
2
  import { DataObjectOptions, DataObjectRecord, WhereClause, SupabaseConfig, DataObjectEvents, DataObjectField, SortConfig, GroupByConfig } from './types';
3
3
  import { DataObjectState } from './dataObjectState';
4
4
  import { MasterBinding } from './masterBinding';
5
+ import { DataObjectStorage } from './dataObjectStorage';
5
6
  export interface DataObjectErrorHandler {
6
7
  onError?: (error: string) => void;
7
8
  onWarning?: (warning: string) => void;
@@ -26,6 +27,7 @@ export declare class DataObject {
26
27
  private _fields;
27
28
  state: DataObjectState;
28
29
  masterBinding: MasterBinding | undefined;
30
+ storage: DataObjectStorage;
29
31
  private _childDataObjects;
30
32
  private _groupedData;
31
33
  get name(): string;
@@ -67,12 +69,11 @@ export declare class DataObject {
67
69
  refresh(): Promise<void>;
68
70
  private applyGrouping;
69
71
  /**
70
- * Creates a new record in Supabase from the record informaton specified.
71
- * Can only be called if a tableName is specified and canInsert is set to true.
72
- * @param record - An object of fields and values for the new record.
73
- * @returns true if insert is successful, false otherwise.
72
+ * Creates a new record in Supabase.
73
+ * @param record - Partial record to insert.
74
+ * @returns The newly created DataObjectRecord, or null if insert fails.
74
75
  */
75
- insert(record: Partial<DataObjectRecord>): Promise<boolean>;
76
+ insert(record: Partial<DataObjectRecord>, setAsCurrent?: boolean): Promise<DataObjectRecord | null>;
76
77
  /**
77
78
  * Updates a record in Supabase with the updates supplied.
78
79
  * Can only be called if a tableName is provided and canUpdate is set to true.
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { EventEmitter } from './eventEmitter';
3
3
  import { NamedEventEmitter } from './namedEventEmitter';
4
4
  import { DataObjectState } from './dataObjectState';
5
5
  import { MasterBinding } from './masterBinding';
6
+ import { DataObjectStorage } from './dataObjectStorage';
6
7
  export class DataObject {
7
8
  get name() {
8
9
  return this._name;
@@ -72,6 +73,7 @@ export class DataObject {
72
73
  this.errorHandler = errorHandler;
73
74
  this._name = name;
74
75
  this.state = new DataObjectState();
76
+ this.storage = new DataObjectStorage(name, this.supabase.storage, options.allowedBuckets, errorHandler);
75
77
  this._readyPromise = this.initializeDataObject();
76
78
  }
77
79
  async initializeDataObject() {
@@ -311,15 +313,14 @@ export class DataObject {
311
313
  }
312
314
  // #region CRUD
313
315
  /**
314
- * Creates a new record in Supabase from the record informaton specified.
315
- * Can only be called if a tableName is specified and canInsert is set to true.
316
- * @param record - An object of fields and values for the new record.
317
- * @returns true if insert is successful, false otherwise.
316
+ * Creates a new record in Supabase.
317
+ * @param record - Partial record to insert.
318
+ * @returns The newly created DataObjectRecord, or null if insert fails.
318
319
  */
319
- async insert(record) {
320
+ async insert(record, setAsCurrent = true) {
320
321
  if (!this.options.canInsert || !this.options.tableName) {
321
322
  this.handleWarning('Insert operation is not allowed for this data object');
322
- return false;
323
+ return null;
323
324
  }
324
325
  const insertToken = {
325
326
  ...this.options,
@@ -327,27 +328,29 @@ export class DataObject {
327
328
  cancelEvent: false,
328
329
  };
329
330
  this.lifeCycleEvents.emit('beforeInsert', insertToken, record);
330
- if (insertToken.cancelEvent) {
331
- return false;
332
- }
331
+ if (insertToken.cancelEvent)
332
+ return null;
333
333
  try {
334
334
  const { data, error } = await this.supabase
335
335
  .from(this.options.tableName)
336
336
  .insert(record)
337
337
  .select();
338
- if (error) {
339
- this.handleError(`Error inserting record: ${error.message}`);
340
- return false;
338
+ if (error || !data?.length) {
339
+ this.handleError(`Error inserting record: ${error?.message ?? 'No data returned'}`);
340
+ return null;
341
341
  }
342
- // TODO: option to set newly created record as currentRecord
343
- this.lifeCycleEvents.emit('afterInsert', data[0]);
342
+ const newRecord = data[0];
343
+ if (setAsCurrent) {
344
+ this._currentRecord = newRecord;
345
+ }
346
+ this.lifeCycleEvents.emit('afterInsert', newRecord);
344
347
  await this.refresh();
345
348
  this.handleInfo('Record inserted successfully');
346
- return true;
349
+ return newRecord;
347
350
  }
348
- catch (error) {
349
- this.handleError(`Error inserting record: ${error}`);
350
- return false;
351
+ catch (err) {
352
+ this.handleError(`Error inserting record: ${err}`);
353
+ return null;
351
354
  }
352
355
  }
353
356
  /**
@@ -491,6 +494,7 @@ export class DataObject {
491
494
  this.eventEmitter.fire(this.data);
492
495
  this.handleInfo("All changes reverted.");
493
496
  }
497
+ // #end region
494
498
  // #region Helpers
495
499
  /**
496
500
  * Helper function to wrap data object records in a reactive proxy and listen for changes.
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../src/dataObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { DataObjectErrorHandler } from "./dataObject";
2
+ import { SupabaseClient } from '@supabase/supabase-js';
3
+ export declare class DataObjectStorage {
4
+ private _dataObjectName;
5
+ private _allowedBuckets;
6
+ private _errorHandler?;
7
+ private _supabaseStorage;
8
+ constructor(dataObjectName: string, storage: SupabaseClient['storage'], allowedBuckets?: string[], errorHandler?: DataObjectErrorHandler);
9
+ /** Checks for existence of the specified bucket in the allowedBuckets array. */
10
+ private assertBucketAllowed;
11
+ uploadToBucket(bucket: string, filePath: string, file: Blob | File, options?: {
12
+ contentType?: string;
13
+ upsert?: boolean;
14
+ }): Promise<void>;
15
+ deleteFromBucket(bucket: string, filePath: string): Promise<void>;
16
+ getPublicUrl(bucket: string, filePath: string): string | null;
17
+ uploadAndGetUrl(bucket: string, filePath: string, file: Blob | File, options?: {
18
+ contentType?: string;
19
+ upsert?: boolean;
20
+ }): Promise<string | null>;
21
+ }
22
+ //# sourceMappingURL=dataObjectStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataObjectStorage.d.ts","sourceRoot":"","sources":["../src/dataObjectStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAyB;IAC/C,OAAO,CAAC,gBAAgB,CAA4B;gBAGhD,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,EAClC,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,YAAY,CAAC,EAAE,sBAAsB;IAQzC,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAWd,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;KACpB,GACF,OAAO,CAAC,IAAI,CAAC;IAiBH,gBAAgB,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAcT,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAavD,eAAe,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACrD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAI5B"}
@@ -0,0 +1,66 @@
1
+ export class DataObjectStorage {
2
+ constructor(dataObjectName, storage, allowedBuckets, errorHandler) {
3
+ this._allowedBuckets = [];
4
+ this._dataObjectName = dataObjectName;
5
+ this._supabaseStorage = storage;
6
+ this._allowedBuckets = allowedBuckets ?? [];
7
+ this._errorHandler = errorHandler;
8
+ }
9
+ /** Checks for existence of the specified bucket in the allowedBuckets array. */
10
+ assertBucketAllowed(bucket) {
11
+ if (this._allowedBuckets.length == 0) {
12
+ return true;
13
+ }
14
+ if (!this._allowedBuckets.includes(bucket)) {
15
+ if (this._errorHandler?.onError) {
16
+ this._errorHandler?.onError(`Bucket "${bucket}" is not allowed to upload for DataObject "${this._dataObjectName}".`);
17
+ }
18
+ return false;
19
+ }
20
+ return true;
21
+ }
22
+ async uploadToBucket(bucket, filePath, file, options) {
23
+ if (this.assertBucketAllowed(bucket)) {
24
+ const { error } = await this._supabaseStorage
25
+ .from(bucket)
26
+ .upload(filePath, file, {
27
+ contentType: options?.contentType,
28
+ upsert: options?.upsert ?? true
29
+ });
30
+ if (error) {
31
+ if (this._errorHandler) {
32
+ this._errorHandler?.onError?.(error.message);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ async deleteFromBucket(bucket, filePath) {
38
+ if (this.assertBucketAllowed(bucket)) {
39
+ const { error } = await this._supabaseStorage
40
+ .from(bucket)
41
+ .remove([filePath]);
42
+ if (error) {
43
+ if (this._errorHandler) {
44
+ this._errorHandler?.onError?.(error.message);
45
+ }
46
+ }
47
+ }
48
+ }
49
+ getPublicUrl(bucket, filePath) {
50
+ if (this.assertBucketAllowed(bucket)) {
51
+ const { data } = this._supabaseStorage
52
+ .from(bucket)
53
+ .getPublicUrl(filePath);
54
+ return data.publicUrl;
55
+ }
56
+ else {
57
+ return null;
58
+ }
59
+ }
60
+ //** Uploads to specified bucket and returns public url. */
61
+ async uploadAndGetUrl(bucket, filePath, file, options) {
62
+ await this.uploadToBucket(bucket, filePath, file, options);
63
+ return this.getPublicUrl(bucket, filePath);
64
+ }
65
+ }
66
+ //# sourceMappingURL=dataObjectStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataObjectStorage.js","sourceRoot":"","sources":["../src/dataObjectStorage.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -75,6 +75,8 @@ export interface DataObjectOptions {
75
75
  autoRefresh?: boolean;
76
76
  /** Configuration for grouping to be applied to the data object. */
77
77
  groupBy?: GroupByConfig;
78
+ /** Array of bucket names which are allowed to be uploaded to. Leave empty to allow upload to all buckets. */
79
+ allowedBuckets?: string[];
78
80
  }
79
81
  export interface SupabaseConfig {
80
82
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,57 +1,57 @@
1
- {
2
- "name": "supabase-dataobject-core",
3
- "version": "1.6.2",
4
- "description": "Core library for creating reactive data objects from Supabase tables and views",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "watch": "tsc --watch",
10
- "prepublishOnly": "npm run build",
11
- "test": "jest",
12
- "lint": "eslint src --ext .ts",
13
- "clean": "rimraf dist"
14
- },
15
- "keywords": [
16
- "supabase",
17
- "database",
18
- "reactive",
19
- "data",
20
- "crud",
21
- "typescript",
22
- "orm"
23
- ],
24
- "author": "BHDesign",
25
- "license": "MIT",
26
- "repository": {
27
- "type": "git",
28
- "url": "https://github.com/Baileyhall3/supabase-dataobject-core"
29
- },
30
- "bugs": {
31
- "url": "https://github.com/Baileyhall3/supabase-dataobject-core/issues"
32
- },
33
- "homepage": "https://github.com/Baileyhall3/supabase-dataobject-core#readme",
34
- "files": [
35
- "dist",
36
- "README.md",
37
- "LICENSE"
38
- ],
39
- "dependencies": {
40
- "@supabase/supabase-js": "^2.50.0"
41
- },
42
- "devDependencies": {
43
- "@types/node": "^20.0.0",
44
- "@typescript-eslint/eslint-plugin": "^6.0.0",
45
- "@typescript-eslint/parser": "^6.0.0",
46
- "@vitejs/plugin-vue": "^6.0.1",
47
- "eslint": "^8.0.0",
48
- "jest": "^29.0.0",
49
- "rimraf": "^5.0.0",
50
- "typescript": "^5.0.0",
51
- "vite": "^7.1.6",
52
- "vite-plugin-vue-devtools": "^8.0.2"
53
- },
54
- "engines": {
55
- "node": ">=16.0.0"
56
- }
57
- }
1
+ {
2
+ "name": "supabase-dataobject-core",
3
+ "version": "1.8.0",
4
+ "description": "Core library for creating reactive data objects from Supabase tables and views",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "watch": "tsc --watch",
10
+ "prepublishOnly": "npm run build",
11
+ "test": "jest",
12
+ "lint": "eslint src --ext .ts",
13
+ "clean": "rimraf dist"
14
+ },
15
+ "keywords": [
16
+ "supabase",
17
+ "database",
18
+ "reactive",
19
+ "data",
20
+ "crud",
21
+ "typescript",
22
+ "orm"
23
+ ],
24
+ "author": "BHDesign",
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/Baileyhall3/supabase-dataobject-core"
29
+ },
30
+ "bugs": {
31
+ "url": "https://github.com/Baileyhall3/supabase-dataobject-core/issues"
32
+ },
33
+ "homepage": "https://github.com/Baileyhall3/supabase-dataobject-core#readme",
34
+ "files": [
35
+ "dist",
36
+ "README.md",
37
+ "LICENSE"
38
+ ],
39
+ "dependencies": {
40
+ "@supabase/supabase-js": "^2.50.0"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^20.0.0",
44
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
45
+ "@typescript-eslint/parser": "^6.0.0",
46
+ "@vitejs/plugin-vue": "^6.0.1",
47
+ "eslint": "^8.0.0",
48
+ "jest": "^29.0.0",
49
+ "rimraf": "^5.0.0",
50
+ "typescript": "^5.0.0",
51
+ "vite": "^7.1.6",
52
+ "vite-plugin-vue-devtools": "^8.0.2"
53
+ },
54
+ "engines": {
55
+ "node": ">=16.0.0"
56
+ }
57
+ }