mirror of
https://github.com/snowball-tools/snowballtools-base.git
synced 2024-12-23 05:07:44 +00:00
a684743bd6
### TL;DR - Still cretaes app if user migrates from page The PR introduces a new `AddProjectFromTemplate` mutation to facilitate project creation using a repository template. This change centralizes the template project creation logic within the backend, improving code maintainability by removing redundant client-side code. ### What changed? - Added `AddProjectFromTemplate` input type in `schema.gql` and corresponding TypeScript interfaces. - Implemented `addProjectFromTemplate` resolver with error handling and Octokit integration for repository creation. - Updated `service.ts` to include the new `addProjectFromTemplate` method. - Created new GraphQL `Mutation` for `addProjectFromTemplate` in the GraphQL schema. - Adjusted the client-side GQLClient to support the new mutation. - Modified frontend to utilize the new backend mutation for project creation from a template. ### How to test? 1. Ensure your backend server is running. 2. Use a GraphQL client like Postman to call the `addProjectFromTemplate` mutation with appropriate input. 3. Verify that the new project is created using the specified template, and appropriate error messages are returned for failures. 4. Check the frontend flow for creating a project from a template to ensure it is working correctly. ### Why make this change? This change enhances code maintainability by centralizing template project creation logic within the backend, thereby reducing redundancy and potential inconsistencies in client-side implementations. ---
1 line
29 KiB
Plaintext
1 line
29 KiB
Plaintext
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/queries.ts","../src/mutations.ts","../src/types.ts"],"sourcesContent":["export * from \"./client\";\nexport * from \"./types\";\n","import {\n ApolloClient,\n DefaultOptions,\n InMemoryCache,\n NormalizedCacheObject,\n} from \"@apollo/client\";\n\nimport * as queries from \"./queries\";\nimport * as types from \"./types\";\nimport * as mutations from \"./mutations\";\n\nexport interface GraphQLConfig {\n gqlEndpoint: string;\n}\n\n// TODO: check options\nconst defaultOptions: DefaultOptions = {\n watchQuery: {\n fetchPolicy: \"no-cache\",\n errorPolicy: \"ignore\",\n },\n query: {\n fetchPolicy: \"no-cache\",\n errorPolicy: \"all\",\n },\n};\n\nexport class GQLClient {\n private client: ApolloClient<NormalizedCacheObject>;\n\n constructor(config: GraphQLConfig) {\n this.client = new ApolloClient({\n uri: config.gqlEndpoint,\n cache: new InMemoryCache(),\n defaultOptions,\n credentials: \"include\",\n });\n }\n\n async getUser(): Promise<types.GetUserResponse> {\n const { data } = await this.client.query({\n query: queries.getUser,\n });\n\n return data;\n }\n\n async getProject(projectId: string): Promise<types.GetProjectResponse> {\n const { data } = await this.client.query({\n query: queries.getProject,\n variables: {\n projectId,\n },\n });\n\n return data;\n }\n\n async getProjectsInOrganization(\n organizationSlug: string\n ): Promise<types.GetProjectsInOrganizationResponse> {\n const { data } = await this.client.query({\n query: queries.getProjectsInOrganization,\n variables: {\n organizationSlug,\n },\n });\n\n return data;\n }\n\n async getOrganizations(): Promise<types.GetOrganizationsResponse> {\n const { data } = await this.client.query({\n query: queries.getOrganizations,\n });\n\n return data;\n }\n\n async getDeployments(\n projectId: string\n ): Promise<types.GetDeploymentsResponse> {\n const { data } = await this.client.query({\n query: queries.getDeployments,\n variables: {\n projectId,\n },\n });\n\n return data;\n }\n\n async getEnvironmentVariables(\n projectId: string\n ): Promise<types.GetEnvironmentVariablesResponse> {\n const { data } = await this.client.query({\n query: queries.getEnvironmentVariables,\n variables: {\n projectId,\n },\n });\n\n return data;\n }\n\n async getProjectMembers(\n projectId: string\n ): Promise<types.GetProjectMembersResponse> {\n const result = await this.client.query({\n query: queries.getProjectMembers,\n variables: {\n projectId,\n },\n });\n\n return result.data;\n }\n\n async addProjectMember(\n projectId: string,\n data: types.AddProjectMemberInput\n ): Promise<types.AddProjectMemberResponse> {\n const result = await this.client.mutate({\n mutation: mutations.addProjectMember,\n variables: {\n projectId,\n data,\n },\n });\n\n return result.data;\n }\n\n async updateProjectMember(\n projectMemberId: string,\n data: types.UpdateProjectMemberInput\n ): Promise<types.UpdateProjectMemberResponse> {\n const result = await this.client.mutate({\n mutation: mutations.updateProjectMember,\n variables: {\n projectMemberId,\n data,\n },\n });\n\n return result.data;\n }\n\n async removeProjectMember(\n projectMemberId: string\n ): Promise<types.RemoveProjectMemberResponse> {\n const result = await this.client.mutate({\n mutation: mutations.removeProjectMember,\n variables: {\n projectMemberId,\n },\n });\n\n return result.data;\n }\n\n async searchProjects(\n searchText: string\n ): Promise<types.SearchProjectsResponse> {\n const { data } = await this.client.query({\n query: queries.searchProjects,\n variables: {\n searchText,\n },\n });\n\n return data;\n }\n\n async addEnvironmentVariables(\n projectId: string,\n data: types.AddEnvironmentVariableInput[]\n ): Promise<types.AddEnvironmentVariablesResponse> {\n const result = await this.client.mutate({\n mutation: mutations.addEnvironmentVariables,\n variables: {\n projectId,\n data,\n },\n });\n\n return result.data;\n }\n\n async updateEnvironmentVariable(\n environmentVariableId: string,\n data: types.UpdateEnvironmentVariableInput\n ): Promise<types.UpdateEnvironmentVariableResponse> {\n const result = await this.client.mutate({\n mutation: mutations.updateEnvironmentVariable,\n variables: {\n environmentVariableId,\n data,\n },\n });\n\n return result.data;\n }\n\n async removeEnvironmentVariable(\n environmentVariableId: string\n ): Promise<types.RemoveEnvironmentVariableResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.removeEnvironmentVariable,\n variables: {\n environmentVariableId,\n },\n });\n\n return data;\n }\n\n async updateDeploymentToProd(\n deploymentId: string\n ): Promise<types.UpdateDeploymentToProdResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.updateDeploymentToProd,\n variables: {\n deploymentId,\n },\n });\n\n return data;\n }\n\n async addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput\n ): Promise<types.AddProjectFromTemplateResponse> {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput\n ): Promise<types.AddProjectResponse> {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n },\n });\n\n return result.data;\n }\n\n async updateProject(\n projectId: string,\n data: types.UpdateProjectInput\n ): Promise<types.UpdateProjectResponse> {\n const result = await this.client.mutate({\n mutation: mutations.updateProjectMutation,\n variables: {\n projectId,\n data,\n },\n });\n\n return result.data;\n }\n\n async updateDomain(\n domainId: string,\n data: types.UpdateDomainInput\n ): Promise<types.UpdateDomainResponse> {\n const result = await this.client.mutate({\n mutation: mutations.updateDomainMutation,\n variables: {\n domainId,\n data,\n },\n });\n\n return result.data;\n }\n\n async redeployToProd(\n deploymentId: string\n ): Promise<types.RedeployToProdResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.redeployToProd,\n variables: {\n deploymentId,\n },\n });\n\n return data;\n }\n\n async deleteProject(projectId: string): Promise<types.DeleteProjectResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.deleteProject,\n variables: {\n projectId,\n },\n });\n\n return data;\n }\n\n async deleteDomain(domainId: string): Promise<types.DeleteDomainResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.deleteDomain,\n variables: {\n domainId,\n },\n });\n\n return data;\n }\n\n async rollbackDeployment(\n projectId: string,\n deploymentId: string\n ): Promise<types.RollbackDeploymentResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.rollbackDeployment,\n variables: {\n projectId,\n deploymentId,\n },\n });\n\n return data;\n }\n\n async deleteDeployment(\n deploymentId: string\n ): Promise<types.DeleteDeploymentResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.deleteDeployment,\n variables: {\n deploymentId,\n },\n });\n\n return data;\n }\n\n async addDomain(\n projectId: string,\n data: types.AddDomainInput\n ): Promise<types.AddDomainResponse> {\n const result = await this.client.mutate({\n mutation: mutations.addDomain,\n variables: {\n projectId,\n data,\n },\n });\n\n return result.data;\n }\n\n async getDomains(\n projectId: string,\n filter?: types.FilterDomainInput\n ): Promise<types.GetDomainsResponse> {\n const { data } = await this.client.query({\n query: queries.getDomains,\n variables: {\n projectId,\n filter,\n },\n });\n\n return data;\n }\n\n async authenticateGitHub(\n code: string\n ): Promise<types.AuthenticateGitHubResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.authenticateGitHub,\n variables: {\n code,\n },\n });\n\n return data;\n }\n\n async unauthenticateGithub(): Promise<types.UnauthenticateGitHubResponse> {\n const { data } = await this.client.mutate({\n mutation: mutations.unauthenticateGitHub,\n });\n\n return data;\n }\n}\n","import { gql } from '@apollo/client';\n\nexport const getUser = gql`\nquery {\n user {\n id\n name\n email\n createdAt\n updatedAt\n gitHubToken\n }\n}\n`;\n\nexport const getProject = gql`\nquery ($projectId: String!) {\n project(projectId: $projectId) {\n createdAt\n description\n id\n name\n template\n updatedAt\n prodBranch\n framework\n repository\n webhooks\n icon\n subDomain\n organization {\n id\n name\n }\n owner {\n id\n name\n email\n }\n deployments {\n id\n branch\n isCurrent\n status\n updatedAt\n commitHash\n createdAt\n environment\n domain {\n status\n branch\n createdAt\n updatedAt\n id\n name\n }\n createdBy {\n id\n name\n }\n }\n }\n}\n`;\n\nexport const getProjectsInOrganization = gql`\nquery ($organizationSlug: String!) {\n projectsInOrganization(organizationSlug: $organizationSlug) {\n id\n name\n createdAt\n description\n framework\n prodBranch\n webhooks\n repository\n updatedAt\n icon\n subDomain\n deployments {\n id\n branch\n isCurrent\n status\n updatedAt\n commitHash\n commitMessage\n createdAt\n environment\n domain {\n status\n branch\n createdAt\n updatedAt\n id\n name\n }\n }\n }\n}\n`;\n\nexport const getOrganizations = gql`\nquery {\n organizations {\n id\n name\n slug\n createdAt\n updatedAt\n }\n}\n`;\n\nexport const getDeployments = gql`\nquery ($projectId: String!) {\n deployments(projectId: $projectId) {\n id\n domain{\n branch\n createdAt\n id\n name\n status\n updatedAt\n }\n branch\n commitHash\n commitMessage\n url\n environment\n isCurrent\n status\n createdAt\n updatedAt\n createdBy {\n id\n name\n email\n }\n }\n}\n`;\n\nexport const getEnvironmentVariables = gql`\nquery ($projectId: String!) {\n environmentVariables(projectId: $projectId) {\n createdAt\n environment\n id\n key\n updatedAt\n value\n }\n}\n`;\n\nexport const getProjectMembers = gql`\nquery ($projectId: String!) {\n projectMembers(projectId: $projectId) {\n id\n member {\n id\n name\n email\n isVerified\n }\n isPending\n createdAt\n updatedAt\n permissions\n }\n}\n`;\n\nexport const searchProjects = gql`\nquery ($searchText: String!) {\n searchProjects(searchText: $searchText) {\n id\n name\n prodBranch\n repository\n createdAt\n description\n framework\n prodBranch\n webhooks\n updatedAt\n template\n repository\n organization {\n id\n name\n slug\n createdAt\n updatedAt\n }\n }\n}\n`;\n\nexport const getDomains = gql`\nquery ($projectId: String!, $filter: FilterDomainsInput) {\n domains(projectId: $projectId, filter: $filter) {\n branch\n createdAt\n redirectTo {\n id\n name\n branch\n status\n }\n id\n name\n status\n updatedAt\n }\n}\n`;\n","import { gql } from \"@apollo/client\";\n\nexport const removeProjectMember = gql`\n mutation ($projectMemberId: String!) {\n removeProjectMember(projectMemberId: $projectMemberId)\n }\n`;\n\nexport const updateProjectMember = gql`\n mutation ($projectMemberId: String!, $data: UpdateProjectMemberInput) {\n updateProjectMember(projectMemberId: $projectMemberId, data: $data)\n }\n`;\n\nexport const addProjectMember = gql`\n mutation ($projectId: String!, $data: AddProjectMemberInput) {\n addProjectMember(projectId: $projectId, data: $data)\n }\n`;\n\nexport const addEnvironmentVariables = gql`\n mutation ($projectId: String!, $data: [AddEnvironmentVariableInput!]) {\n addEnvironmentVariables(projectId: $projectId, data: $data)\n }\n`;\n\nexport const updateEnvironmentVariable = gql`\n mutation (\n $environmentVariableId: String!\n $data: UpdateEnvironmentVariableInput!\n ) {\n updateEnvironmentVariable(\n environmentVariableId: $environmentVariableId\n data: $data\n )\n }\n`;\n\nexport const removeEnvironmentVariable = gql`\n mutation ($environmentVariableId: String!) {\n removeEnvironmentVariable(environmentVariableId: $environmentVariableId)\n }\n`;\n\nexport const updateDeploymentToProd = gql`\n mutation ($deploymentId: String!) {\n updateDeploymentToProd(deploymentId: $deploymentId)\n }\n`;\n\nexport const addProjectFromTemplate = gql`\n mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput) {\n addProject(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n }\n`;\n\nexport const updateProjectMutation = gql`\n mutation ($projectId: String!, $data: UpdateProjectInput) {\n updateProject(projectId: $projectId, data: $data)\n }\n`;\n\nexport const updateDomainMutation = gql`\n mutation ($domainId: String!, $data: UpdateDomainInput!) {\n updateDomain(domainId: $domainId, data: $data)\n }\n`;\n\nexport const redeployToProd = gql`\n mutation ($deploymentId: String!) {\n redeployToProd(deploymentId: $deploymentId)\n }\n`;\n\nexport const deleteProject = gql`\n mutation ($projectId: String!) {\n deleteProject(projectId: $projectId)\n }\n`;\n\nexport const deleteDomain = gql`\n mutation ($domainId: String!) {\n deleteDomain(domainId: $domainId)\n }\n`;\n\nexport const rollbackDeployment = gql`\n mutation ($projectId: String!, $deploymentId: String!) {\n rollbackDeployment(projectId: $projectId, deploymentId: $deploymentId)\n }\n`;\n\nexport const deleteDeployment = gql`\n mutation ($deploymentId: String!) {\n deleteDeployment(deploymentId: $deploymentId)\n }\n`;\n\nexport const addDomain = gql`\n mutation ($projectId: String!, $data: AddDomainInput!) {\n addDomain(projectId: $projectId, data: $data)\n }\n`;\n\nexport const authenticateGitHub = gql`\n mutation ($code: String!) {\n authenticateGitHub(code: $code) {\n token\n }\n }\n`;\n\nexport const unauthenticateGitHub = gql`\n mutation {\n unauthenticateGitHub\n }\n`;\n","import { addProjectFromTemplate } from \"./mutations\";\n// Note: equivalent to types present in GQL schema\n\nexport enum Role {\n Owner = \"Owner\",\n Maintainer = \"Maintainer\",\n Reader = \"Reader\",\n}\n\nexport enum Permission {\n View = \"View\",\n Edit = \"Edit\",\n}\n\nexport enum Environment {\n Production = \"Production\",\n Preview = \"Preview\",\n Development = \"Development\",\n}\n\nexport enum DeploymentStatus {\n Building = \"Building\",\n Ready = \"Ready\",\n Error = \"Error\",\n Deleting = \"Deleting\",\n}\n\nexport enum DomainStatus {\n Live = \"Live\",\n Pending = \"Pending\",\n}\n\nexport type EnvironmentVariable = {\n id: string;\n environment: Environment;\n key: string;\n value: string;\n createdAt: string;\n updatedAt: string;\n};\n\nexport type Domain = {\n id: string;\n branch: string;\n name: string;\n status: DomainStatus;\n redirectTo: Domain | null;\n createdAt: string;\n updatedAt: string;\n};\n\nexport type User = {\n id: string;\n name: string | null;\n email: string;\n isVerified: boolean;\n createdAt: string;\n updatedAt: string;\n gitHubToken: string | null;\n};\n\nexport type Deployment = {\n id: string;\n domain: Domain;\n branch: string;\n commitHash: string;\n commitMessage: string;\n url?: string;\n environment: Environment;\n isCurrent: boolean;\n status: DeploymentStatus;\n createdBy: User;\n createdAt: string;\n updatedAt: string;\n};\n\nexport type OrganizationMember = {\n id: string;\n member: User;\n role: Role;\n createdAt: string;\n updatedAt: string;\n};\n\nexport type ProjectMember = {\n id: string;\n member: User;\n permissions: Permission[];\n isPending: boolean;\n createdAt: string;\n updatedAt: string;\n};\n\nexport type OrganizationProject = {\n id: string;\n owner: User;\n deployments: Deployment[];\n name: string;\n repository: string;\n prodBranch: string;\n description: string;\n template: string;\n framework: string;\n webhooks: string[];\n members: ProjectMember[];\n environmentVariables: EnvironmentVariable[];\n createdAt: string;\n updatedAt: string;\n};\n\nexport type Organization = {\n id: string;\n name: string;\n slug: string;\n projects: OrganizationProject[];\n createdAt: string;\n updatedAt: string;\n members: OrganizationMember[];\n};\n\nexport type Project = {\n id: string;\n owner: User;\n deployments: Deployment[];\n name: string;\n repository: string;\n prodBranch: string;\n description: string;\n template: string;\n framework: string;\n webhooks: string[];\n members: ProjectMember[];\n environmentVariables: EnvironmentVariable[];\n createdAt: string;\n updatedAt: string;\n organization: Organization;\n icon: string;\n subDomain: string;\n};\n\nexport type GetProjectMembersResponse = {\n projectMembers: ProjectMember[];\n};\n\nexport type AddProjectMemberResponse = {\n addProjectMember: boolean;\n};\n\nexport type RemoveProjectMemberResponse = {\n removeProjectMember: boolean;\n};\n\nexport type UpdateProjectMemberResponse = {\n updateProjectMember: boolean;\n};\n\nexport type GetDeploymentsResponse = {\n deployments: Deployment[];\n};\n\nexport type GetEnvironmentVariablesResponse = {\n environmentVariables: EnvironmentVariable[];\n};\n\nexport type GetOrganizationsResponse = {\n organizations: Organization[];\n};\n\nexport type GetUserResponse = {\n user: User;\n};\n\nexport type GetProjectResponse = {\n project: Project | null;\n};\n\nexport type GetProjectsInOrganizationResponse = {\n projectsInOrganization: Project[];\n};\n\nexport type GetDomainsResponse = {\n domains: Domain[];\n};\n\nexport type SearchProjectsResponse = {\n searchProjects: Project[];\n};\n\nexport type AddEnvironmentVariablesResponse = {\n addEnvironmentVariables: boolean;\n};\n\nexport type AddEnvironmentVariableInput = {\n environments: string[];\n key: string;\n value: string;\n};\n\nexport type UpdateEnvironmentVariableInput = {\n key: string;\n value: string;\n};\n\nexport type UpdateProjectMemberInput = {\n permissions: Permission[];\n};\n\nexport type AddProjectMemberInput = {\n email: string;\n permissions: Permission[];\n};\n\nexport type UpdateEnvironmentVariableResponse = {\n updateEnvironmentVariable: boolean;\n};\n\nexport type RemoveEnvironmentVariableResponse = {\n removeEnvironmentVariable: boolean;\n};\n\nexport type UpdateDeploymentToProdResponse = {\n updateDeploymentToProd: boolean;\n};\n\nexport type AddProjectFromTemplateResponse = {\n addProjectFromTemplate: Project;\n};\n\nexport type AddProjectResponse = {\n addProject: Project;\n};\n\nexport type UpdateProjectResponse = {\n updateProject: boolean;\n};\n\nexport type UpdateDomainResponse = {\n updateDomain: boolean;\n};\n\nexport type DeleteProjectResponse = {\n deleteProject: boolean;\n};\n\nexport type DeleteDomainResponse = {\n deleteDomain: boolean;\n};\n\nexport type AddProjectFromTemplateInput = {\n templateOwner: string;\n templateRepo: string;\n owner: string;\n name: string;\n isPrivate: boolean;\n};\n\nexport type AddProjectInput = {\n name: string;\n repository: string;\n prodBranch: string;\n template?: string;\n};\n\nexport type UpdateProjectInput = {\n name?: string;\n description?: string;\n prodBranch?: string;\n webhooks?: string[];\n organizationId?: string;\n};\n\nexport type UpdateDomainInput = {\n name?: string;\n branch?: string;\n redirectToId?: string | null;\n};\n\nexport type RedeployToProdResponse = {\n redeployToProd: boolean;\n};\n\nexport type RollbackDeploymentResponse = {\n rollbackDeployment: boolean;\n};\n\nexport type DeleteDeploymentResponse = {\n deleteDeployment: boolean;\n};\n\nexport type AddDomainInput = {\n name: string;\n};\n\nexport type FilterDomainInput = {\n branch?: string;\n status?: DomainStatus;\n};\n\nexport type AddDomainResponse = {\n addDomain: true;\n};\n\nexport type AuthenticateGitHubResponse = {\n authenticateGitHub: {\n token: string;\n };\n};\n\nexport type UnauthenticateGitHubResponse = {\n unauthenticateGitHub: boolean;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","DomainStatus"]} |