Starting to add template data types
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"name": "Test Dataset",
|
||||
"id": "test_dataset",
|
||||
"uuid": "019bd8f5-7e61-7cac-b4b6-630aba8721a8",
|
||||
"uuid": "019bd96e-0b04-752b-a8f3-8dcdf27bc344",
|
||||
"data_object_type": "items",
|
||||
"objects": [
|
||||
{
|
||||
"name": "Test Item",
|
||||
"id": "test-item",
|
||||
"template_id": "",
|
||||
"fields": [
|
||||
{
|
||||
"id": "cost",
|
||||
16
main.odin
16
main.odin
@@ -1,19 +1,26 @@
|
||||
package main
|
||||
|
||||
import "core:fmt"
|
||||
|
||||
import "core:os/os2"
|
||||
import "core:path/slashpath"
|
||||
import sz "szlib"
|
||||
|
||||
|
||||
json_path :: "test_dataset.json"
|
||||
|
||||
main :: proc() {
|
||||
data_path, dp_error := sz.get_data_directory()
|
||||
if dp_error != os2.General_Error.None {
|
||||
fmt.eprintln("Could not get application data path")
|
||||
}
|
||||
|
||||
json_path := slashpath.join({data_path, "test_dataset.json"})
|
||||
|
||||
|
||||
test_dataset := sz.create_test_dataset()
|
||||
sz.write_dataset_to_json(test_dataset, json_path)
|
||||
|
||||
parsed_dataset, ok := sz.parse_json_to_dataset(json_path)
|
||||
if !ok {
|
||||
fmt.eprintfln("Failed to parse json tto dataset")
|
||||
fmt.eprintfln("Failed to parse json to dataset")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -26,3 +33,4 @@ main :: proc() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
13
shell.nix
Normal file
13
shell.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.mkShell {
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
odin
|
||||
ols
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
echo "Odin Shell"
|
||||
'';
|
||||
}
|
||||
@@ -1,37 +1,47 @@
|
||||
package szlib
|
||||
|
||||
Dataset :: struct {
|
||||
name: string,
|
||||
id: string,
|
||||
uuid: string,
|
||||
data_object_type: string,
|
||||
objects: [dynamic]SzDataObject
|
||||
name: string,
|
||||
id: string,
|
||||
uuid: string,
|
||||
data_object_type: string,
|
||||
data_object_template_id: string,
|
||||
objects: [dynamic]SzDataObject,
|
||||
}
|
||||
|
||||
SzDataObject :: struct {
|
||||
name: string,
|
||||
id: string,
|
||||
fields: [dynamic]SzField
|
||||
name: string,
|
||||
id: string,
|
||||
fields: [dynamic]SzField,
|
||||
}
|
||||
|
||||
SzField :: struct {
|
||||
id: string,
|
||||
type: SzFieldType,
|
||||
is_list: bool,
|
||||
value: string,
|
||||
id: string,
|
||||
type: SzFieldType,
|
||||
is_list: bool,
|
||||
value: string,
|
||||
}
|
||||
|
||||
SzDataObjectTemplate :: struct {
|
||||
|
||||
name: string,
|
||||
id: string,
|
||||
uuid: string,
|
||||
data_object_type: string,
|
||||
fields: [dynamic]SzTemplateField,
|
||||
}
|
||||
|
||||
SzTemplateField :: struct {
|
||||
id: string,
|
||||
type: SzFieldType,
|
||||
is_list: bool,
|
||||
default_value: string,
|
||||
id: string,
|
||||
type: SzFieldType,
|
||||
is_list: bool,
|
||||
default_value: string,
|
||||
}
|
||||
|
||||
SzFieldType :: enum {
|
||||
TEXT, NUMBER, BOOL, FORMULA, REF
|
||||
TEXT,
|
||||
NUMBER,
|
||||
BOOL,
|
||||
FORMULA,
|
||||
REF,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user