WIP; Vue3 project tree

This commit is contained in:
2023-02-28 13:57:08 +01:00
parent a7b2dbf4bc
commit 3b428f52af
27 changed files with 2486 additions and 10 deletions

32
bbconf/todo_datamodel.sql Normal file
View File

@ -0,0 +1,32 @@
CREATE TABLE "List" (
"id" UUID DEFAULT gen_random_uuid() NOT NULL,
"title" VARCHAR NOT NULL,
"user_username" VARCHAR NOT NULL
);
CREATE TABLE "Task" (
"id" UUID DEFAULT gen_random_uuid() NOT NULL,
"title" VARCHAR NOT NULL,
"description" VARCHAR,
"completed" BOOLEAN NOT NULL,
"user_username" VARCHAR NOT NULL,
"list_id" UUID NOT NULL
);
CREATE TABLE "User" (
"username" VARCHAR NOT NULL,
"name" VARCHAR
);
ALTER TABLE "List" ADD PRIMARY KEY ("id");
ALTER TABLE "Task" ADD PRIMARY KEY ("id");
ALTER TABLE "User" ADD PRIMARY KEY ("username");
ALTER TABLE "List" ADD CONSTRAINT fk_list_1 FOREIGN KEY ("user_username") REFERENCES "User" ("username");
ALTER TABLE "Task" ADD CONSTRAINT fk_task_2 FOREIGN KEY ("user_username") REFERENCES "User" ("username");
ALTER TABLE "Task" ADD CONSTRAINT fk_task_3 FOREIGN KEY ("list_id") REFERENCES "List" ("id");

View File

@ -0,0 +1,64 @@
[resolvers.getUser]
operation_name = "getUser"
[resolvers.getUser.resolver]
command_type = "SQLSelect"
columns = []
tables = [["User", ""]]
where_clauses = [["User", "username", "= '$username'"]]
join_clauses = []
modify_table = ["", ""]
modify_values = []
aggregate_final_json_result = true
[resolvers.deleteTask]
operation_name = "deleteTask"
[resolvers.deleteTask.resolver]
command_type = "SQLDelete"
columns = []
tables = []
where_clauses = [["Task", "id", "= '$id'"]]
join_clauses = []
modify_table = ["Task", ""]
modify_values = []
aggregate_final_json_result = true
[resolvers.createTask]
operation_name = "createTask"
[resolvers.createTask.resolver]
command_type = "SQLInsert"
columns = []
tables = []
where_clauses = []
join_clauses = []
modify_table = ["Task", ""]
modify_values = [["title", "'$title'"], ["description", "'$description'"], ["completed", "$completed"], ["list_id", "'$list.$id'"], ["user_username", "'$user.$username'"]]
aggregate_final_json_result = true
[resolvers.updateTask]
operation_name = "updateTask"
[resolvers.updateTask.resolver]
command_type = "SQLUpdate"
columns = []
tables = []
where_clauses = [["Task", "id", "= '$id'"]]
join_clauses = []
modify_table = ["Task", ""]
modify_values = [["title", "'$title'"], ["description", "'$description'"], ["completed", "$completed"], ["list_id", "'$list.$id'"]]
aggregate_final_json_result = true
[resolvers.createList]
operation_name = "createList"
[resolvers.createList.resolver]
command_type = "SQLInsert"
columns = []
tables = []
where_clauses = []
join_clauses = []
modify_table = ["List", ""]
modify_values = [["title", "'$title'"], ["user_username", "'$user.$username'"]]
aggregate_final_json_result = true

200
bbconf/todo_typemap.json Normal file
View File

@ -0,0 +1,200 @@
{
"type_list": [
{
"Object": {
"gql_object": "List",
"sql_table": "List"
}
},
{
"ObjectField": {
"gql_object": "List",
"gql_field": "id",
"sql_table": "List",
"sql_column": "id"
}
},
{
"ObjectField": {
"gql_object": "List",
"gql_field": "title",
"sql_table": "List",
"sql_column": "title"
}
},
{
"Object": {
"gql_object": "Task",
"sql_table": "Task"
}
},
{
"ObjectField": {
"gql_object": "Task",
"gql_field": "id",
"sql_table": "Task",
"sql_column": "id"
}
},
{
"ObjectField": {
"gql_object": "Task",
"gql_field": "title",
"sql_table": "Task",
"sql_column": "title"
}
},
{
"ObjectField": {
"gql_object": "Task",
"gql_field": "description",
"sql_table": "Task",
"sql_column": "description"
}
},
{
"ObjectField": {
"gql_object": "Task",
"gql_field": "completed",
"sql_table": "Task",
"sql_column": "completed"
}
},
{
"Object": {
"gql_object": "User",
"sql_table": "User"
}
},
{
"ObjectField": {
"gql_object": "User",
"gql_field": "username",
"sql_table": "User",
"sql_column": "username"
}
},
{
"ObjectField": {
"gql_object": "User",
"gql_field": "name",
"sql_table": "User",
"sql_column": "name"
}
},
{
"Join": {
"gql_object": "List",
"gql_field": "user",
"gql_type": "User",
"sql_join_type": {
"OneToMany": {
"sql_table_of_object": "List",
"sql_table_of_field": "User",
"sql_mapped_columns": [
[
"user_username",
"username"
]
]
}
}
}
},
{
"Join": {
"gql_object": "User",
"gql_field": "lists",
"gql_type": "List",
"sql_join_type": {
"ManyToOne": {
"sql_table_of_object": "User",
"sql_table_of_field": "List",
"sql_mapped_columns": [
[
"username",
"user_username"
]
]
}
}
}
},
{
"Join": {
"gql_object": "Task",
"gql_field": "user",
"gql_type": "User",
"sql_join_type": {
"OneToMany": {
"sql_table_of_object": "Task",
"sql_table_of_field": "User",
"sql_mapped_columns": [
[
"user_username",
"username"
]
]
}
}
}
},
{
"Join": {
"gql_object": "User",
"gql_field": "tasks",
"gql_type": "Task",
"sql_join_type": {
"ManyToOne": {
"sql_table_of_object": "User",
"sql_table_of_field": "Task",
"sql_mapped_columns": [
[
"username",
"user_username"
]
]
}
}
}
},
{
"Join": {
"gql_object": "Task",
"gql_field": "list",
"gql_type": "List",
"sql_join_type": {
"OneToMany": {
"sql_table_of_object": "Task",
"sql_table_of_field": "List",
"sql_mapped_columns": [
[
"list_id",
"id"
]
]
}
}
}
},
{
"Join": {
"gql_object": "List",
"gql_field": "tasks",
"gql_type": "Task",
"sql_join_type": {
"ManyToOne": {
"sql_table_of_object": "List",
"sql_table_of_field": "Task",
"sql_mapped_columns": [
[
"id",
"list_id"
]
]
}
}
}
}
]
}