@iebh/tera-fy 2.3.8 → 2.3.10

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/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.10](https://github.com/IEBH/TERA-fy/compare/v2.3.9...v2.3.10) (2026-05-12)
4
+
5
+
6
+ ### refactor
7
+
8
+ * Tidied up Syncro data fetching + force named arguments when calling merger ([220eef3](https://github.com/IEBH/TERA-fy/commit/220eef3c0b7d12b0cae87bfc169dfa67c87858f4))
9
+
10
+ ## [2.3.9](https://github.com/IEBH/TERA-fy/compare/v2.3.8...v2.3.9) (2026-05-09)
11
+
12
+
13
+ ### fix
14
+
15
+ * First draft at migrating away from Supabase(y) for row updates in the Syncro ([b1b65cb](https://github.com/IEBH/TERA-fy/commit/b1b65cb55ee08f3d87467061a8e26376251fab08))
16
+ * Tidup and fixes ([cd23fd8](https://github.com/IEBH/TERA-fy/commit/cd23fd81cd99f47fe15bdcc5ed06a9083fae243a))
17
+ * TS interface definition errors ([a8310de](https://github.com/IEBH/TERA-fy/commit/a8310de1d24f110761908aea80c943d8403bf16b))
18
+ * Wrong object binding in (probably unused) keyed utils ([77fba38](https://github.com/IEBH/TERA-fy/commit/77fba38137b19f524a25fbb1cb1ae8e5480e7b2f))
19
+
20
+ ### refactor
21
+
22
+ * Change hyperdrive binding from db -> HYPERDRIVE so its consistant with other uses ([852d6c6](https://github.com/IEBH/TERA-fy/commit/852d6c6f4be9020b66075678a9477544b276eff2))
23
+
3
24
  ## [2.3.8](https://github.com/IEBH/TERA-fy/compare/v2.3.7...v2.3.8) (2026-04-30)
4
25
 
5
26
 
@@ -1,13 +1,19 @@
1
1
  import { BoundSupabaseyFunction } from '@iebh/supabasey';
2
+ export interface PostgresSql {
3
+ (strings: TemplateStringsArray, ...values: any[]): Promise<any[]>;
4
+ json(value: any): any;
5
+ }
2
6
  interface SyncroEntityConfig {
3
7
  singular: string;
4
8
  initState: (args: {
9
+ HYPERDRIVE: PostgresSql;
5
10
  supabasey: BoundSupabaseyFunction;
6
11
  id: string;
7
12
  relation?: string;
8
13
  }) => Promise<any>;
9
14
  flushState: (args: {
10
- supabasey: BoundSupabaseyFunction;
15
+ HYPERDRIVE: PostgresSql;
16
+ supabasey?: BoundSupabaseyFunction;
11
17
  state: any;
12
18
  id?: string;
13
19
  fsId?: string;
@@ -21,8 +27,8 @@ type SyncroConfig = Record<string, SyncroEntityConfig>;
21
27
  * @type {Object} An object lookup of entities
22
28
  *
23
29
  * @property {String} singular The singular noun for the item
24
- * @property {Function} initState Function called to initialize state when Firestore has no existing document. Called as `({supabase:BoundSupabaseyFunction, db:BoundHyperdriveInstance, entity:String, id:String, relation?:string})` and expected to return the initial data object state
25
- * @property {Function} flushState Function called to flush state from Firebase to Supabase. Called the same as `initState` + `{state:Object}`
30
+ * @property {Function} initState Function called to initialize state when Firestore has no existing document. Called as `({HYPERDRIVE:PostgresSql, supabasey:BoundSupabaseyFunction, id:String, relation?:string})` and expected to return the initial data object state
31
+ * @property {Function} flushState Function called to flush state from Firebase to Postgres. Called the same as `initState` + `{state:Object}`
26
32
  */
27
33
  declare const syncroConfig: SyncroConfig;
28
34
  export default syncroConfig;
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-unused-vars */
1
+ /* eslint-disable jsdoc/reject-function-type, no-unused-vars */
2
2
  // @ts-expect-error TODO: Remove when reflib gets declaration file
3
3
  import Reflib from '@iebh/reflib';
4
4
  import { v4 as uuid4 } from 'uuid';
@@ -9,41 +9,48 @@ import { nanoid } from 'nanoid';
9
9
  * @type {Object} An object lookup of entities
10
10
  *
11
11
  * @property {String} singular The singular noun for the item
12
- * @property {Function} initState Function called to initialize state when Firestore has no existing document. Called as `({supabase:BoundSupabaseyFunction, db:BoundHyperdriveInstance, entity:String, id:String, relation?:string})` and expected to return the initial data object state
13
- * @property {Function} flushState Function called to flush state from Firebase to Supabase. Called the same as `initState` + `{state:Object}`
12
+ * @property {Function} initState Function called to initialize state when Firestore has no existing document. Called as `({HYPERDRIVE:PostgresSql, supabasey:BoundSupabaseyFunction, id:String, relation?:string})` and expected to return the initial data object state
13
+ * @property {Function} flushState Function called to flush state from Firebase to Postgres. Called the same as `initState` + `{state:Object}`
14
14
  */
15
15
  const syncroConfig = {
16
16
  institutes: {
17
17
  singular: 'institute',
18
- async initState({ supabasey, id }) {
19
- const institute = await supabasey((supabase) => supabase
20
- .from('institutes')
21
- .select('data')
22
- .eq('id', id)
23
- .maybeSingle());
24
- if (institute)
25
- return institute.data; // institute is valid and already exists
18
+ async initState({ HYPERDRIVE, id }) {
19
+ let rows = await HYPERDRIVE `
20
+ SELECT data
21
+ FROM institutes
22
+ WHERE id = ${id}
23
+ LIMIT 1
24
+ `;
25
+ if (rows.length > 0) {
26
+ return rows[0].data; // institute is valid and already exists
27
+ }
28
+ else {
29
+ throw new Error(`Syncro institute "${id}" not found`);
30
+ }
26
31
  },
27
- flushState({ supabasey, state, id }) {
28
- // @ts-expect-error Typescript struggles to resolve supabasey import correctly
29
- return supabasey.rpc('syncro_merge_data', {
30
- table_name: 'institutes',
31
- entity_id: id,
32
- new_data: state,
33
- });
32
+ flushState({ HYPERDRIVE, state, id }) {
33
+ return HYPERDRIVE `
34
+ SELECT syncro_merge_data(
35
+ table_name => 'institutes',
36
+ entity_id => ${id}::UUID,
37
+ new_data => ${HYPERDRIVE.json(state)}::JSONB
38
+ )
39
+ `;
34
40
  },
35
41
  }, // }}}
36
42
  projects: {
37
43
  singular: 'project',
38
- async initState({ supabasey, id }) {
39
- const projectData = await supabasey((supabase) => supabase
40
- .from('projects')
41
- .select('data')
42
- .eq('id', id)
43
- .maybeSingle());
44
- if (!projectData)
44
+ async initState({ HYPERDRIVE, supabasey, id }) {
45
+ let rows = await HYPERDRIVE `
46
+ SELECT data
47
+ FROM projects
48
+ WHERE id = ${id}
49
+ LIMIT 1
50
+ `;
51
+ if (rows.length == 0)
45
52
  throw new Error(`Syncro project "${id}" not found`);
46
- const data = projectData.data;
53
+ const data = rows[0].data;
47
54
  // MIGRATION - Move data.temp{} into Supabase files + add pointer to filename {{{
48
55
  if (data.temp // Project contains temp subkey
49
56
  && Object.values(data.temp).some((t) => typeof t == 'object') // Some of the temp keys are objects
@@ -52,7 +59,7 @@ const syncroConfig = {
52
59
  const tempObject = data.temp;
53
60
  await Promise.all(Object.entries(data.temp)
54
61
  .filter(([, branch]) => typeof branch == 'object')
55
- .map(([toolKey,]) => {
62
+ .map(([toolKey]) => {
56
63
  console.log(`[MIGRATION] Converting data.temp[${toolKey}]...`);
57
64
  const toolName = toolKey.split('-')[0];
58
65
  const fileName = `data-${toolName}-${nanoid()}.json`;
@@ -82,18 +89,19 @@ const syncroConfig = {
82
89
  } // }}}
83
90
  return data;
84
91
  },
85
- flushState({ supabasey, state, fsId }) {
86
- // Import Supabasey because 'supabasey' lowercase is just a function
87
- return supabasey(supabase => supabase.rpc('syncro_merge_data', {
88
- table_name: 'projects',
89
- entity_id: fsId,
90
- new_data: state,
91
- }));
92
+ flushState({ HYPERDRIVE, state, fsId }) {
93
+ return HYPERDRIVE `
94
+ SELECT syncro_merge_data(
95
+ table_name => 'projects',
96
+ entity_id => ${fsId}::UUID,
97
+ new_data => ${HYPERDRIVE.json(state)}::JSONB
98
+ )
99
+ `;
92
100
  },
93
101
  }, // }}}
94
102
  project_libraries: {
95
103
  singular: 'project library',
96
- async initState({ supabasey, id, relation }) {
104
+ async initState({ id, relation, supabasey }) {
97
105
  if (!relation || !/_\*$/.test(relation))
98
106
  throw new Error('Project library relation missing, path should resemble "project_library::${PROJECT}::${LIBRARY_FILE_ID}_*"');
99
107
  const fileId = relation.replace(/_\*$/, '');
@@ -125,98 +133,78 @@ const syncroConfig = {
125
133
  }, // }}}
126
134
  project_namespaces: {
127
135
  singular: 'project namespace',
128
- async initState({ supabasey, id, relation }) {
129
- if (!relation)
130
- throw new Error('Project namespace relation missing, path should resemble "project_namespaces::${PROJECT}::${RELATION}"');
131
- const rows = await supabasey((supabase) => supabase
132
- .from('project_namespaces')
133
- .select('data')
134
- .eq('project', id)
135
- .eq('name', relation)
136
- .limit(1));
137
- if (rows && rows.length == 1) {
138
- return rows[0].data;
139
- }
140
- else {
141
- const newItem = await supabasey((supabase) => supabase
142
- .from('project_namespaces') // Doesn't exist - create it
143
- .insert({
144
- project: id,
145
- name: relation,
146
- data: {},
147
- })
148
- .select('data')
149
- .single() // Assuming insert returns the single inserted row
150
- );
151
- if (!newItem)
152
- throw new Error('Failed to create project namespace');
153
- return newItem.data;
154
- }
136
+ async initState() {
137
+ throw new Error('Updating project_namespaces is not yet supported');
155
138
  },
156
- flushState({ supabasey, state, id, relation }) {
157
- return supabasey((supabase) => supabase
158
- .from('project_namespaces')
159
- .update({
160
- edited_at: new Date().toISOString(),
161
- data: state,
162
- })
163
- .eq('project', id)
164
- .eq('name', relation));
139
+ async flushState() {
140
+ throw new Error('Updating project_namespaces is not yet supported');
165
141
  },
166
142
  }, // }}}
167
143
  test: {
168
144
  singular: 'test',
169
- async initState({ supabasey, id }) {
170
- const rows = await supabasey((supabase) => supabase
171
- .from('test')
172
- .select('data')
173
- .eq('id', id)
174
- .limit(1));
175
- if (!rows || rows.length !== 1)
176
- return Promise.reject(`Syncro test item "${id}" not found`);
177
- return rows[0].data;
145
+ async initState({ HYPERDRIVE, id }) {
146
+ let rows = await HYPERDRIVE `
147
+ SELECT data
148
+ FROM test
149
+ WHERE id = ${id}
150
+ LIMIT 1
151
+ `;
152
+ if (rows.length > 0) {
153
+ return rows[0].data; // User is valid and already exists
154
+ }
155
+ else {
156
+ throw new Error(`Syncro test "${id}" not found`);
157
+ }
178
158
  },
179
- flushState({ supabasey, state, fsId }) {
180
- return supabasey(supabase => supabase.rpc('syncro_merge_data', {
181
- table_name: 'test',
182
- entity_id: fsId,
183
- new_data: state,
184
- }));
159
+ flushState({ HYPERDRIVE, state, fsId }) {
160
+ return HYPERDRIVE `
161
+ SELECT syncro_merge_data(
162
+ table_name => 'test',
163
+ entity_id => ${fsId}::UUID,
164
+ new_data => ${HYPERDRIVE.json(state)}::JSONB
165
+ )
166
+ `;
185
167
  },
186
168
  }, // }}}
187
169
  users: {
188
170
  singular: 'user',
189
- async initState({ supabasey, id }) {
190
- const user = await supabasey((supabase) => supabase
191
- .from('users')
192
- .select('data')
193
- .eq('id', id)
194
- .maybeSingle());
195
- if (user)
196
- return user.data; // User is valid and already exists
197
- // User row doesn't already exist - need to create stub
198
- const newUser = await supabasey((supabase) => supabase
199
- .from('users')
200
- .insert({
171
+ async initState({ HYPERDRIVE, id }) {
172
+ let rows = await HYPERDRIVE `
173
+ SELECT data
174
+ FROM users
175
+ WHERE id = ${id}
176
+ LIMIT 1
177
+ `;
178
+ if (rows.length > 0)
179
+ return rows[0].data; // User is valid and already exists
180
+ // User row doesn't already exist - this shouldn't happen if the user has correctly gone through the onboarding process
181
+ // but... *shrugs*, who knows
182
+ let newUser = await HYPERDRIVE `
183
+ INSERT INTO users
184
+ (
185
+ id,
186
+ data
187
+ )
188
+ VALUES (
189
+ ${id},
190
+ ${HYPERDRIVE.json({
201
191
  id,
202
- data: {
203
- id,
204
- credits: 1000,
205
- },
206
- })
207
- .select('data')
208
- .single() // Assuming insert returns the single inserted row
209
- );
210
- if (!newUser)
211
- throw new Error('Failed to create user');
212
- return newUser.data; // Return back the data that eventually got created - allowing for database triggers, default field values etc.
192
+ credits: 1000,
193
+ })}::JSONB
194
+ )
195
+ `;
196
+ if (!newUser?.length)
197
+ throw new Error(`Failed to create new user "${id}"`);
198
+ return newUser[0].data; // Return back the data that eventually got created - allowing for database triggers, default field values etc.
213
199
  },
214
- flushState({ supabasey, state, fsId }) {
215
- return supabasey(supabase => supabase.rpc('syncro_merge_data', {
216
- table_name: 'users',
217
- entity_id: fsId,
218
- new_data: state,
219
- }));
200
+ flushState({ HYPERDRIVE, state, fsId }) {
201
+ return HYPERDRIVE `
202
+ SELECT syncro_merge_data(
203
+ table_name => 'users',
204
+ entity_id => ${fsId}::UUID,
205
+ new_data => ${HYPERDRIVE.json(state)}::JSONB
206
+ )
207
+ `;
220
208
  },
221
209
  }, // }}}
222
210
  };
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../lib/syncro/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../lib/syncro/entities.ts"],"names":[],"mappings":"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"}