WIP; Vue3 project tree
This commit is contained in:
32
bbconf/todo_datamodel.sql
Normal file
32
bbconf/todo_datamodel.sql
Normal 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");
|
||||
|
64
bbconf/todo_resolvers.toml
Normal file
64
bbconf/todo_resolvers.toml
Normal 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
200
bbconf/todo_typemap.json
Normal 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"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user