From 0750c03649d6b7ae3714b766f16845e7de3e3d4e Mon Sep 17 00:00:00 2001 From: Arthur Fontaine <0arthur.fontaine@gmail.com> Date: Sat, 18 Nov 2023 23:24:15 +0100 Subject: [PATCH 1/8] feat(Alakazam): add root directory option to project object --- apps/alakazam/dbschema/default.esdl | 3 ++ .../alakazam/dbschema/migrations/00005.edgeql | 9 +++++ .../project/composables/use-project.ts | 10 ++++-- .../src/features/project/pages/project.vue | 15 ++++++++- .../server/api/project/edit-project.post.ts | 10 ++++-- .../server/handlers/project/edit-project.ts | 33 ++++++++++++++++--- .../server/handlers/project/get-project.ts | 1 + 7 files changed, 71 insertions(+), 10 deletions(-) create mode 100644 apps/alakazam/dbschema/migrations/00005.edgeql diff --git a/apps/alakazam/dbschema/default.esdl b/apps/alakazam/dbschema/default.esdl index f8a47dc..db605ed 100644 --- a/apps/alakazam/dbschema/default.esdl +++ b/apps/alakazam/dbschema/default.esdl @@ -78,6 +78,9 @@ module default { required url: str { constraint regexp(r'^https:\/\/github\.com.*$'); }; + required rootDir: str { + default := '/'; + }; single link projectSource := . { async function saveProject(data: { name?: string - repositoryUrl?: string + repository?: { + url: string + rootDir?: string + } }) { await useFetch('/api/edit-project', { method: 'POST', @@ -21,7 +24,10 @@ export const useProject = ({ id: projectId }: { id: string }) => { project: { id: projectId, name: data.name, - repositoryUrl: data.repositoryUrl, + repository: data.repository ? { + url: data.repository.url, + rootDir: data.repository.rootDir, + } : undefined, }, }, }) diff --git a/apps/alakazam/src/features/project/pages/project.vue b/apps/alakazam/src/features/project/pages/project.vue index a1cb6cc..cd73d95 100644 --- a/apps/alakazam/src/features/project/pages/project.vue +++ b/apps/alakazam/src/features/project/pages/project.vue @@ -19,12 +19,16 @@ const { repositories } = useGitHubRepositories() const editProject = { repositoryUrl: ref(), + rootDir: ref(), projectName: ref(), } const saveProject = () => _saveProject({ name: editProject.projectName.value, - repositoryUrl: editProject.repositoryUrl.value, + repository: editProject.repositoryUrl.value ? { + url: editProject.repositoryUrl.value, + rootDir: editProject.rootDir.value, + } : undefined, }) @@ -63,6 +67,15 @@ const saveProject = () => _saveProject({ @change="(value: string) => editProject.repositoryUrl.value = value" /> + + +