diff --git a/packages/backend/src/resolvers.ts b/packages/backend/src/resolvers.ts index 0d42af4..9ddfed0 100644 --- a/packages/backend/src/resolvers.ts +++ b/packages/backend/src/resolvers.ts @@ -332,10 +332,6 @@ export const createResolvers = async (service: Service): Promise => { return false; } }, - - getVersion(): string { - return service.getVersion(); - }, }, }; }; diff --git a/packages/backend/src/routes/staging.ts b/packages/backend/src/routes/staging.ts new file mode 100644 index 0000000..83ab534 --- /dev/null +++ b/packages/backend/src/routes/staging.ts @@ -0,0 +1,9 @@ +import { Router } from 'express'; + +const router = Router(); + +router.get('/version', async (req, res) => { + return res.send({ version: '0.0.2' }); +}); + +export default router; diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index b3af3ed..7aa4799 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -215,5 +215,4 @@ type Mutation { updateDomain(domainId: String!, data: UpdateDomainInput!): Boolean! authenticateGitHub(code: String!): AuthResult! unauthenticateGitHub: Boolean! - getVersion: String! } diff --git a/packages/backend/src/server.ts b/packages/backend/src/server.ts index 74f7e5e..7b00653 100644 --- a/packages/backend/src/server.ts +++ b/packages/backend/src/server.ts @@ -17,6 +17,7 @@ import { ServerConfig } from './config'; import { DEFAULT_GQL_PATH } from './constants'; import githubRouter from './routes/github'; import authRouter from './routes/auth'; +import stagingRouter from './routes/staging'; import { Service } from './service'; const log = debug('snowball:server'); @@ -109,7 +110,7 @@ export const createAndStartServer = async ( app.set('service', service); app.use('/auth', authRouter); app.use('/api/github', githubRouter); - + app.use('/staging', stagingRouter); httpServer.listen(port, host, () => { log(`Server is listening on ${host}:${port}${server.graphqlPath}`); }); diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 99bd4a0..692ee57 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -1027,8 +1027,4 @@ export class Service { ): Promise { return this.db.updateUser(user, data); } - - getVersion(): string { - return '0,0.2'; - } } diff --git a/packages/frontend/src/pages/AuthPage.tsx b/packages/frontend/src/pages/AuthPage.tsx index 68bb3a4..df298c6 100644 --- a/packages/frontend/src/pages/AuthPage.tsx +++ b/packages/frontend/src/pages/AuthPage.tsx @@ -1,7 +1,35 @@ import { CloudyFlow } from 'components/CloudyFlow'; import { SnowballAuth } from './auth/SnowballAuth'; +import { useEffect, useState } from 'react'; + +const baseUrl = import.meta.env.VITE_SERVER_URL; +const IS_STAGING = import.meta.env.VITE_IS_STAGING; const AuthPage = () => { + const [version, setVersion] = useState(''); + + async function getVersion() { + const res = await fetch(`${baseUrl}/staging/version`); + + if (res.status == 200) { + const queriedVersion = (await res.json()).version; + console.log('v: ', queriedVersion); + if (queriedVersion) { + setVersion(queriedVersion); + } + } else if (res.status === 204) { + return null; + } else { + throw new Error( + `Unexpected response from staging version endpoint: ${res.status}: ${await res.text()}`, + ); + } + } + + useEffect(() => { + getVersion(); + }, []); + return (
@@ -21,6 +49,11 @@ const AuthPage = () => {
+ {IS_STAGING == 'YES' && ( +
+ Version: {version} +
+ )}
); }; diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index dd1cb56..36d83c0 100644 --- a/packages/gql-client/dist/index.js.map +++ b/packages/gql-client/dist/index.js.map @@ -1 +1 @@ -{"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 { ApolloClient, DefaultOptions, InMemoryCache, NormalizedCacheObject } 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;\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 {\n const { data } = await this.client.query({\n query: queries.getUser\n });\n\n return data;\n }\n\n async getProject (projectId: string) : Promise {\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 (organizationSlug: string) : Promise {\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 {\n const { data } = await this.client.query({\n query: queries.getOrganizations\n });\n\n return data;\n }\n\n async getDeployments (projectId: string) : Promise {\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 (projectId: string) : Promise {\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 (projectId: string) : Promise {\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 (projectId: string, data: types.AddProjectMemberInput) : Promise {\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 (projectMemberId: string, data: types.UpdateProjectMemberInput): Promise {\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 (projectMemberId: string): Promise {\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 (searchText: string) : Promise {\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 (projectId: string, data: types.AddEnvironmentVariableInput[]): Promise {\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 (environmentVariableId: string, data: types.UpdateEnvironmentVariableInput): Promise {\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 (environmentVariableId: string): Promise {\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 (deploymentId: string): Promise {\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 addProject (organizationSlug: string, data: types.AddProjectInput): Promise {\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 (projectId: string, data: types.UpdateProjectInput): Promise {\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 (domainId: string, data: types.UpdateDomainInput): Promise {\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 (deploymentId: string): Promise {\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 {\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 {\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 (projectId: string, deploymentId: string): Promise {\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 (deploymentId: string): Promise {\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 (projectId: string, data: types.AddDomainInput): Promise {\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 (projectId: string, filter?: types.FilterDomainInput): Promise {\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 (code: string): Promise {\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 {\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`\nmutation ($projectMemberId: String!) {\n removeProjectMember(projectMemberId: $projectMemberId)\n}\n`;\n\nexport const updateProjectMember = gql`\nmutation ($projectMemberId: String!, $data: UpdateProjectMemberInput) {\n updateProjectMember(projectMemberId: $projectMemberId, data: $data)\n}\n`;\n\nexport const addProjectMember = gql`\nmutation ($projectId: String!, $data: AddProjectMemberInput) {\n addProjectMember(projectId: $projectId, data: $data)\n}\n`;\n\nexport const addEnvironmentVariables = gql`\nmutation ($projectId: String!, $data: [AddEnvironmentVariableInput!]) {\n addEnvironmentVariables(projectId: $projectId, data: $data)\n}\n`;\n\nexport const updateEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!, $data: UpdateEnvironmentVariableInput!) {\n updateEnvironmentVariable(environmentVariableId: $environmentVariableId, data: $data)\n}\n`;\n\nexport const removeEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!) {\n removeEnvironmentVariable(environmentVariableId: $environmentVariableId)\n}\n`;\n\nexport const updateDeploymentToProd = gql`\nmutation ($deploymentId: String!) {\n updateDeploymentToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const addProject = gql`\nmutation ($organizationSlug: String!, $data: AddProjectInput) {\n addProject(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n}`;\n\nexport const updateProjectMutation = gql`\nmutation ($projectId: String!, $data: UpdateProjectInput) {\n updateProject(projectId: $projectId, data: $data)\n}`;\n\nexport const updateDomainMutation = gql`\nmutation ($domainId: String!, $data: UpdateDomainInput!) {\n updateDomain(domainId: $domainId, data: $data)\n}`;\n\nexport const redeployToProd = gql`\nmutation ($deploymentId: String!) {\n redeployToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteProject = gql`\nmutation ($projectId: String!) {\n deleteProject(projectId: $projectId)\n}\n`;\n\nexport const deleteDomain = gql`\nmutation ($domainId: String!) {\n deleteDomain(domainId: $domainId)\n}`;\n\nexport const rollbackDeployment = gql`\nmutation ($projectId: String! ,$deploymentId: String!) {\n rollbackDeployment(projectId: $projectId, deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteDeployment = gql`\nmutation ($deploymentId: String!) {\n deleteDeployment(deploymentId: $deploymentId)\n}\n`;\n\nexport const addDomain = gql`\nmutation ($projectId: String!, $data: AddDomainInput!) {\n addDomain(projectId: $projectId, data: $data)\n}\n`;\n\nexport const authenticateGitHub = gql`\nmutation ($code: String!) {\n authenticateGitHub(code: $code) {\n token\n }\n}`;\n\nexport const unauthenticateGitHub = gql`\nmutation {\n unauthenticateGitHub\n}`;\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 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 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"]} \ No newline at end of file +{"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;\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 {\n const { data } = await this.client.query({\n query: queries.getUser,\n });\n\n return data;\n }\n\n async getProject(projectId: string): Promise {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 addProject(\n organizationSlug: string,\n data: types.AddProjectInput\n ): Promise {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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`\nmutation ($projectMemberId: String!) {\n removeProjectMember(projectMemberId: $projectMemberId)\n}\n`;\n\nexport const updateProjectMember = gql`\nmutation ($projectMemberId: String!, $data: UpdateProjectMemberInput) {\n updateProjectMember(projectMemberId: $projectMemberId, data: $data)\n}\n`;\n\nexport const addProjectMember = gql`\nmutation ($projectId: String!, $data: AddProjectMemberInput) {\n addProjectMember(projectId: $projectId, data: $data)\n}\n`;\n\nexport const addEnvironmentVariables = gql`\nmutation ($projectId: String!, $data: [AddEnvironmentVariableInput!]) {\n addEnvironmentVariables(projectId: $projectId, data: $data)\n}\n`;\n\nexport const updateEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!, $data: UpdateEnvironmentVariableInput!) {\n updateEnvironmentVariable(environmentVariableId: $environmentVariableId, data: $data)\n}\n`;\n\nexport const removeEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!) {\n removeEnvironmentVariable(environmentVariableId: $environmentVariableId)\n}\n`;\n\nexport const updateDeploymentToProd = gql`\nmutation ($deploymentId: String!) {\n updateDeploymentToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const addProject = gql`\nmutation ($organizationSlug: String!, $data: AddProjectInput) {\n addProject(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n}`;\n\nexport const updateProjectMutation = gql`\nmutation ($projectId: String!, $data: UpdateProjectInput) {\n updateProject(projectId: $projectId, data: $data)\n}`;\n\nexport const updateDomainMutation = gql`\nmutation ($domainId: String!, $data: UpdateDomainInput!) {\n updateDomain(domainId: $domainId, data: $data)\n}`;\n\nexport const redeployToProd = gql`\nmutation ($deploymentId: String!) {\n redeployToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteProject = gql`\nmutation ($projectId: String!) {\n deleteProject(projectId: $projectId)\n}\n`;\n\nexport const deleteDomain = gql`\nmutation ($domainId: String!) {\n deleteDomain(domainId: $domainId)\n}`;\n\nexport const rollbackDeployment = gql`\nmutation ($projectId: String! ,$deploymentId: String!) {\n rollbackDeployment(projectId: $projectId, deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteDeployment = gql`\nmutation ($deploymentId: String!) {\n deleteDeployment(deploymentId: $deploymentId)\n}\n`;\n\nexport const addDomain = gql`\nmutation ($projectId: String!, $data: AddDomainInput!) {\n addDomain(projectId: $projectId, data: $data)\n}\n`;\n\nexport const authenticateGitHub = gql`\nmutation ($code: String!) {\n authenticateGitHub(code: $code) {\n token\n }\n}`;\n\nexport const unauthenticateGitHub = gql`\nmutation {\n unauthenticateGitHub\n}`;\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 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 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"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 766ad32..acae66b 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -20,7 +20,10 @@ var __async = (__this, __arguments, generator) => { }; // src/client.ts -import { ApolloClient, InMemoryCache } from "@apollo/client"; +import { + ApolloClient, + InMemoryCache +} from "@apollo/client"; // src/queries.ts import { gql } from "@apollo/client"; diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index ae7b2e7..edba632 100644 --- a/packages/gql-client/dist/index.mjs.map +++ b/packages/gql-client/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"sources":["../src/client.ts","../src/queries.ts","../src/mutations.ts","../src/types.ts"],"sourcesContent":["import { ApolloClient, DefaultOptions, InMemoryCache, NormalizedCacheObject } 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;\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 {\n const { data } = await this.client.query({\n query: queries.getUser\n });\n\n return data;\n }\n\n async getProject (projectId: string) : Promise {\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 (organizationSlug: string) : Promise {\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 {\n const { data } = await this.client.query({\n query: queries.getOrganizations\n });\n\n return data;\n }\n\n async getDeployments (projectId: string) : Promise {\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 (projectId: string) : Promise {\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 (projectId: string) : Promise {\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 (projectId: string, data: types.AddProjectMemberInput) : Promise {\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 (projectMemberId: string, data: types.UpdateProjectMemberInput): Promise {\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 (projectMemberId: string): Promise {\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 (searchText: string) : Promise {\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 (projectId: string, data: types.AddEnvironmentVariableInput[]): Promise {\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 (environmentVariableId: string, data: types.UpdateEnvironmentVariableInput): Promise {\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 (environmentVariableId: string): Promise {\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 (deploymentId: string): Promise {\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 addProject (organizationSlug: string, data: types.AddProjectInput): Promise {\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 (projectId: string, data: types.UpdateProjectInput): Promise {\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 (domainId: string, data: types.UpdateDomainInput): Promise {\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 (deploymentId: string): Promise {\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 {\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 {\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 (projectId: string, deploymentId: string): Promise {\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 (deploymentId: string): Promise {\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 (projectId: string, data: types.AddDomainInput): Promise {\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 (projectId: string, filter?: types.FilterDomainInput): Promise {\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 (code: string): Promise {\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 {\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`\nmutation ($projectMemberId: String!) {\n removeProjectMember(projectMemberId: $projectMemberId)\n}\n`;\n\nexport const updateProjectMember = gql`\nmutation ($projectMemberId: String!, $data: UpdateProjectMemberInput) {\n updateProjectMember(projectMemberId: $projectMemberId, data: $data)\n}\n`;\n\nexport const addProjectMember = gql`\nmutation ($projectId: String!, $data: AddProjectMemberInput) {\n addProjectMember(projectId: $projectId, data: $data)\n}\n`;\n\nexport const addEnvironmentVariables = gql`\nmutation ($projectId: String!, $data: [AddEnvironmentVariableInput!]) {\n addEnvironmentVariables(projectId: $projectId, data: $data)\n}\n`;\n\nexport const updateEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!, $data: UpdateEnvironmentVariableInput!) {\n updateEnvironmentVariable(environmentVariableId: $environmentVariableId, data: $data)\n}\n`;\n\nexport const removeEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!) {\n removeEnvironmentVariable(environmentVariableId: $environmentVariableId)\n}\n`;\n\nexport const updateDeploymentToProd = gql`\nmutation ($deploymentId: String!) {\n updateDeploymentToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const addProject = gql`\nmutation ($organizationSlug: String!, $data: AddProjectInput) {\n addProject(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n}`;\n\nexport const updateProjectMutation = gql`\nmutation ($projectId: String!, $data: UpdateProjectInput) {\n updateProject(projectId: $projectId, data: $data)\n}`;\n\nexport const updateDomainMutation = gql`\nmutation ($domainId: String!, $data: UpdateDomainInput!) {\n updateDomain(domainId: $domainId, data: $data)\n}`;\n\nexport const redeployToProd = gql`\nmutation ($deploymentId: String!) {\n redeployToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteProject = gql`\nmutation ($projectId: String!) {\n deleteProject(projectId: $projectId)\n}\n`;\n\nexport const deleteDomain = gql`\nmutation ($domainId: String!) {\n deleteDomain(domainId: $domainId)\n}`;\n\nexport const rollbackDeployment = gql`\nmutation ($projectId: String! ,$deploymentId: String!) {\n rollbackDeployment(projectId: $projectId, deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteDeployment = gql`\nmutation ($deploymentId: String!) {\n deleteDeployment(deploymentId: $deploymentId)\n}\n`;\n\nexport const addDomain = gql`\nmutation ($projectId: String!, $data: AddDomainInput!) {\n addDomain(projectId: $projectId, data: $data)\n}\n`;\n\nexport const authenticateGitHub = gql`\nmutation ($code: String!) {\n authenticateGitHub(code: $code) {\n token\n }\n}`;\n\nexport const unauthenticateGitHub = gql`\nmutation {\n unauthenticateGitHub\n}`;\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 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 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":["gql","Role","Permission","Environment","DeploymentStatus","DomainStatus"]} \ No newline at end of file +{"version":3,"sources":["../src/client.ts","../src/queries.ts","../src/mutations.ts","../src/types.ts"],"sourcesContent":["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;\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 {\n const { data } = await this.client.query({\n query: queries.getUser,\n });\n\n return data;\n }\n\n async getProject(projectId: string): Promise {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 addProject(\n organizationSlug: string,\n data: types.AddProjectInput\n ): Promise {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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 {\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`\nmutation ($projectMemberId: String!) {\n removeProjectMember(projectMemberId: $projectMemberId)\n}\n`;\n\nexport const updateProjectMember = gql`\nmutation ($projectMemberId: String!, $data: UpdateProjectMemberInput) {\n updateProjectMember(projectMemberId: $projectMemberId, data: $data)\n}\n`;\n\nexport const addProjectMember = gql`\nmutation ($projectId: String!, $data: AddProjectMemberInput) {\n addProjectMember(projectId: $projectId, data: $data)\n}\n`;\n\nexport const addEnvironmentVariables = gql`\nmutation ($projectId: String!, $data: [AddEnvironmentVariableInput!]) {\n addEnvironmentVariables(projectId: $projectId, data: $data)\n}\n`;\n\nexport const updateEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!, $data: UpdateEnvironmentVariableInput!) {\n updateEnvironmentVariable(environmentVariableId: $environmentVariableId, data: $data)\n}\n`;\n\nexport const removeEnvironmentVariable = gql`\nmutation ($environmentVariableId: String!) {\n removeEnvironmentVariable(environmentVariableId: $environmentVariableId)\n}\n`;\n\nexport const updateDeploymentToProd = gql`\nmutation ($deploymentId: String!) {\n updateDeploymentToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const addProject = gql`\nmutation ($organizationSlug: String!, $data: AddProjectInput) {\n addProject(organizationSlug: $organizationSlug, data: $data) {\n id\n }\n}`;\n\nexport const updateProjectMutation = gql`\nmutation ($projectId: String!, $data: UpdateProjectInput) {\n updateProject(projectId: $projectId, data: $data)\n}`;\n\nexport const updateDomainMutation = gql`\nmutation ($domainId: String!, $data: UpdateDomainInput!) {\n updateDomain(domainId: $domainId, data: $data)\n}`;\n\nexport const redeployToProd = gql`\nmutation ($deploymentId: String!) {\n redeployToProd(deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteProject = gql`\nmutation ($projectId: String!) {\n deleteProject(projectId: $projectId)\n}\n`;\n\nexport const deleteDomain = gql`\nmutation ($domainId: String!) {\n deleteDomain(domainId: $domainId)\n}`;\n\nexport const rollbackDeployment = gql`\nmutation ($projectId: String! ,$deploymentId: String!) {\n rollbackDeployment(projectId: $projectId, deploymentId: $deploymentId)\n}\n`;\n\nexport const deleteDeployment = gql`\nmutation ($deploymentId: String!) {\n deleteDeployment(deploymentId: $deploymentId)\n}\n`;\n\nexport const addDomain = gql`\nmutation ($projectId: String!, $data: AddDomainInput!) {\n addDomain(projectId: $projectId, data: $data)\n}\n`;\n\nexport const authenticateGitHub = gql`\nmutation ($code: String!) {\n authenticateGitHub(code: $code) {\n token\n }\n}`;\n\nexport const unauthenticateGitHub = gql`\nmutation {\n unauthenticateGitHub\n}`;\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 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 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":["gql","Role","Permission","Environment","DeploymentStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/client.ts b/packages/gql-client/src/client.ts index f238869..00f3b2b 100644 --- a/packages/gql-client/src/client.ts +++ b/packages/gql-client/src/client.ts @@ -1,8 +1,13 @@ -import { ApolloClient, DefaultOptions, InMemoryCache, NormalizedCacheObject } from '@apollo/client'; +import { + ApolloClient, + DefaultOptions, + InMemoryCache, + NormalizedCacheObject, +} from "@apollo/client"; -import * as queries from './queries'; -import * as types from './types'; -import * as mutations from './mutations'; +import * as queries from "./queries"; +import * as types from "./types"; +import * as mutations from "./mutations"; export interface GraphQLConfig { gqlEndpoint: string; @@ -11,320 +16,372 @@ export interface GraphQLConfig { // TODO: check options const defaultOptions: DefaultOptions = { watchQuery: { - fetchPolicy: 'no-cache', - errorPolicy: 'ignore' + fetchPolicy: "no-cache", + errorPolicy: "ignore", }, query: { - fetchPolicy: 'no-cache', - errorPolicy: 'all' - } + fetchPolicy: "no-cache", + errorPolicy: "all", + }, }; export class GQLClient { private client: ApolloClient; - constructor (config: GraphQLConfig) { + constructor(config: GraphQLConfig) { this.client = new ApolloClient({ uri: config.gqlEndpoint, cache: new InMemoryCache(), defaultOptions, - credentials: 'include' + credentials: "include", }); } - async getUser () : Promise { + async getUser(): Promise { const { data } = await this.client.query({ - query: queries.getUser + query: queries.getUser, }); return data; } - async getProject (projectId: string) : Promise { + async getProject(projectId: string): Promise { const { data } = await this.client.query({ query: queries.getProject, variables: { - projectId - } + projectId, + }, }); return data; } - async getProjectsInOrganization (organizationSlug: string) : Promise { + async getProjectsInOrganization( + organizationSlug: string + ): Promise { const { data } = await this.client.query({ query: queries.getProjectsInOrganization, variables: { - organizationSlug - } + organizationSlug, + }, }); return data; } - async getOrganizations () : Promise { + async getOrganizations(): Promise { const { data } = await this.client.query({ - query: queries.getOrganizations + query: queries.getOrganizations, }); return data; } - async getDeployments (projectId: string) : Promise { + async getDeployments( + projectId: string + ): Promise { const { data } = await this.client.query({ query: queries.getDeployments, variables: { - projectId - } + projectId, + }, }); return data; } - async getEnvironmentVariables (projectId: string) : Promise { + async getEnvironmentVariables( + projectId: string + ): Promise { const { data } = await this.client.query({ query: queries.getEnvironmentVariables, variables: { - projectId - } + projectId, + }, }); return data; } - async getProjectMembers (projectId: string) : Promise { + async getProjectMembers( + projectId: string + ): Promise { const result = await this.client.query({ query: queries.getProjectMembers, variables: { - projectId - } + projectId, + }, }); return result.data; } - async addProjectMember (projectId: string, data: types.AddProjectMemberInput) : Promise { + async addProjectMember( + projectId: string, + data: types.AddProjectMemberInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.addProjectMember, variables: { projectId, - data - } + data, + }, }); return result.data; } - async updateProjectMember (projectMemberId: string, data: types.UpdateProjectMemberInput): Promise { + async updateProjectMember( + projectMemberId: string, + data: types.UpdateProjectMemberInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.updateProjectMember, variables: { projectMemberId, - data - } + data, + }, }); return result.data; } - async removeProjectMember (projectMemberId: string): Promise { + async removeProjectMember( + projectMemberId: string + ): Promise { const result = await this.client.mutate({ mutation: mutations.removeProjectMember, variables: { - projectMemberId - } + projectMemberId, + }, }); return result.data; } - async searchProjects (searchText: string) : Promise { + async searchProjects( + searchText: string + ): Promise { const { data } = await this.client.query({ query: queries.searchProjects, variables: { - searchText - } + searchText, + }, }); return data; } - async addEnvironmentVariables (projectId: string, data: types.AddEnvironmentVariableInput[]): Promise { + async addEnvironmentVariables( + projectId: string, + data: types.AddEnvironmentVariableInput[] + ): Promise { const result = await this.client.mutate({ mutation: mutations.addEnvironmentVariables, variables: { projectId, - data - } + data, + }, }); return result.data; } - async updateEnvironmentVariable (environmentVariableId: string, data: types.UpdateEnvironmentVariableInput): Promise { + async updateEnvironmentVariable( + environmentVariableId: string, + data: types.UpdateEnvironmentVariableInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.updateEnvironmentVariable, variables: { environmentVariableId, - data - } + data, + }, }); return result.data; } - async removeEnvironmentVariable (environmentVariableId: string): Promise { + async removeEnvironmentVariable( + environmentVariableId: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.removeEnvironmentVariable, variables: { - environmentVariableId - } + environmentVariableId, + }, }); return data; } - async updateDeploymentToProd (deploymentId: string): Promise { + async updateDeploymentToProd( + deploymentId: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.updateDeploymentToProd, variables: { - deploymentId - } + deploymentId, + }, }); return data; } - async addProject (organizationSlug: string, data: types.AddProjectInput): Promise { + async addProject( + organizationSlug: string, + data: types.AddProjectInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.addProject, variables: { organizationSlug, - data - } + data, + }, }); return result.data; } - async updateProject (projectId: string, data: types.UpdateProjectInput): Promise { + async updateProject( + projectId: string, + data: types.UpdateProjectInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.updateProjectMutation, variables: { projectId, - data - } + data, + }, }); return result.data; } - async updateDomain (domainId: string, data: types.UpdateDomainInput): Promise { + async updateDomain( + domainId: string, + data: types.UpdateDomainInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.updateDomainMutation, variables: { domainId, - data - } + data, + }, }); return result.data; } - async redeployToProd (deploymentId: string): Promise { + async redeployToProd( + deploymentId: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.redeployToProd, variables: { - deploymentId - } + deploymentId, + }, }); return data; } - async deleteProject (projectId: string): Promise { + async deleteProject(projectId: string): Promise { const { data } = await this.client.mutate({ mutation: mutations.deleteProject, variables: { - projectId - } + projectId, + }, }); return data; } - async deleteDomain (domainId: string): Promise { + async deleteDomain(domainId: string): Promise { const { data } = await this.client.mutate({ mutation: mutations.deleteDomain, variables: { - domainId - } + domainId, + }, }); return data; } - async rollbackDeployment (projectId: string, deploymentId: string): Promise { + async rollbackDeployment( + projectId: string, + deploymentId: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.rollbackDeployment, variables: { projectId, - deploymentId - } + deploymentId, + }, }); return data; } - async deleteDeployment (deploymentId: string): Promise { + async deleteDeployment( + deploymentId: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.deleteDeployment, variables: { - deploymentId - } + deploymentId, + }, }); return data; } - async addDomain (projectId: string, data: types.AddDomainInput): Promise { + async addDomain( + projectId: string, + data: types.AddDomainInput + ): Promise { const result = await this.client.mutate({ mutation: mutations.addDomain, variables: { projectId, - data - } + data, + }, }); return result.data; } - async getDomains (projectId: string, filter?: types.FilterDomainInput): Promise { + async getDomains( + projectId: string, + filter?: types.FilterDomainInput + ): Promise { const { data } = await this.client.query({ query: queries.getDomains, variables: { projectId, - filter - } + filter, + }, }); return data; } - async authenticateGitHub (code: string): Promise { + async authenticateGitHub( + code: string + ): Promise { const { data } = await this.client.mutate({ mutation: mutations.authenticateGitHub, variables: { - code - } + code, + }, }); return data; } - async unauthenticateGithub (): Promise { + async unauthenticateGithub(): Promise { const { data } = await this.client.mutate({ - mutation: mutations.unauthenticateGitHub + mutation: mutations.unauthenticateGitHub, }); return data;