From 150c39c3f9fd51cc377703c13dea56462cf56dad Mon Sep 17 00:00:00 2001 From: GitApp Date: Fri, 19 Dec 2025 15:50:42 +0000 Subject: [PATCH] feat(templates): create schemas for users, labels, projects, sprints, issues, comments --- .gitapp/.gitkeep | 0 .gitapp/manifest.json | 52 +++++++++++++++++++ .gitapp/operations/.gitkeep | 0 .gitapp/schemas/.gitkeep | 0 .gitapp/schemas/comments.json | 32 ++++++++++++ .gitapp/schemas/issues.json | 95 +++++++++++++++++++++++++++++++++++ .gitapp/schemas/labels.json | 21 ++++++++ .gitapp/schemas/projects.json | 42 ++++++++++++++++ .gitapp/schemas/sprints.json | 34 +++++++++++++ .gitapp/schemas/users.json | 32 ++++++++++++ collections/comments/.gitkeep | 0 collections/issues/.gitkeep | 0 collections/labels/.gitkeep | 0 collections/projects/.gitkeep | 0 collections/sprints/.gitkeep | 0 collections/users/.gitkeep | 0 16 files changed, 308 insertions(+) create mode 100644 .gitapp/.gitkeep create mode 100644 .gitapp/manifest.json create mode 100644 .gitapp/operations/.gitkeep create mode 100644 .gitapp/schemas/.gitkeep create mode 100644 .gitapp/schemas/comments.json create mode 100644 .gitapp/schemas/issues.json create mode 100644 .gitapp/schemas/labels.json create mode 100644 .gitapp/schemas/projects.json create mode 100644 .gitapp/schemas/sprints.json create mode 100644 .gitapp/schemas/users.json create mode 100644 collections/comments/.gitkeep create mode 100644 collections/issues/.gitkeep create mode 100644 collections/labels/.gitkeep create mode 100644 collections/projects/.gitkeep create mode 100644 collections/sprints/.gitkeep create mode 100644 collections/users/.gitkeep diff --git a/.gitapp/.gitkeep b/.gitapp/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.gitapp/manifest.json b/.gitapp/manifest.json new file mode 100644 index 0000000..2b5daee --- /dev/null +++ b/.gitapp/manifest.json @@ -0,0 +1,52 @@ +{ + "name": "pocketbase-lite", + "version": "0.1.0", + "paths": { + "data": "collections/", + "media": "media/", + "indexes": ".gitapp/indexes/" + }, + "schemas": [ + { + "id": "users", + "file": "schemas/users.json", + "glob": "collections/users/*.json" + }, + { + "id": "labels", + "file": "schemas/labels.json", + "glob": "collections/labels/*.json" + }, + { + "id": "projects", + "file": "schemas/projects.json", + "glob": "collections/projects/*.json" + }, + { + "id": "sprints", + "file": "schemas/sprints.json", + "glob": "collections/sprints/*.json" + }, + { + "id": "issues", + "file": "schemas/issues.json", + "glob": "collections/issues/*.json" + }, + { + "id": "comments", + "file": "schemas/comments.json", + "glob": "collections/comments/*.json" + } + ], + "operations": [], + "policies": { + "roles": [ + "viewer", + "editor" + ], + "acl": null + }, + "lfs": { + "enabled": false + } +} \ No newline at end of file diff --git a/.gitapp/operations/.gitkeep b/.gitapp/operations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.gitapp/schemas/.gitkeep b/.gitapp/schemas/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.gitapp/schemas/comments.json b/.gitapp/schemas/comments.json new file mode 100644 index 0000000..eef578d --- /dev/null +++ b/.gitapp/schemas/comments.json @@ -0,0 +1,32 @@ +{ + "$id": "comments", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "content" + ], + "properties": { + "content": { + "type": "string", + "minLength": 1 + }, + "date": { + "type": "string", + "format": "date-time" + }, + "issue": { + "type": "string", + "x-relation": { + "collection": "issues", + "type": "single" + } + }, + "author": { + "type": "string", + "x-relation": { + "collection": "users", + "type": "single" + } + } + } +} \ No newline at end of file diff --git a/.gitapp/schemas/issues.json b/.gitapp/schemas/issues.json new file mode 100644 index 0000000..ad4e748 --- /dev/null +++ b/.gitapp/schemas/issues.json @@ -0,0 +1,95 @@ +{ + "$id": "issues", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "title", + "type", + "status" + ], + "properties": { + "title": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "bug", + "feature", + "task", + "story", + "epic" + ] + }, + "priority": { + "type": "string", + "enum": [ + "low", + "medium", + "high", + "critical" + ] + }, + "status": { + "type": "string", + "enum": [ + "backlog", + "todo", + "in_progress", + "review", + "done" + ] + }, + "estimate": { + "type": "integer", + "minimum": 0 + }, + "dueDate": { + "type": "string", + "format": "date" + }, + "project": { + "type": "string", + "x-relation": { + "collection": "projects", + "type": "single" + } + }, + "assignee": { + "type": "string", + "x-relation": { + "collection": "users", + "type": "single" + } + }, + "reporter": { + "type": "string", + "x-relation": { + "collection": "users", + "type": "single" + } + }, + "labels": { + "type": "array", + "items": { + "type": "string" + }, + "x-relation": { + "collection": "labels", + "type": "multiple", + "maxItems": 5 + } + }, + "sprint": { + "type": "string", + "x-relation": { + "collection": "sprints", + "type": "single" + } + } + } +} \ No newline at end of file diff --git a/.gitapp/schemas/labels.json b/.gitapp/schemas/labels.json new file mode 100644 index 0000000..17f2f45 --- /dev/null +++ b/.gitapp/schemas/labels.json @@ -0,0 +1,21 @@ +{ + "$id": "labels", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "name", + "color" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "color": { + "type": "string" + }, + "description": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/.gitapp/schemas/projects.json b/.gitapp/schemas/projects.json new file mode 100644 index 0000000..667eae2 --- /dev/null +++ b/.gitapp/schemas/projects.json @@ -0,0 +1,42 @@ +{ + "$id": "projects", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "name", + "key" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "key": { + "type": "string", + "minLength": 2, + "maxLength": 5 + }, + "description": { + "type": "string" + }, + "color": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "active", + "on-hold", + "completed", + "archived" + ] + }, + "lead": { + "type": "string", + "x-relation": { + "collection": "users", + "type": "single" + } + } + } +} \ No newline at end of file diff --git a/.gitapp/schemas/sprints.json b/.gitapp/schemas/sprints.json new file mode 100644 index 0000000..ec2191e --- /dev/null +++ b/.gitapp/schemas/sprints.json @@ -0,0 +1,34 @@ +{ + "$id": "sprints", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "name", + "startDate", + "endDate" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "startDate": { + "type": "string", + "format": "date" + }, + "endDate": { + "type": "string", + "format": "date" + }, + "goal": { + "type": "string" + }, + "project": { + "type": "string", + "x-relation": { + "collection": "projects", + "type": "single" + } + } + } +} \ No newline at end of file diff --git a/.gitapp/schemas/users.json b/.gitapp/schemas/users.json new file mode 100644 index 0000000..7047b19 --- /dev/null +++ b/.gitapp/schemas/users.json @@ -0,0 +1,32 @@ +{ + "$id": "users", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "required": [ + "name", + "email" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "email": { + "type": "string", + "format": "email" + }, + "avatar": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "admin", + "developer", + "designer", + "qa", + "pm" + ] + } + } +} \ No newline at end of file diff --git a/collections/comments/.gitkeep b/collections/comments/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/collections/issues/.gitkeep b/collections/issues/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/collections/labels/.gitkeep b/collections/labels/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/collections/projects/.gitkeep b/collections/projects/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/collections/sprints/.gitkeep b/collections/sprints/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/collections/users/.gitkeep b/collections/users/.gitkeep new file mode 100644 index 0000000..e69de29