goby-database 2.0.14 → 2.1.15

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/dist/index.d.ts CHANGED
@@ -30,14 +30,14 @@ export default class Project {
30
30
  refresh_caches(caches: ('classlist' | 'items' | 'junctions')[]): void;
31
31
  create_table(type: SQLTableType, name: string | number, columns: string[]): void;
32
32
  action_create_class(name: string): number;
33
- action_add_data_property({ class_id, name, data_type, max_values, create_column }: {
33
+ add_data_property({ class_id, name, data_type, max_values, create_column }: {
34
34
  class_id: number;
35
35
  name: string;
36
36
  data_type: DataType;
37
37
  max_values: MaxValues;
38
38
  create_column?: boolean;
39
39
  }): void;
40
- action_add_relation_property(class_id: number, name: string, max_values: MaxValues): number;
40
+ add_relation_property(class_id: number, name: string, max_values: MaxValues): number;
41
41
  delete_property(class_id: number, prop_id: number): void;
42
42
  get_junctions(): {
43
43
  sides: JunctionSides;
@@ -67,15 +67,20 @@ export default class Project {
67
67
  class_data: ClassData;
68
68
  }): void;
69
69
  action_save(): void;
70
- action_create_item_in_root({ type, value }: {
70
+ create_item_in_root({ type, value }: {
71
71
  type: string | null;
72
72
  value?: string;
73
73
  }): number;
74
- action_delete_item_from_root(id: number): void;
74
+ delete_item_from_root(id: number): void;
75
75
  action_set_root_item_value(id: number, value: string): void;
76
+ lookup_class(class_id: number): ClassData;
76
77
  action_add_row(class_id: number): number;
77
78
  get_next_order(table_name: string): number;
78
- action_make_relation(input_1: ItemRelationSide, input_2: ItemRelationSide): void;
79
+ action_set_property_values(class_id: number, item_id: number, changes: {
80
+ property_id: number;
81
+ value: any;
82
+ }[]): void;
83
+ action_make_relations(relations: [input_1: ItemRelationSide, input_2: ItemRelationSide][]): void;
79
84
  retrieve_class_items({ class_id, class_name, class_data }: {
80
85
  class_id: number;
81
86
  class_name?: string;
@@ -92,7 +97,7 @@ export default class Project {
92
97
  }): (DataProperty | RelationProperty);
93
98
  retrieve_windows(): ApplicationWindow[];
94
99
  retrieve_workspace_contents(id: number): {
95
- blocks_parsed: WorkspaceBlock[];
100
+ blocks: WorkspaceBlock[];
96
101
  items: unknown[];
97
102
  };
98
103
  action_config_window({ type, open, metadata, id }: {
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import Database from 'better-sqlite3';
2
2
  import { defined, partial_relation_match, full_relation_match, can_have_multiple_values, junction_col_name, side_match, two_way, edit_has_valid_sides, readable_edit } from './utils.js';
3
3
  const text_data_types = ['string', 'resource'];
4
+ const integer_data_types = ['boolean'];
4
5
  const real_data_types = ['number'];
5
6
  export default class Project {
6
7
  constructor(source) {
@@ -141,7 +142,7 @@ export default class Project {
141
142
  let columns = [
142
143
  'system_id INTEGER UNIQUE',
143
144
  'system_order REAL',
144
- 'user_name TEXT',
145
+ 'user_Name TEXT',
145
146
  `FOREIGN KEY(system_id) REFERENCES system_root(id)`
146
147
  ];
147
148
  this.create_table('class', name, columns);
@@ -168,10 +169,10 @@ export default class Project {
168
169
  ]);
169
170
  this.refresh_caches(['classlist']);
170
171
  // add an entry in the property table for the default "name" property.
171
- this.action_add_data_property({ class_id, name: 'name', data_type: 'string', max_values: 1, create_column: false });
172
+ this.add_data_property({ class_id, name: 'Name', data_type: 'string', max_values: 1, create_column: false });
172
173
  return class_id;
173
174
  }
174
- action_add_data_property({ class_id, name, data_type, max_values, create_column = true }) {
175
+ add_data_property({ class_id, name, data_type, max_values, create_column = true }) {
175
176
  // 1. Add property to property table ---------------------------------------------------
176
177
  let property_table = `class_${class_id}_properties`;
177
178
  const system_order = this.get_next_order(property_table);
@@ -186,9 +187,7 @@ export default class Project {
186
187
  // let prop_id=this.get_latest_table_row_id(property_table);
187
188
  // 2. Add column to class table ------------------------------------------------
188
189
  if (create_column) {
189
- let class_data = this.class_cache.find(a => a.id == class_id);
190
- if (class_data == undefined)
191
- throw new Error('Cannot find class in class list.');
190
+ const class_data = this.lookup_class(class_id);
192
191
  let class_name = class_data.name;
193
192
  let sql_data_type = '';
194
193
  if (can_have_multiple_values(max_values) || text_data_types.includes(data_type)) {
@@ -198,13 +197,16 @@ export default class Project {
198
197
  else if (real_data_types.includes(data_type)) {
199
198
  sql_data_type = 'REAL';
200
199
  }
200
+ else if (integer_data_types.includes(data_type)) {
201
+ sql_data_type = 'INTEGER';
202
+ }
201
203
  //create property in table
202
204
  let command_string = `ALTER TABLE [class_${class_name}] ADD COLUMN [user_${name}] ${sql_data_type};`;
203
205
  this.db.prepare(command_string).run();
204
206
  }
205
207
  this.refresh_caches(['classlist']);
206
208
  }
207
- action_add_relation_property(class_id, name, max_values) {
209
+ add_relation_property(class_id, name, max_values) {
208
210
  let property_table = `class_${class_id}_properties`;
209
211
  const system_order = this.get_next_order(property_table);
210
212
  this.db.prepare(`INSERT INTO ${property_table} (name,type,max_values,metadata,system_order) VALUES (@name,@type,@max_values,@metadata,@system_order)`).run({
@@ -314,7 +316,7 @@ export default class Project {
314
316
  // NOTE: in the future, check and enforce that the prop name is unique
315
317
  // register the property
316
318
  if (prop_edit.config.type == 'relation') {
317
- const prop_id = this.action_add_relation_property(prop_edit.class_id, prop_edit.prop_name, prop_edit.config.max_values);
319
+ const prop_id = this.add_relation_property(prop_edit.class_id, prop_edit.prop_name, prop_edit.config.max_values);
318
320
  // look for any relations which match the class id and prop name
319
321
  // set their prop ID to the newly created one.
320
322
  for (let relationship_edit of relationship_edits) {
@@ -331,7 +333,7 @@ export default class Project {
331
333
  }
332
334
  else if (prop_edit.config.type == 'data') {
333
335
  // if it's a data prop, it just has to be registered in the class table and metadata
334
- this.action_add_data_property({
336
+ this.add_data_property({
335
337
  class_id: prop_edit.class_id,
336
338
  name: prop_edit.prop_name,
337
339
  data_type: prop_edit.config.data_type,
@@ -674,7 +676,7 @@ export default class Project {
674
676
  this.run.commit.run();
675
677
  this.db.close();
676
678
  }
677
- action_create_item_in_root({ type = null, value = '' }) {
679
+ create_item_in_root({ type = null, value = '' }) {
678
680
  var _a;
679
681
  // this.db.prepare('INSERT INTO system_root VALUES (null)').run();
680
682
  this.run.create_item.run({ type, value });
@@ -683,22 +685,27 @@ export default class Project {
683
685
  throw new Error('Something went wrong creating a new item');
684
686
  return id;
685
687
  }
686
- action_delete_item_from_root(id) {
688
+ delete_item_from_root(id) {
687
689
  this.db.prepare(`DELETE FROM system_root WHERE id = ${id}`).run();
688
690
  }
689
691
  action_set_root_item_value(id, value) {
690
692
  this.db.prepare(`UPDATE system_root set value = ? WHERE id = ?`).run(value, id);
691
693
  }
692
- action_add_row(class_id) {
693
- let class_data = this.class_cache.find(a => a.id == class_id);
694
+ lookup_class(class_id) {
695
+ const class_data = this.class_cache.find(a => a.id == class_id);
694
696
  if (class_data == undefined)
695
697
  throw new Error('Cannot find class in class list.');
698
+ return class_data;
699
+ }
700
+ action_add_row(class_id) {
701
+ const class_data = this.lookup_class(class_id);
696
702
  let class_name = class_data.name;
697
703
  //first add new row to root and get id
698
- const root_id = this.action_create_item_in_root({ type: 'class_' + class_id });
704
+ const root_id = this.create_item_in_root({ type: 'class_' + class_id });
699
705
  //get the last item in class table order and use it to get the order for the new item
700
706
  const new_order = this.get_next_order(`[class_${class_name}]`);
701
707
  this.db.prepare(`INSERT INTO [class_${class_name}] (system_id, system_order) VALUES (${root_id},${new_order})`).run();
708
+ this.refresh_caches(['items']);
702
709
  return root_id;
703
710
  }
704
711
  get_next_order(table_name) {
@@ -706,33 +713,103 @@ export default class Project {
706
713
  const new_order = last_ordered_item ? last_ordered_item.system_order + 1000 : 0;
707
714
  return new_order;
708
715
  }
709
- action_make_relation(input_1, input_2) {
716
+ // NOTE: seems like there should be a way to pair down "value:any" in params, maybe at least make it one of a few value types
717
+ action_set_property_values(class_id, item_id, changes) {
718
+ const class_data = this.lookup_class(class_id);
719
+ const sql_column_inserts = [];
720
+ for (let change of changes) {
721
+ const prop_data = class_data.properties.find((p) => p.id == change.property_id);
722
+ if (prop_data && prop_data.type == 'data') {
723
+ // const data_type=prop_data.data_type;
724
+ const cell_value = validate(change.value, prop_data.data_type, prop_data.max_values);
725
+ if (cell_value.valid) {
726
+ sql_column_inserts.push({
727
+ column_name: `[user_${prop_data.name}]`,
728
+ cell_value: cell_value.output
729
+ });
730
+ }
731
+ else {
732
+ console.log(`Did not modify ${prop_data.name} for item ${item_id}: ${cell_value.message}`);
733
+ }
734
+ }
735
+ else if (prop_data && prop_data.type == 'relation') {
736
+ console.log('haven’t added handling for relation props here yet');
737
+ }
738
+ }
739
+ const params = sql_column_inserts.map((a) => a.cell_value);
740
+ const set_statements = sql_column_inserts.map((p) => `${p.column_name} = ?`).join(',');
741
+ const insert_statement = `UPDATE [class_${class_data.name}] SET ${set_statements} WHERE system_id=${item_id}`;
742
+ this.db.prepare(insert_statement).run(params);
743
+ this.refresh_caches(['items']);
744
+ function validate(input, data_type, max_values) {
745
+ const multiple = max_values == null || max_values > 1;
746
+ const values = multiple ? input : [input];
747
+ if (!Array.isArray(values)) {
748
+ return { valid: false, message: 'Expecting array, got single value' };
749
+ }
750
+ const validated_values = [];
751
+ for (let value of values) {
752
+ if (real_data_types.includes(data_type) || integer_data_types.includes(data_type)) {
753
+ if (data_type == 'boolean') {
754
+ if (typeof value == 'boolean' || [0, 1].includes(value)) {
755
+ validated_values.push(+value);
756
+ }
757
+ else {
758
+ return { valid: false, message: `Expecting boolean or binary integer, got "${value}" (${typeof value})` };
759
+ }
760
+ }
761
+ else if (typeof value == 'number') {
762
+ validated_values.push(value);
763
+ }
764
+ else {
765
+ return { valid: false, message: `Expecting number, got "${value}" (${typeof value})` };
766
+ }
767
+ }
768
+ else if (text_data_types.includes(data_type)) {
769
+ // NOTE: could come back to validate resource as links/filepaths later, but leaving unopinionated for now
770
+ if (typeof value == 'string') {
771
+ validated_values.push(value);
772
+ }
773
+ else {
774
+ return { valid: false, message: `Expecting string, got "${value}" (${typeof value})` };
775
+ }
776
+ }
777
+ }
778
+ const output = multiple ? JSON.stringify(validated_values) : validated_values[0];
779
+ return {
780
+ valid: true,
781
+ output
782
+ };
783
+ }
784
+ }
785
+ action_make_relations(relations) {
710
786
  // NOTE: changes to make to this in the future:
711
787
  // - for input readability, allow class_name and prop_name as input options, assuming they’re enforced as unique, and use them to look up IDs
712
788
  // - enforce max_values here
713
789
  var _a;
714
- let column_names = {
715
- input_1: junction_col_name(input_1.class_id, input_1.prop_id),
716
- input_2: junction_col_name(input_2.class_id, input_2.prop_id)
717
- };
718
- let junction_id = (_a = this.junction_cache.find(j => full_relation_match(j.sides, [input_1, input_2]))) === null || _a === void 0 ? void 0 : _a.id;
719
- if (junction_id) {
720
- this.db.prepare(`
721
- INSERT INTO junction_${junction_id}
722
- ("${column_names.input_1}", "${column_names.input_2}")
723
- VALUES (${input_1.item_id},${input_2.item_id})
724
- `).run();
725
- }
726
- else {
727
- throw Error('Something went wrong - junction table for relationship not found');
790
+ for (let [input_1, input_2] of relations) {
791
+ let column_names = {
792
+ input_1: junction_col_name(input_1.class_id, input_1.prop_id),
793
+ input_2: junction_col_name(input_2.class_id, input_2.prop_id)
794
+ };
795
+ let junction_id = (_a = this.junction_cache.find(j => full_relation_match(j.sides, [input_1, input_2]))) === null || _a === void 0 ? void 0 : _a.id;
796
+ if (junction_id) {
797
+ this.db.prepare(`
798
+ INSERT INTO junction_${junction_id}
799
+ ("${column_names.input_1}", "${column_names.input_2}")
800
+ VALUES (${input_1.item_id},${input_2.item_id})
801
+ `).run();
802
+ }
803
+ else {
804
+ throw Error('Something went wrong - junction table for relationship not found');
805
+ }
728
806
  }
807
+ this.refresh_caches(['items']);
729
808
  // NOTE: should this trigger a refresh to items?
730
809
  }
731
810
  retrieve_class_items({ class_id, class_name, class_data }) {
732
811
  if (class_name == undefined || class_data == undefined) {
733
- class_data = this.class_cache.find(a => a.id == class_id);
734
- if (class_data == undefined)
735
- throw new Error('Cannot find class in class list.');
812
+ class_data = this.lookup_class(class_id);
736
813
  class_name = class_data.name;
737
814
  }
738
815
  ;
@@ -861,8 +938,8 @@ export default class Project {
861
938
  }
862
939
  retrieve_workspace_contents(id) {
863
940
  // get the workspace table
864
- let blocks = this.db.prepare(`SELECT * FROM workspace_${id}`).all();
865
- let blocks_parsed = blocks.map(a => (Object.assign(Object.assign({}, a), { metadata: JSON.parse(a.metadata) })));
941
+ let blocks_sql = this.db.prepare(`SELECT * FROM workspace_${id}`).all();
942
+ let blocks = blocks_sql.map(a => (Object.assign(Object.assign({}, a), { metadata: JSON.parse(a.metadata) })));
866
943
  // for(let block of blocks) block.metadata=JSON.parse(block.metadata);
867
944
  // get any relevant root items
868
945
  let items = this.db.prepare(`SELECT system_root.*
@@ -873,7 +950,7 @@ export default class Project {
873
950
  `).all();
874
951
  // get any relevant classes (going to hold off from this for now)
875
952
  return {
876
- blocks_parsed,
953
+ blocks,
877
954
  items
878
955
  };
879
956
  }
@@ -931,7 +1008,7 @@ export default class Project {
931
1008
  switch (thing_type) {
932
1009
  case 'item':
933
1010
  let { value: item_value, type: item_type } = thing_data;
934
- thing_id = this.action_create_item_in_root({ type: item_type, value: item_value });
1011
+ thing_id = this.create_item_in_root({ type: item_type, value: item_value });
935
1012
  break;
936
1013
  // add cases for class and anything else in the future
937
1014
  }
@@ -953,7 +1030,7 @@ export default class Project {
953
1030
  this.action_remove_workspace_block({ workspace_id, block_id });
954
1031
  switch (thing_type) {
955
1032
  case 'item':
956
- this.action_delete_item_from_root(thing_id);
1033
+ this.delete_item_from_root(thing_id);
957
1034
  break;
958
1035
  }
959
1036
  }
package/dist/types.d.ts CHANGED
@@ -112,7 +112,7 @@ export type RelationDefinition = {
112
112
  data_type?: never;
113
113
  };
114
114
  export type RelationProperty = BaseProperty & RelationDefinition;
115
- export type DataType = 'string' | 'resource' | 'number';
115
+ export type DataType = 'string' | 'resource' | 'number' | 'boolean';
116
116
  export type DataDefinition = {
117
117
  type: 'data';
118
118
  data_type: DataType;
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JunctionSides, RelationshipSide, MaxValues, RelationshipSideBase, RelationEdit, RelationEditValidSides, ClassData, JunctionList } from "./types";
1
+ import { JunctionSides, RelationshipSide, MaxValues, RelationshipSideBase, RelationEdit, RelationEditValidSides, ClassData, JunctionList } from "./types.js";
2
2
  export declare function defined<T>(v: T): v is NonNullable<T>;
3
3
  export declare function partial_relation_match(old_relation: JunctionSides, new_relation: JunctionSides): boolean;
4
4
  export declare function side_match(x: RelationshipSide, y: RelationshipSide): boolean;
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "goby-database",
3
- "version": "2.0.14",
3
+ "version": "2.1.15",
4
4
  "description": "This will hold the core better-sqlite3-powered application for creating and modifying goby databases",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "/dist",
8
+ "!dist/index.js.map",
9
+ "!dist/types.js.map",
10
+ "!dist/utils.js.map",
8
11
  "!dist/sandbox.js",
9
12
  "!dist/sandbox.d.ts",
10
13
  "!dist/sandbox.js.map",
@@ -26,6 +29,8 @@
26
29
  "type": "module",
27
30
  "devDependencies": {
28
31
  "@types/better-sqlite3": "^7.6.12",
32
+ "@types/d3-dsv": "^3.0.7",
33
+ "d3-dsv": "^3.0.1",
29
34
  "typescript": "^5.7.2"
30
35
  }
31
36
  }
package/readme.md CHANGED
@@ -2,6 +2,14 @@ I intend for this to be the core module Goby uses to represent and manipulate th
2
2
 
3
3
  Directory:
4
4
  * `notes.md` is my running notes doc for the project.
5
- * `index.js` will be main script (warning, lots of currently non-functional unfinished code)
6
- * `sandbox.js` will be a kind of test suite
7
- * `outdated_v0.json` is the first version I made of this module, used in the version of goby that I put together for my undergraduate thesis. I’m pulling a lot of the design of the new module from here, but there are a few big conceptual changes, particularly around how relation properties will work and be supported by junction tables in the back-end architecture.
5
+ * `index.js` is the main script (warning, lots of currently non-functional unfinished code)
6
+ * `sandbox.js` is an open testing and working environment
7
+
8
+
9
+ ### [WARNING: NOT YET STABLE]
10
+
11
+ For anyone installing this, beware that it’s not ready/intended for general use yet!! I publish this package so that I can install it in [goby-interface](https://github.com/goby-garden/goby-interface) (I can’t use `npm link` because of some convoluted electron node issues), and frequently release tiny edits to accomodate my work there.
12
+
13
+ But anyway if you _are_ one of the ~150+ (???) people who have been installing this, I’d be very curious to hear what you’re doing or what interested you in the project :)
14
+
15
+
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}