From d77e41f796a917382f651e9c328249fbb1f682a0 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 3 Oct 2024 16:50:47 +0530 Subject: [PATCH 01/42] Add back-end function to create deployment with auction --- packages/backend/src/entity/Deployment.ts | 12 +- packages/backend/src/registry.ts | 96 +++++++++++++- packages/backend/src/service.ts | 147 +++++++++++++++++++++- packages/backend/src/types.ts | 10 ++ 4 files changed, 254 insertions(+), 11 deletions(-) diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index 4535ea27..3e3caaa6 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -28,6 +28,12 @@ export enum DeploymentStatus { Deleting = 'Deleting', } +export interface ApplicationDeploymentAuction { + application: string; + auction: string; + type: string; +} + export interface ApplicationDeploymentRequest { type: string; version: string; @@ -112,13 +118,13 @@ export class Deployment { @Column('simple-json', { nullable: true }) applicationDeploymentRecordData!: AppDeploymentRecordAttributes | null; - + @Column('varchar', { nullable: true }) applicationDeploymentRemovalRequestId!: string | null; @Column('simple-json', { nullable: true }) applicationDeploymentRemovalRequestData!: ApplicationDeploymentRemovalRequest | null; - + @Column('varchar', { nullable: true }) applicationDeploymentRemovalRecordId!: string | null; @@ -147,7 +153,7 @@ export class Deployment { @UpdateDateColumn() updatedAt!: Date; - + @DeleteDateColumn() deletedAt!: Date | null; } diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index daab9ed9..743c052d 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -10,14 +10,16 @@ import { ApplicationRecord, Deployment, ApplicationDeploymentRequest, - ApplicationDeploymentRemovalRequest + ApplicationDeploymentRemovalRequest, + ApplicationDeploymentAuction } from './entity/Deployment'; -import { AppDeploymentRecord, AppDeploymentRemovalRecord, PackageJSON } from './types'; +import { AppDeploymentRecord, AppDeploymentRemovalRecord, AuctionData, PackageJSON } from './types'; import { sleep } from './utils'; const log = debug('snowball:registry'); const APP_RECORD_TYPE = 'ApplicationRecord'; +const APP_DEPLOYMENT_AUCTION_RECORD_TYPE = 'ApplicationDeploymentAuction'; const APP_DEPLOYMENT_REQUEST_TYPE = 'ApplicationDeploymentRequest'; const APP_DEPLOYMENT_REMOVAL_REQUEST_TYPE = 'ApplicationDeploymentRemovalRequest'; const APP_DEPLOYMENT_RECORD_TYPE = 'ApplicationDeploymentRecord'; @@ -148,10 +150,94 @@ export class Registry { }; } + async createApplicationDeploymentAuction (data: { + deployment: Deployment, + appName: string, + }, + auctionData: AuctionData, +): Promise<{ + applicationDeploymentAuctionId: string; + applicationDeploymentAuctionData: ApplicationDeploymentAuction; + deployerLrns: string[]; + }> { + const lrn = this.getLrn(data.appName); + const records = await this.registry.resolveNames([lrn]); + const applicationRecord = records[0]; + + if (!applicationRecord) { + throw new Error(`No record found for ${lrn}`); + } + + const fee = parseGasAndFees(this.registryConfig.fee.gas, this.registryConfig.fee.fees); + + // TODO: Take auction params from user + const auctionResult = await this.registry.createProviderAuction( + { + commitFee: auctionData.commitFee, + commitsDuration: auctionData.commitsDuration, + revealFee: auctionData.revealFee, + revealsDuration: auctionData.revealsDuration, + denom: auctionData.denom, + maxPrice: auctionData.maxPrice, + numProviders: auctionData.numProviders, + }, + this.registryConfig.privateKey, + fee + ) + + if (!auctionResult.auction) { + throw new Error('Error creating auction'); + } + + // Create record of type applicationDeploymentAuction and publish + const applicationDeploymentAuction = { + application: `${lrn}@${applicationRecord.attributes.app_version}`, + auction: auctionResult.auction.id, + type: APP_DEPLOYMENT_AUCTION_RECORD_TYPE, + }; + + await sleep(SLEEP_DURATION); + + const result = await this.registry.setRecord( + { + privateKey: this.registryConfig.privateKey, + record: applicationDeploymentAuction, + bondId: this.registryConfig.bondId + }, + this.registryConfig.privateKey, + fee + ); + log(`Application deployment auction record published: ${result.id}`); + log('Application deployment auction data:', applicationDeploymentAuction); + + let deployerLrns = []; + const { winnerAddresses } = auctionResult.auction; + + for (const auctionWinner of winnerAddresses) { + const deployerRecord = await this.registry.queryRecords( + { + paymentAddress: auctionWinner, + }, + true + ); + + const lrn = deployerRecord.names.length > 0 ? deployerRecord.names[0] : null; + deployerLrns.push(lrn); + } + + return { + applicationDeploymentAuctionId: auctionResult.auction.id, + applicationDeploymentAuctionData: applicationDeploymentAuction, + deployerLrns + }; + } + async createApplicationDeploymentRequest (data: { deployment: Deployment, appName: string, repository: string, + auctionId?: string, + lrn?: string, environmentVariables: { [key: string]: string }, dns: string, }): Promise<{ @@ -175,8 +261,6 @@ export class Registry { dns: data.dns, // TODO: Not set in test-progressive-web-app CI - // deployment: '$CERC_REGISTRY_DEPLOYMENT_LRN', - // https://git.vdb.to/cerc-io/laconic-registry-cli/commit/129019105dfb93bebcea02fde0ed64d0f8e5983b config: JSON.stringify({ env: data.environmentVariables @@ -187,7 +271,9 @@ export class Registry { )}`, repository: data.repository, repository_ref: data.deployment.commitHash - }) + }), + ...(data.lrn && { deployer: data.lrn }), + ...(data.auctionId && { auction: data.auctionId }), }; await sleep(SLEEP_DURATION); diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 6eba446d..14361d5f 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -19,6 +19,7 @@ import { AddProjectFromTemplateInput, AppDeploymentRecord, AppDeploymentRemovalRecord, + AuctionData, GitPushEventPayload, PackageJSON, } from './types'; @@ -644,10 +645,145 @@ export class Service { return newDeployment; } + async createDeploymentFromAuction( + userId: string, + octokit: Octokit, + data: DeepPartial, + auctionData: AuctionData + ): Promise { + assert(data.project?.repository, 'Project repository not found'); + log( + `Creating deployment in project ${data.project.name} from branch ${data.branch}`, + ); + const [owner, repo] = data.project.repository.split('/'); + + const { data: packageJSONData } = await octokit.rest.repos.getContent({ + owner, + repo, + path: 'package.json', + ref: data.commitHash, + }); + + if (!packageJSONData) { + throw new Error('Package.json file not found'); + } + + assert(!Array.isArray(packageJSONData) && packageJSONData.type === 'file'); + const packageJSON: PackageJSON = JSON.parse(atob(packageJSONData.content)); + + assert(packageJSON.name, "name field doesn't exist in package.json"); + + const repoUrl = ( + await octokit.rest.repos.get({ + owner, + repo, + }) + ).data.html_url; + + // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) + const { applicationRecordId, applicationRecordData } = + await this.registry.createApplicationRecord({ + appName: repo, + packageJSON, + appType: data.project!.template!, + commitHash: data.commitHash!, + repoUrl, + }); + + // Update previous deployment with prod branch domain + // TODO: Fix unique constraint error for domain + if (data.domain) { + await this.db.updateDeployment( + { + domainId: data.domain.id, + }, + { + domain: null, + }, + ); + } + + const newDeployment = await this.db.addDeployment({ + project: data.project, + branch: data.branch, + commitHash: data.commitHash, + commitMessage: data.commitMessage, + environment: data.environment, + status: DeploymentStatus.Building, + applicationRecordId, + applicationRecordData, + domain: data.domain, + createdBy: Object.assign(new User(), { + id: userId, + }), + }); + + log( + `Created deployment ${newDeployment.id} and published application record ${applicationRecordId}`, + ); + + const deploymentAuctionData = await this.registry.createApplicationDeploymentAuction({ + deployment: newDeployment, + appName: repo + }, auctionData + ); + + const deploymentAuctionId = deploymentAuctionData.applicationDeploymentAuctionId; + + const environmentVariables = + await this.db.getEnvironmentVariablesByProjectId(data.project.id!, { + environment: Environment.Production, + }); + + const environmentVariablesObj = environmentVariables.reduce( + (acc, env) => { + acc[env.key] = env.value; + + return acc; + }, + {} as { [key: string]: string }, + ); + + // To set project DNS + if (data.environment === Environment.Production) { + // On deleting deployment later, project DNS deployment is also deleted + // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later + await this.registry.createApplicationDeploymentRequest({ + deployment: newDeployment, + appName: repo, + repository: repoUrl, + environmentVariables: environmentVariablesObj, + dns: `${newDeployment.project.name}`, + }); + } + + for (const deployer in deploymentAuctionData.deployerLrns) { + const { applicationDeploymentRequestId, applicationDeploymentRequestData } = + // Create requests for all the deployers + await this.registry.createApplicationDeploymentRequest({ + deployment: newDeployment, + appName: repo, + repository: repoUrl, + auctionId: deploymentAuctionId, + lrn: deployer, + environmentVariables: environmentVariablesObj, + dns: `${newDeployment.project.name}-${newDeployment.id}`, + }); + + await this.db.updateDeploymentById(newDeployment.id, { + applicationDeploymentRequestId, + applicationDeploymentRequestData, + }); + } + + return newDeployment; + } + async addProjectFromTemplate( user: User, organizationSlug: string, data: AddProjectFromTemplateInput, + auctionData?: AuctionData ): Promise { try { const octokit = await this.getOctokit(user.id); @@ -678,7 +814,7 @@ export class Service { repository: gitRepo.data.full_name, // TODO: Set selected template template: 'webapp', - }); + }, auctionData); if (!project || !project.id) { throw new Error('Failed to create project from template'); @@ -695,6 +831,7 @@ export class Service { user: User, organizationSlug: string, data: DeepPartial, + auctiondata?: AuctionData ): Promise { const organization = await this.db.getOrganization({ where: { @@ -720,14 +857,18 @@ export class Service { }); // Create deployment with prod branch and latest commit - const deployment = await this.createDeployment(user.id, octokit, { + const deploymentData = { project, branch: project.prodBranch, environment: Environment.Production, domain: null, commitHash: latestCommit.sha, commitMessage: latestCommit.commit.message, - }); + }; + + const deployment = auctiondata + ? await this.createDeploymentFromAuction(user.id, octokit, deploymentData, auctiondata) + : await this.createDeployment(user.id, octokit, deploymentData); await this.createRepoHook(octokit, project); diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts index 12a02776..66b10783 100644 --- a/packages/backend/src/types.ts +++ b/packages/backend/src/types.ts @@ -69,3 +69,13 @@ export interface AddProjectFromTemplateInput { name: string; isPrivate: boolean; } + +export interface AuctionData { + commitFee: string, + commitsDuration: string, + revealFee: string, + revealsDuration: string, + denom: string, + maxPrice: string, + numProviders: number, +} -- 2.45.2 From 0e0e5e888f5f88808e9e8847d22db0263bc0f279 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 09:29:13 +0530 Subject: [PATCH 02/42] Take auction params from config --- .../backend/environments/local.toml.example | 13 ++++++++++--- packages/backend/src/config.ts | 9 +++++++++ packages/backend/src/entity/Deployment.ts | 8 ++------ packages/backend/src/entity/Project.ts | 15 +++++++++++++++ packages/backend/src/registry.ts | 19 ++++++++++--------- packages/backend/src/service.ts | 7 +++++-- packages/backend/src/types.ts | 5 ----- 7 files changed, 51 insertions(+), 25 deletions(-) diff --git a/packages/backend/environments/local.toml.example b/packages/backend/environments/local.toml.example index 25ba34cd..8c7374ef 100644 --- a/packages/backend/environments/local.toml.example +++ b/packages/backend/environments/local.toml.example @@ -36,9 +36,16 @@ bondId = "" authority = "" [registryConfig.fee] - gas = "200000" - fees = "200000alnt" - gasPrice = "" + gas = "" + fees = "" + gasPrice = "1" + +[auction] + commitFee = 1000 + commitsDuration = 60s + revealFee = 1000 + revealsDuration = 60s + denom = alnt [misc] projectDomain = "apps.snowballtools.com" diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index e326f9b0..b4a70c95 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -42,6 +42,14 @@ export interface RegistryConfig { }; } +export interface AuctionConfig { + commitFee: string; + commitsDuration: string; + revealFee: string; + revealsDuration: string; + denom: string; +} + export interface MiscConfig { projectDomain: string; } @@ -51,6 +59,7 @@ export interface Config { database: DatabaseConfig; gitHub: GitHubConfig; registryConfig: RegistryConfig; + auction: AuctionConfig; misc: MiscConfig; turnkey: { apiBaseUrl: string; diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index 3e3caaa6..39485ba5 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -28,17 +28,13 @@ export enum DeploymentStatus { Deleting = 'Deleting', } -export interface ApplicationDeploymentAuction { - application: string; - auction: string; - type: string; -} - export interface ApplicationDeploymentRequest { type: string; version: string; name: string; application: string; + lrn?: string; + auction?: string; config: string; meta: string; } diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index b46c219a..f7e23402 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -15,6 +15,12 @@ import { Organization } from './Organization'; import { ProjectMember } from './ProjectMember'; import { Deployment } from './Deployment'; +export interface ApplicationDeploymentAuction { + application: string; + auction: string; + type: string; +} + @Entity() export class Project { @PrimaryGeneratedColumn('uuid') @@ -46,6 +52,15 @@ export class Project { @Column('text', { default: '' }) description!: string; + @Column('varchar', { nullable: true }) + applicationDeploymentAuctionId?: string | null; + + @Column('simple-json', { nullable: true }) + applicationDeploymentAuctionData?: ApplicationDeploymentAuction | null; + + @Column('varchar', { nullable: true }) + deployerLrn?: string[] | null; + // TODO: Compute template & framework in import repository @Column('varchar', { nullable: true }) template!: string | null; diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 743c052d..6bf751e4 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -10,11 +10,11 @@ import { ApplicationRecord, Deployment, ApplicationDeploymentRequest, - ApplicationDeploymentRemovalRequest, - ApplicationDeploymentAuction + ApplicationDeploymentRemovalRequest } from './entity/Deployment'; import { AppDeploymentRecord, AppDeploymentRemovalRecord, AuctionData, PackageJSON } from './types'; -import { sleep } from './utils'; +import { getConfig, sleep } from './utils'; +import { ApplicationDeploymentAuction } from './entity/Project'; const log = debug('snowball:registry'); @@ -168,16 +168,17 @@ export class Registry { throw new Error(`No record found for ${lrn}`); } + const config = await getConfig(); + const auctionConfig = config.auction; const fee = parseGasAndFees(this.registryConfig.fee.gas, this.registryConfig.fee.fees); - // TODO: Take auction params from user const auctionResult = await this.registry.createProviderAuction( { - commitFee: auctionData.commitFee, - commitsDuration: auctionData.commitsDuration, - revealFee: auctionData.revealFee, - revealsDuration: auctionData.revealsDuration, - denom: auctionData.denom, + commitFee: auctionConfig.commitFee, + commitsDuration: auctionConfig.commitsDuration, + revealFee: auctionConfig.revealFee, + revealsDuration: auctionConfig.revealsDuration, + denom: auctionConfig.denom, maxPrice: auctionData.maxPrice, numProviders: auctionData.numProviders, }, diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 14361d5f..fb2b849c 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -529,6 +529,7 @@ export class Service { userId: string, octokit: Octokit, data: DeepPartial, + lrn?: string ): Promise { assert(data.project?.repository, 'Project repository not found'); log( @@ -633,6 +634,7 @@ export class Service { deployment: newDeployment, appName: repo, repository: repoUrl, + lrn, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}-${newDeployment.id}`, }); @@ -814,7 +816,7 @@ export class Service { repository: gitRepo.data.full_name, // TODO: Set selected template template: 'webapp', - }, auctionData); + }, '', auctionData); if (!project || !project.id) { throw new Error('Failed to create project from template'); @@ -831,6 +833,7 @@ export class Service { user: User, organizationSlug: string, data: DeepPartial, + lrn?: string, auctiondata?: AuctionData ): Promise { const organization = await this.db.getOrganization({ @@ -868,7 +871,7 @@ export class Service { const deployment = auctiondata ? await this.createDeploymentFromAuction(user.id, octokit, deploymentData, auctiondata) - : await this.createDeployment(user.id, octokit, deploymentData); + : await this.createDeployment(user.id, octokit, deploymentData, lrn); await this.createRepoHook(octokit, project); diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts index 66b10783..5f368c0b 100644 --- a/packages/backend/src/types.ts +++ b/packages/backend/src/types.ts @@ -71,11 +71,6 @@ export interface AddProjectFromTemplateInput { } export interface AuctionData { - commitFee: string, - commitsDuration: string, - revealFee: string, - revealsDuration: string, - denom: string, maxPrice: string, numProviders: number, } -- 2.45.2 From 9931bc74d1c91709d6bddc2fae3f52b28a58a772 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 10:24:42 +0530 Subject: [PATCH 03/42] Update schema and resolver functions --- packages/backend/src/entity/Project.ts | 9 --------- packages/backend/src/resolvers.ts | 14 ++++++++++---- packages/backend/src/schema.gql | 16 +++++++++++++++- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index f7e23402..2aa3cbb4 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -15,12 +15,6 @@ import { Organization } from './Organization'; import { ProjectMember } from './ProjectMember'; import { Deployment } from './Deployment'; -export interface ApplicationDeploymentAuction { - application: string; - auction: string; - type: string; -} - @Entity() export class Project { @PrimaryGeneratedColumn('uuid') @@ -55,9 +49,6 @@ export class Project { @Column('varchar', { nullable: true }) applicationDeploymentAuctionId?: string | null; - @Column('simple-json', { nullable: true }) - applicationDeploymentAuctionData?: ApplicationDeploymentAuction | null; - @Column('varchar', { nullable: true }) deployerLrn?: string[] | null; diff --git a/packages/backend/src/resolvers.ts b/packages/backend/src/resolvers.ts index 971ee73a..138595ca 100644 --- a/packages/backend/src/resolvers.ts +++ b/packages/backend/src/resolvers.ts @@ -6,7 +6,7 @@ import { Permission } from './entity/ProjectMember'; import { Domain } from './entity/Domain'; import { Project } from './entity/Project'; import { EnvironmentVariable } from './entity/EnvironmentVariable'; -import { AddProjectFromTemplateInput } from './types'; +import { AddProjectFromTemplateInput, AuctionData } from './types'; const log = debug('snowball:resolver'); @@ -203,7 +203,9 @@ export const createResolvers = async (service: Service): Promise => { { organizationSlug, data, - }: { organizationSlug: string; data: AddProjectFromTemplateInput }, + lrn, + auctionData + }: { organizationSlug: string; data: AddProjectFromTemplateInput; lrn: string; auctionData: AuctionData }, context: any, ) => { try { @@ -211,6 +213,8 @@ export const createResolvers = async (service: Service): Promise => { context.user, organizationSlug, data, + lrn, + auctionData ); } catch (err) { log(err); @@ -223,11 +227,13 @@ export const createResolvers = async (service: Service): Promise => { { organizationSlug, data, - }: { organizationSlug: string; data: DeepPartial }, + lrn, + auctionData + }: { organizationSlug: string; data: DeepPartial; lrn: string; auctionData: AuctionData }, context: any, ) => { try { - return await service.addProject(context.user, organizationSlug, data); + return await service.addProject(context.user, organizationSlug, data, lrn, auctionData); } catch (err) { log(err); throw err; diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index e7e9d4bd..567fe0d4 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -65,6 +65,8 @@ type Project { repository: String! prodBranch: String! description: String + lrn: string[] + auctionId: string template: String framework: String webhooks: [String!] @@ -182,6 +184,11 @@ input FilterDomainsInput { status: DomainStatus } +input AuctionData { + maxPrice: string, + numProviders: number, +} + type Query { user: User! organizations: [Organization!] @@ -215,8 +222,15 @@ type Mutation { addProjectFromTemplate( organizationSlug: String! data: AddProjectFromTemplateInput + lrn: string + auctionData: AuctionData + ): Project! + addProject( + organizationSlug: String!, + data: AddProjectInput, + lrn: string, + auctionData: AuctionData ): Project! - addProject(organizationSlug: String!, data: AddProjectInput): Project! updateProject(projectId: String!, data: UpdateProjectInput): Boolean! redeployToProd(deploymentId: String!): Boolean! deleteProject(projectId: String!): Boolean! -- 2.45.2 From ee9bf2de1ccc08dc2927daa9cefab1e005385b8a Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 10:36:59 +0530 Subject: [PATCH 04/42] Update methods in gql client --- packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/schema.gql | 16 ++++++++-------- packages/backend/src/service.ts | 3 ++- packages/gql-client/dist/index.d.mts | 10 +++++++--- packages/gql-client/dist/index.d.ts | 10 +++++++--- packages/gql-client/dist/index.js | 26 ++++++++++++++++++-------- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 26 ++++++++++++++++++-------- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/client.ts | 12 ++++++++++-- packages/gql-client/src/mutations.ts | 8 ++++---- packages/gql-client/src/queries.ts | 6 ++++++ packages/gql-client/src/types.ts | 5 +++++ 13 files changed, 88 insertions(+), 40 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 2aa3cbb4..8b5f424a 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -47,7 +47,7 @@ export class Project { description!: string; @Column('varchar', { nullable: true }) - applicationDeploymentAuctionId?: string | null; + auctionId?: string | null; @Column('varchar', { nullable: true }) deployerLrn?: string[] | null; diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 567fe0d4..5a386d2a 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -65,8 +65,8 @@ type Project { repository: String! prodBranch: String! description: String - lrn: string[] - auctionId: string + deployerLrn: [String] + auctionId: String template: String framework: String webhooks: [String!] @@ -185,8 +185,8 @@ input FilterDomainsInput { } input AuctionData { - maxPrice: string, - numProviders: number, + maxPrice: String, + numProviders: Int, } type Query { @@ -222,13 +222,13 @@ type Mutation { addProjectFromTemplate( organizationSlug: String! data: AddProjectFromTemplateInput - lrn: string + lrn: [String] auctionData: AuctionData ): Project! addProject( - organizationSlug: String!, - data: AddProjectInput, - lrn: string, + organizationSlug: String! + data: AddProjectInput + lrn: [String] auctionData: AuctionData ): Project! updateProject(projectId: String!, data: UpdateProjectInput): Boolean! diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index fb2b849c..8799e05b 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -785,6 +785,7 @@ export class Service { user: User, organizationSlug: string, data: AddProjectFromTemplateInput, + lrn?: string, auctionData?: AuctionData ): Promise { try { @@ -816,7 +817,7 @@ export class Service { repository: gitRepo.data.full_name, // TODO: Set selected template template: 'webapp', - }, '', auctionData); + }, lrn, auctionData); if (!project || !project.id) { throw new Error('Failed to create project from template'); diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index ee46a614..20f83ddb 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -255,6 +255,10 @@ type AuthenticateGitHubResponse = { type UnauthenticateGitHubResponse = { unauthenticateGitHub: boolean; }; +type AuctionData = { + maxPrice: string; + numProviders: number; +}; interface GraphQLConfig { gqlEndpoint: string; @@ -277,8 +281,8 @@ declare class GQLClient { updateEnvironmentVariable(environmentVariableId: string, data: UpdateEnvironmentVariableInput): Promise; removeEnvironmentVariable(environmentVariableId: string): Promise; updateDeploymentToProd(deploymentId: string): Promise; - addProjectFromTemplate(organizationSlug: string, data: AddProjectFromTemplateInput): Promise; - addProject(organizationSlug: string, data: AddProjectInput): Promise; + addProjectFromTemplate(organizationSlug: string, data: AddProjectFromTemplateInput, lrn?: string, auctionData?: AuctionData): Promise; + addProject(organizationSlug: string, data: AddProjectInput, lrn?: string, auctionData?: AuctionData): Promise; updateProject(projectId: string, data: UpdateProjectInput): Promise; updateDomain(domainId: string, data: UpdateDomainInput): Promise; redeployToProd(deploymentId: string): Promise; @@ -292,4 +296,4 @@ declare class GQLClient { unauthenticateGithub(): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index ee46a614..20f83ddb 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -255,6 +255,10 @@ type AuthenticateGitHubResponse = { type UnauthenticateGitHubResponse = { unauthenticateGitHub: boolean; }; +type AuctionData = { + maxPrice: string; + numProviders: number; +}; interface GraphQLConfig { gqlEndpoint: string; @@ -277,8 +281,8 @@ declare class GQLClient { updateEnvironmentVariable(environmentVariableId: string, data: UpdateEnvironmentVariableInput): Promise; removeEnvironmentVariable(environmentVariableId: string): Promise; updateDeploymentToProd(deploymentId: string): Promise; - addProjectFromTemplate(organizationSlug: string, data: AddProjectFromTemplateInput): Promise; - addProject(organizationSlug: string, data: AddProjectInput): Promise; + addProjectFromTemplate(organizationSlug: string, data: AddProjectFromTemplateInput, lrn?: string, auctionData?: AuctionData): Promise; + addProject(organizationSlug: string, data: AddProjectInput, lrn?: string, auctionData?: AuctionData): Promise; updateProject(projectId: string, data: UpdateProjectInput): Promise; updateDomain(domainId: string, data: UpdateDomainInput): Promise; redeployToProd(deploymentId: string): Promise; @@ -292,4 +296,4 @@ declare class GQLClient { unauthenticateGithub(): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index 3cdbb860..f2d191a5 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -76,6 +76,8 @@ query ($projectId: String!) { template updatedAt prodBranch + auctionId + deployerLrn framework repository webhooks @@ -123,6 +125,8 @@ query ($organizationSlug: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks repository @@ -230,6 +234,8 @@ query ($searchText: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks updatedAt @@ -308,15 +314,15 @@ var updateDeploymentToProd = import_client2.gql` } `; var addProjectFromTemplate = import_client2.gql` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput) { - addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } `; var addProject = import_client2.gql` - mutation ($organizationSlug: String!, $data: AddProjectInput) { - addProject(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } @@ -557,25 +563,29 @@ var GQLClient = class { return data; }); } - addProjectFromTemplate(organizationSlug, data) { + addProjectFromTemplate(organizationSlug, data, lrn, auctionData) { return __async(this, null, function* () { const result = yield this.client.mutate({ mutation: addProjectFromTemplate, variables: { organizationSlug, - data + data, + lrn, + auctionData } }); return result.data; }); } - addProject(organizationSlug, data) { + addProject(organizationSlug, data, lrn, auctionData) { return __async(this, null, function* () { const result = yield this.client.mutate({ mutation: addProject, variables: { organizationSlug, - data + data, + lrn, + auctionData } }); return result.data; diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index 17a478b4..fb834f7d 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput\n ): Promise {\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 {\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`\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"]} \ 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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: string, $auctionData: Auctiondata) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 8c30dd75..ab26707b 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -49,6 +49,8 @@ query ($projectId: String!) { template updatedAt prodBranch + auctionId + deployerLrn framework repository webhooks @@ -96,6 +98,8 @@ query ($organizationSlug: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks repository @@ -203,6 +207,8 @@ query ($searchText: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks updatedAt @@ -281,15 +287,15 @@ var updateDeploymentToProd = gql2` } `; var addProjectFromTemplate = gql2` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput) { - addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } `; var addProject = gql2` - mutation ($organizationSlug: String!, $data: AddProjectInput) { - addProject(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } @@ -530,25 +536,29 @@ var GQLClient = class { return data; }); } - addProjectFromTemplate(organizationSlug, data) { + addProjectFromTemplate(organizationSlug, data, lrn, auctionData) { return __async(this, null, function* () { const result = yield this.client.mutate({ mutation: addProjectFromTemplate, variables: { organizationSlug, - data + data, + lrn, + auctionData } }); return result.data; }); } - addProject(organizationSlug, data) { + addProject(organizationSlug, data, lrn, auctionData) { return __async(this, null, function* () { const result = yield this.client.mutate({ mutation: addProject, variables: { organizationSlug, - data + data, + lrn, + auctionData } }); return result.data; diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 27047d6d..7ba0f161 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput\n ): Promise {\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 {\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`\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":["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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: string, $auctionData: Auctiondata) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 01920dd3..3a25a45b 100644 --- a/packages/gql-client/src/client.ts +++ b/packages/gql-client/src/client.ts @@ -230,13 +230,17 @@ export class GQLClient { async addProjectFromTemplate( organizationSlug: string, - data: types.AddProjectFromTemplateInput + data: types.AddProjectFromTemplateInput, + lrn?: string, + auctionData?: types.AuctionData, ): Promise { const result = await this.client.mutate({ mutation: mutations.addProjectFromTemplate, variables: { organizationSlug, data, + lrn, + auctionData }, }); @@ -245,13 +249,17 @@ export class GQLClient { async addProject( organizationSlug: string, - data: types.AddProjectInput + data: types.AddProjectInput, + lrn?: string, + auctionData?: types.AuctionData, ): Promise { const result = await this.client.mutate({ mutation: mutations.addProject, variables: { organizationSlug, data, + lrn, + auctionData }, }); diff --git a/packages/gql-client/src/mutations.ts b/packages/gql-client/src/mutations.ts index 007c2183..40b57d68 100644 --- a/packages/gql-client/src/mutations.ts +++ b/packages/gql-client/src/mutations.ts @@ -49,16 +49,16 @@ export const updateDeploymentToProd = gql` `; export const addProjectFromTemplate = gql` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput) { - addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } `; export const addProject = gql` - mutation ($organizationSlug: String!, $data: AddProjectInput) { - addProject(organizationSlug: $organizationSlug, data: $data) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index f7e331b1..71c4d249 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -23,6 +23,8 @@ query ($projectId: String!) { template updatedAt prodBranch + auctionId + deployerLrn framework repository webhooks @@ -71,6 +73,8 @@ query ($organizationSlug: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks repository @@ -183,6 +187,8 @@ query ($searchText: String!) { createdAt description framework + auctionId + deployerLrn prodBranch webhooks updatedAt diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 1ef0db14..2f5fca97 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -309,3 +309,8 @@ export type AuthenticateGitHubResponse = { export type UnauthenticateGitHubResponse = { unauthenticateGitHub: boolean; }; + +export type AuctionData = { + maxPrice: string; + numProviders: number; +}; -- 2.45.2 From 13730655a4619df58e6c703fabccbb26334646ef Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 11:28:07 +0530 Subject: [PATCH 05/42] Implement UI to add configure deployment step --- packages/backend/src/schema.gql | 4 +- packages/backend/src/service.ts | 8 + .../components/projects/create/Configure.tsx | 165 ++++++++++++++++++ .../org-slug/projects/create/Template.tsx | 5 + .../projects/create/template/Configure.tsx | 7 + .../projects/create/template/index.tsx | 27 ++- .../projects/create/template/routes.tsx | 5 + packages/gql-client/dist/index.js | 4 +- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 4 +- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/mutations.ts | 4 +- 12 files changed, 212 insertions(+), 25 deletions(-) create mode 100644 packages/frontend/src/components/projects/create/Configure.tsx create mode 100644 packages/frontend/src/pages/org-slug/projects/create/template/Configure.tsx diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 5a386d2a..d3178e40 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -222,13 +222,13 @@ type Mutation { addProjectFromTemplate( organizationSlug: String! data: AddProjectFromTemplateInput - lrn: [String] + lrn: String auctionData: AuctionData ): Project! addProject( organizationSlug: String! data: AddProjectInput - lrn: [String] + lrn: String auctionData: AuctionData ): Project! updateProject(projectId: String!, data: UpdateProjectInput): Boolean! diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 8799e05b..b2d3be16 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -644,6 +644,14 @@ export class Service { applicationDeploymentRequestData, }); + // Save deployer lrn only if present + let updateData: Partial = {}; + if (lrn) { + updateData.deployerLrn = [lrn]; + } + + await this.db.updateProjectById(data.project.id!, updateData); + return newDeployment; } diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx new file mode 100644 index 00000000..2a7c8e03 --- /dev/null +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -0,0 +1,165 @@ +import { useCallback, useState } from 'react'; +import { useForm, Controller, SubmitHandler } from 'react-hook-form'; +import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; + +import { Heading } from '../../shared/Heading'; +import { Button } from '../../shared/Button'; +import { Select, SelectOption } from 'components/shared/Select'; +import { Input } from 'components/shared/Input'; +import { useToast } from 'components/shared/Toast'; +import { useGQLClient } from '../../../context/GQLClientContext'; + +type ConfigureFormValues = { + option: string; + lrn?: string; + numProviders?: number; + maxPrice?: number; +}; + +const Configure = () => { + const [searchParams] = useSearchParams(); + const templateId = searchParams.get('templateId'); + const location = useLocation(); + const { templateOwner, templateRepo, owner, name, isPrivate, orgSlug } = location.state || {}; + + const navigate = useNavigate(); + const { toast, dismiss } = useToast(); + const client = useGQLClient(); + + const [isLoading, setIsLoading] = useState(false); + const { handleSubmit, control, watch } = useForm({ + defaultValues: { option: 'LRN' }, + }); + + const selectedOption = watch('option'); + + const onSubmit: SubmitHandler = useCallback( + async (data) => { + setIsLoading(true); + + try { + const projectData: any = { + templateOwner, + templateRepo, + owner, + name, + isPrivate + }; + + let configData: any; + if (data.option === 'LRN') { + configData = data.lrn; + } else if (data.option === 'Auction') { + configData = { + numProviders: data.numProviders, + maxPrice: data.maxPrice + } + } + + const { addProjectFromTemplate } = await client.addProjectFromTemplate( + orgSlug, + projectData, + configData + ); + + navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); + } catch (error) { + console.error('Error creating project:', error); + toast({ + id: 'error-creating-project', + title: 'Error creating project', + variant: 'error', + onDismiss: dismiss, + }); + } finally { + setIsLoading(false); + } + }, + [client, isPrivate, templateId, navigate, dismiss, toast] + ); + + return ( +
+
+
+ + Configure deployment + +
+
+ +
+
+
+ Choose an option + ( + + )} + /> +
+ )} + + {selectedOption === 'Auction' && ( + <> +
+ Num Providers + ( + + )} + /> +
+
+ Max Price + ( + + )} + /> +
+ + )} + +
+ +
+
+
+
+ ); +}; + +export default Configure; diff --git a/packages/frontend/src/pages/org-slug/projects/create/Template.tsx b/packages/frontend/src/pages/org-slug/projects/create/Template.tsx index 51b6abfc..f14d7187 100644 --- a/packages/frontend/src/pages/org-slug/projects/create/Template.tsx +++ b/packages/frontend/src/pages/org-slug/projects/create/Template.tsx @@ -31,6 +31,11 @@ const CreateWithTemplate = () => { }, { step: 2, + route: `/${orgSlug}/projects/create/template/configure`, + label: 'Configure', + }, + { + step: 3, route: `/${orgSlug}/projects/create/template/deploy`, label: 'Deploy', }, diff --git a/packages/frontend/src/pages/org-slug/projects/create/template/Configure.tsx b/packages/frontend/src/pages/org-slug/projects/create/template/Configure.tsx new file mode 100644 index 00000000..31a806a5 --- /dev/null +++ b/packages/frontend/src/pages/org-slug/projects/create/template/Configure.tsx @@ -0,0 +1,7 @@ +import ConfigureComponent from '../../../../../components/projects/create/Configure'; + +const Configure = () => { + return ; +}; + +export default Configure; diff --git a/packages/frontend/src/pages/org-slug/projects/create/template/index.tsx b/packages/frontend/src/pages/org-slug/projects/create/template/index.tsx index fbfeb354..6bcacd05 100644 --- a/packages/frontend/src/pages/org-slug/projects/create/template/index.tsx +++ b/packages/frontend/src/pages/org-slug/projects/create/template/index.tsx @@ -6,7 +6,6 @@ import { useMediaQuery } from 'usehooks-ts'; import { RequestError } from 'octokit'; import { useOctokit } from '../../../../../context/OctokitContext'; -import { useGQLClient } from '../../../../../context/GQLClientContext'; import { Template } from '../../../../../types/types'; import { Heading } from 'components/shared/Heading'; import { Input } from 'components/shared/Input'; @@ -31,7 +30,6 @@ type SubmitRepoValues = { const CreateRepo = () => { const { octokit, isAuth } = useOctokit(); const { template } = useOutletContext<{ template: Template }>(); - const client = useGQLClient(); const { orgSlug } = useParams(); const { toast, dismiss } = useToast(); @@ -55,19 +53,18 @@ const CreateRepo = () => { setIsLoading(true); - const { addProjectFromTemplate } = await client.addProjectFromTemplate( - orgSlug!, - { - templateOwner: owner, - templateRepo: repo, - owner: data.account, - name: data.repoName, - isPrivate: false, - }, - ); - navigate( - `deploy?projectId=${addProjectFromTemplate.id}&templateId=${template.id}`, + `configure?templateId=${template.id}`, + { + state: { + templateOwner: owner, + templateRepo: repo, + owner: data.account, + name: data.repoName, + isPrivate: false, + orgSlug + }, + } ); } catch (err) { setIsLoading(false); @@ -203,7 +200,7 @@ const CreateRepo = () => { ) } > - Deploy + Next diff --git a/packages/frontend/src/pages/org-slug/projects/create/template/routes.tsx b/packages/frontend/src/pages/org-slug/projects/create/template/routes.tsx index 9570a6b0..5abe451c 100644 --- a/packages/frontend/src/pages/org-slug/projects/create/template/routes.tsx +++ b/packages/frontend/src/pages/org-slug/projects/create/template/routes.tsx @@ -1,4 +1,5 @@ import CreateRepo from './index'; +import Configure from './Configure'; import Deploy from './Deploy'; export const templateRoutes = [ @@ -6,6 +7,10 @@ export const templateRoutes = [ index: true, element: , }, + { + path: 'configure', + element: , + }, { path: 'deploy', element: , diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index f2d191a5..1bfb5d61 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -314,14 +314,14 @@ var updateDeploymentToProd = import_client2.gql` } `; var addProjectFromTemplate = import_client2.gql` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: String, $auctionData: AuctionData) { addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } `; var addProject = import_client2.gql` - mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) { addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index fb834f7d..f23172a8 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: string, $auctionData: Auctiondata) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 ab26707b..4094084f 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -287,14 +287,14 @@ var updateDeploymentToProd = gql2` } `; var addProjectFromTemplate = gql2` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: String, $auctionData: AuctionData) { addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } } `; var addProject = gql2` - mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) { addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 7ba0f161..95fa4906 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: string, $auctionData: Auctiondata) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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/mutations.ts b/packages/gql-client/src/mutations.ts index 40b57d68..91367855 100644 --- a/packages/gql-client/src/mutations.ts +++ b/packages/gql-client/src/mutations.ts @@ -49,7 +49,7 @@ export const updateDeploymentToProd = gql` `; export const addProjectFromTemplate = gql` - mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectFromTemplateInput, $lrn: String, $auctionData: AuctionData) { addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } @@ -57,7 +57,7 @@ export const addProjectFromTemplate = gql` `; export const addProject = gql` - mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: string, $auctionData: Auctiondata) { + mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) { addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) { id } -- 2.45.2 From 2a3c5de13280247777ce9135da0551507a3c0ab5 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 14:07:29 +0530 Subject: [PATCH 06/42] Set gas price in Registry instantiation --- packages/backend/src/registry.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 6bf751e4..64179193 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -14,7 +14,6 @@ import { } from './entity/Deployment'; import { AppDeploymentRecord, AppDeploymentRemovalRecord, AuctionData, PackageJSON } from './types'; import { getConfig, sleep } from './utils'; -import { ApplicationDeploymentAuction } from './entity/Project'; const log = debug('snowball:registry'); @@ -33,9 +32,11 @@ export class Registry { constructor (registryConfig: RegistryConfig) { this.registryConfig = registryConfig; + // const gasPrice = Util.getGasPrice(registryConfig.fee.gasPrice); this.registry = new LaconicRegistry( registryConfig.gqlEndpoint, registryConfig.restEndpoint, + // Pass gasPrice { chainId: registryConfig.chainId } ); } -- 2.45.2 From 8c824f065b370bbeef59633ca857c6e9bcb48b02 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 4 Oct 2024 16:06:29 +0530 Subject: [PATCH 07/42] Add method deployment requests after auction completion --- packages/backend/src/entity/Project.ts | 3 + packages/backend/src/registry.ts | 98 +++++++++++++++++++------- packages/backend/src/schema.gql | 1 + packages/backend/src/service.ts | 93 +++++------------------- 4 files changed, 93 insertions(+), 102 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 8b5f424a..ac028b4c 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -49,6 +49,9 @@ export class Project { @Column('varchar', { nullable: true }) auctionId?: string | null; + @Column('varchar', { nullable: true }) + auctionStatus?: string | null; + @Column('varchar', { nullable: true }) deployerLrn?: string[] | null; diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 64179193..b2f53e45 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -2,6 +2,8 @@ import debug from 'debug'; import assert from 'assert'; import { inc as semverInc } from 'semver'; import { DateTime } from 'luxon'; +import { DeepPartial } from 'typeorm'; +import { Octokit } from 'octokit'; import { Registry as LaconicRegistry, parseGasAndFees } from '@cerc-io/registry-sdk'; @@ -151,17 +153,56 @@ export class Registry { }; } - async createApplicationDeploymentAuction (data: { - deployment: Deployment, + async createApplicationDeploymentAuction ( appName: string, - }, + octokit: Octokit, auctionData: AuctionData, -): Promise<{ + data: DeepPartial, + ): Promise<{ applicationDeploymentAuctionId: string; - applicationDeploymentAuctionData: ApplicationDeploymentAuction; - deployerLrns: string[]; }> { - const lrn = this.getLrn(data.appName); + // TODO: If data.domain is present then call createDeployment (don't need auction) + assert(data.project?.repository, 'Project repository not found'); + const [owner, repo] = data.project.repository.split('/'); + + const { data: packageJSONData } = await octokit.rest.repos.getContent({ + owner, + repo, + path: 'package.json', + ref: data.commitHash, + }); + + if (!packageJSONData) { + throw new Error('Package.json file not found'); + } + + assert(!Array.isArray(packageJSONData) && packageJSONData.type === 'file'); + const packageJSON: PackageJSON = JSON.parse(atob(packageJSONData.content)); + + assert(packageJSON.name, "name field doesn't exist in package.json"); + + const repoUrl = ( + await octokit.rest.repos.get({ + owner, + repo, + }) + ).data.html_url; + + // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) + const { applicationRecordId, applicationRecordData } = + await this.createApplicationRecord({ + appName: repo, + packageJSON, + appType: data.project!.template!, + commitHash: data.commitHash!, + repoUrl, + }); + + log( + `Published application record ${applicationRecordId}`, + ); + + const lrn = this.getLrn(appName); const records = await this.registry.resolveNames([lrn]); const applicationRecord = records[0]; @@ -198,8 +239,6 @@ export class Registry { type: APP_DEPLOYMENT_AUCTION_RECORD_TYPE, }; - await sleep(SLEEP_DURATION); - const result = await this.registry.setRecord( { privateKey: this.registryConfig.privateKey, @@ -212,25 +251,8 @@ export class Registry { log(`Application deployment auction record published: ${result.id}`); log('Application deployment auction data:', applicationDeploymentAuction); - let deployerLrns = []; - const { winnerAddresses } = auctionResult.auction; - - for (const auctionWinner of winnerAddresses) { - const deployerRecord = await this.registry.queryRecords( - { - paymentAddress: auctionWinner, - }, - true - ); - - const lrn = deployerRecord.names.length > 0 ? deployerRecord.names[0] : null; - deployerLrns.push(lrn); - } - return { applicationDeploymentAuctionId: auctionResult.auction.id, - applicationDeploymentAuctionData: applicationDeploymentAuction, - deployerLrns }; } @@ -300,6 +322,30 @@ export class Registry { }; } + async getAuctionWinners( + auctionId: string + ): Promise { + const records = await this.registry.getAuctionsByIds([auctionId]); + const auctionResult = records[0]; + + let deployerLrns = []; + const { winnerAddresses } = auctionResult.auction; + + for (const auctionWinner of winnerAddresses) { + const deployerRecord = await this.registry.queryRecords( + { + paymentAddress: auctionWinner, + }, + true + ); + + const lrn = deployerRecord.names.length > 0 ? deployerRecord.names[0] : null; + deployerLrns.push(lrn); + } + + return deployerLrns; + } + /** * Fetch ApplicationDeploymentRecords for deployments */ diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index d3178e40..17079448 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -67,6 +67,7 @@ type Project { description: String deployerLrn: [String] auctionId: String + auctionStatus: String template: String framework: String webhooks: [String!] diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index b2d3be16..23785505 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -657,62 +657,11 @@ export class Service { async createDeploymentFromAuction( userId: string, - octokit: Octokit, + auctionId: string, + // take project data data: DeepPartial, - auctionData: AuctionData - ): Promise { - assert(data.project?.repository, 'Project repository not found'); - log( - `Creating deployment in project ${data.project.name} from branch ${data.branch}`, - ); - const [owner, repo] = data.project.repository.split('/'); - - const { data: packageJSONData } = await octokit.rest.repos.getContent({ - owner, - repo, - path: 'package.json', - ref: data.commitHash, - }); - - if (!packageJSONData) { - throw new Error('Package.json file not found'); - } - - assert(!Array.isArray(packageJSONData) && packageJSONData.type === 'file'); - const packageJSON: PackageJSON = JSON.parse(atob(packageJSONData.content)); - - assert(packageJSON.name, "name field doesn't exist in package.json"); - - const repoUrl = ( - await octokit.rest.repos.get({ - owner, - repo, - }) - ).data.html_url; - - // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) - const { applicationRecordId, applicationRecordData } = - await this.registry.createApplicationRecord({ - appName: repo, - packageJSON, - appType: data.project!.template!, - commitHash: data.commitHash!, - repoUrl, - }); - - // Update previous deployment with prod branch domain - // TODO: Fix unique constraint error for domain - if (data.domain) { - await this.db.updateDeployment( - { - domainId: data.domain.id, - }, - { - domain: null, - }, - ); - } - + ) { + // TODO: If data.domain is present then call createDeployment (don't need auction) const newDeployment = await this.db.addDeployment({ project: data.project, branch: data.branch, @@ -720,8 +669,6 @@ export class Service { commitMessage: data.commitMessage, environment: data.environment, status: DeploymentStatus.Building, - applicationRecordId, - applicationRecordData, domain: data.domain, createdBy: Object.assign(new User(), { id: userId, @@ -729,19 +676,11 @@ export class Service { }); log( - `Created deployment ${newDeployment.id} and published application record ${applicationRecordId}`, + `Created deployment ${newDeployment.id}`, ); - const deploymentAuctionData = await this.registry.createApplicationDeploymentAuction({ - deployment: newDeployment, - appName: repo - }, auctionData - ); - - const deploymentAuctionId = deploymentAuctionData.applicationDeploymentAuctionId; - const environmentVariables = - await this.db.getEnvironmentVariablesByProjectId(data.project.id!, { + await this.db.getEnvironmentVariablesByProjectId(data.project!.id!, { environment: Environment.Production, }); @@ -760,21 +699,23 @@ export class Service { // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later await this.registry.createApplicationDeploymentRequest({ deployment: newDeployment, - appName: repo, - repository: repoUrl, + appName: data.project!.name!, + repository: data.url!, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}`, }); } - for (const deployer in deploymentAuctionData.deployerLrns) { + const deployerLrns = await this.registry.getAuctionWinners(auctionId); + + for (const deployer in deployerLrns) { const { applicationDeploymentRequestId, applicationDeploymentRequestData } = // Create requests for all the deployers await this.registry.createApplicationDeploymentRequest({ deployment: newDeployment, - appName: repo, - repository: repoUrl, - auctionId: deploymentAuctionId, + appName: data.project!.name!, + repository: data.url!, + auctionId, lrn: deployer, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}-${newDeployment.id}`, @@ -843,7 +784,7 @@ export class Service { organizationSlug: string, data: DeepPartial, lrn?: string, - auctiondata?: AuctionData + auctionData?: AuctionData ): Promise { const organization = await this.db.getOrganization({ where: { @@ -878,8 +819,8 @@ export class Service { commitMessage: latestCommit.commit.message, }; - const deployment = auctiondata - ? await this.createDeploymentFromAuction(user.id, octokit, deploymentData, auctiondata) + const deployment = auctionData + ? await this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData) : await this.createDeployment(user.id, octokit, deploymentData, lrn); await this.createRepoHook(octokit, project); -- 2.45.2 From 42d35cae841991030515bced4e40e25a2ad5e944 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 7 Oct 2024 10:14:03 +0530 Subject: [PATCH 08/42] Check for auction status in a loop --- .../backend/environments/local.toml.example | 14 ++--- packages/backend/src/config.ts | 1 + packages/backend/src/entity/Project.ts | 3 -- packages/backend/src/registry.ts | 15 +++++- packages/backend/src/schema.gql | 1 - packages/backend/src/service.ts | 52 ++++++++++++++++--- 6 files changed, 68 insertions(+), 18 deletions(-) diff --git a/packages/backend/environments/local.toml.example b/packages/backend/environments/local.toml.example index 8c7374ef..5d392f39 100644 --- a/packages/backend/environments/local.toml.example +++ b/packages/backend/environments/local.toml.example @@ -29,8 +29,8 @@ [registryConfig] fetchDeploymentRecordDelay = 5000 - restEndpoint = "http://localhost:1317" - gqlEndpoint = "http://localhost:9473/api" + checkAuctionStatusDelay = 5000 + restEndpoint = "http://dss-daemon.test1.wireitin.com:26657" chainId = "laconic_9000-1" privateKey = "" bondId = "" @@ -41,11 +41,11 @@ gasPrice = "1" [auction] - commitFee = 1000 - commitsDuration = 60s - revealFee = 1000 - revealsDuration = 60s - denom = alnt + commitFee = "1000" + commitsDuration = "60s" + revealFee = "1000" + revealsDuration = "60s" + denom = "alnt" [misc] projectDomain = "apps.snowballtools.com" diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index b4a70c95..38285f72 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -34,6 +34,7 @@ export interface RegistryConfig { privateKey: string; bondId: string; fetchDeploymentRecordDelay: number; + checkAuctionStatusDelay: number; authority: string; fee: { gas: string; diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index ac028b4c..8b5f424a 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -49,9 +49,6 @@ export class Project { @Column('varchar', { nullable: true }) auctionId?: string | null; - @Column('varchar', { nullable: true }) - auctionStatus?: string | null; - @Column('varchar', { nullable: true }) deployerLrn?: string[] | null; diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index b2f53e45..efa739a4 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -6,6 +6,7 @@ import { DeepPartial } from 'typeorm'; import { Octokit } from 'octokit'; import { Registry as LaconicRegistry, parseGasAndFees } from '@cerc-io/registry-sdk'; +import { Auction } from '@cerc-io/registry-sdk/dist/proto/cerc/auction/v1/auction'; import { RegistryConfig } from './config'; import { @@ -328,7 +329,7 @@ export class Registry { const records = await this.registry.getAuctionsByIds([auctionId]); const auctionResult = records[0]; - let deployerLrns = []; + let deployerLrns = []; const { winnerAddresses } = auctionResult.auction; for (const auctionWinner of winnerAddresses) { @@ -441,6 +442,18 @@ export class Registry { }; } + async getCompletedAuctionIds(auctionIds: string[] | null | undefined): Promise { + if(auctionIds === null || auctionIds === undefined) { + return []; + } + const auctions = await this.registry.getAuctionsByIds(auctionIds); + const completedAuctions = auctions + .filter((auction: Auction) => auction.status === 'completed') + .map((auction: Auction) => auction.id); + + return completedAuctions; + } + getLrn(appName: string): string { assert(this.registryConfig.authority, "Authority doesn't exist"); return `lrn://${this.registryConfig.authority}/applications/${appName}`; diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 17079448..d3178e40 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -67,7 +67,6 @@ type Project { description: String deployerLrn: [String] auctionId: String - auctionStatus: String template: String framework: String webhooks: [String!] diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 23785505..50d5b511 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -1,6 +1,6 @@ import assert from 'assert'; import debug from 'debug'; -import { DeepPartial, FindOptionsWhere } from 'typeorm'; +import { DeepPartial, FindOptionsWhere, IsNull } from 'typeorm'; import { Octokit, RequestError } from 'octokit'; import { OAuthApp } from '@octokit/oauth-app'; @@ -263,6 +263,44 @@ export class Service { await Promise.all(deploymentUpdatePromises); } + /** + * Checks for auction status for all ongoing auctions + * Calls the createDeploymentFromAuction method for deployments with completed auctions + */ + async checkAuctionStatus( + ): Promise { + // Deployment should be in building state and should not have domain. + const deployments = await this.db.getDeployments({ + where: { + status: DeploymentStatus.Building, + domain: IsNull() + }, + }); + + // Check the auctionId for those deployments with auctions + const auctionIds = deployments + .filter(deployment => deployment.project && deployment.project.auctionId) + .map(deployment => deployment.project!.auctionId) as string[]; + // Get all the auctions for those ids with auction status completed + const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); + // If the deplyer lrn array is empty then call createDeploymentFromAuction + const auctionDeployments = deployments.filter(deployment => + completedAuctionIds.includes(deployment.project!.auctionId!) && + deployment.project!.deployerLrn?.length === 0 + ); + + for (const auctionDeployment of auctionDeployments) { + await this.createDeploymentFromAuction( + 'user id', + auctionDeployment.project!.auctionId!, + auctionDeployment + ); + } + this.deployRecordCheckTimeout = setTimeout(() => { + this.checkAuctionStatus(); + }, this.config.registryConfig.fetchDeploymentRecordDelay); + } + async getUser(userId: string): Promise { return this.db.getUser({ where: { @@ -645,13 +683,10 @@ export class Service { }); // Save deployer lrn only if present - let updateData: Partial = {}; if (lrn) { - updateData.deployerLrn = [lrn]; + newDeployment.project.deployerLrn = [lrn]; } - await this.db.updateProjectById(data.project.id!, updateData); - return newDeployment; } @@ -659,6 +694,7 @@ export class Service { userId: string, auctionId: string, // take project data + // project: DeepPartial, data: DeepPartial, ) { // TODO: If data.domain is present then call createDeployment (don't need auction) @@ -727,7 +763,11 @@ export class Service { }); } - return newDeployment; + // update project with deployerlrns + + await this.db.updateProjectById(data.project?.id!, { + deployerLrn: deployerLrns + }) } async addProjectFromTemplate( -- 2.45.2 From b58d9e6c21edbcea25230ddbf1c9ce200db695fb Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 7 Oct 2024 12:01:52 +0530 Subject: [PATCH 09/42] Create deployments after auction creation --- packages/backend/src/registry.ts | 20 +++- packages/backend/src/service.ts | 180 +++++++++++++++++-------------- 2 files changed, 117 insertions(+), 83 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index efa739a4..77d76d3e 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -126,14 +126,20 @@ export class Registry { await sleep(SLEEP_DURATION); await this.registry.setName( - { cid: result.id, lrn }, + { + cid: result.id, + lrn + }, this.registryConfig.privateKey, fee ); await sleep(SLEEP_DURATION); await this.registry.setName( - { cid: result.id, lrn: `${lrn}@${applicationRecord.app_version}` }, + { + cid: result.id, + lrn: `${lrn}@${applicationRecord.app_version}` + }, this.registryConfig.privateKey, fee ); @@ -162,7 +168,6 @@ export class Registry { ): Promise<{ applicationDeploymentAuctionId: string; }> { - // TODO: If data.domain is present then call createDeployment (don't need auction) assert(data.project?.repository, 'Project repository not found'); const [owner, repo] = data.project.repository.split('/'); @@ -190,7 +195,7 @@ export class Registry { ).data.html_url; // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) - const { applicationRecordId, applicationRecordData } = + const { applicationRecordId } = await this.createApplicationRecord({ appName: repo, packageJSON, @@ -235,7 +240,7 @@ export class Registry { // Create record of type applicationDeploymentAuction and publish const applicationDeploymentAuction = { - application: `${lrn}@${applicationRecord.attributes.app_version}`, + application: lrn, auction: auctionResult.auction.id, type: APP_DEPLOYMENT_AUCTION_RECORD_TYPE, }; @@ -454,6 +459,11 @@ export class Registry { return completedAuctions; } + async getRecordsByName(name: string): Promise { + + return this.registry.resolveNames([name]); + } + getLrn(appName: string): string { assert(this.registryConfig.authority, "Authority doesn't exist"); return `lrn://${this.registryConfig.authority}/applications/${appName}`; diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 50d5b511..7461ac3a 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -270,35 +270,28 @@ export class Service { async checkAuctionStatus( ): Promise { // Deployment should be in building state and should not have domain. - const deployments = await this.db.getDeployments({ + const projects = await this.db.getProjects({ where: { - status: DeploymentStatus.Building, - domain: IsNull() + deployerLrn: IsNull() }, }); - // Check the auctionId for those deployments with auctions - const auctionIds = deployments - .filter(deployment => deployment.project && deployment.project.auctionId) - .map(deployment => deployment.project!.auctionId) as string[]; + const auctionIds = projects + .map(project => project.auctionId) as string[]; // Get all the auctions for those ids with auction status completed const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); // If the deplyer lrn array is empty then call createDeploymentFromAuction - const auctionDeployments = deployments.filter(deployment => - completedAuctionIds.includes(deployment.project!.auctionId!) && - deployment.project!.deployerLrn?.length === 0 + const auctionProjects = projects.filter(project => + completedAuctionIds.includes(project.auctionId!) ); - for (const auctionDeployment of auctionDeployments) { - await this.createDeploymentFromAuction( - 'user id', - auctionDeployment.project!.auctionId!, - auctionDeployment - ); + for (const project of auctionProjects) { + await this.createDeploymentFromAuction(project); } + this.deployRecordCheckTimeout = setTimeout(() => { this.checkAuctionStatus(); - }, this.config.registryConfig.fetchDeploymentRecordDelay); + }, this.config.registryConfig.checkAuctionStatusDelay); } async getUser(userId: string): Promise { @@ -691,67 +684,103 @@ export class Service { } async createDeploymentFromAuction( - userId: string, - auctionId: string, - // take project data - // project: DeepPartial, - data: DeepPartial, + project: DeepPartial, ) { - // TODO: If data.domain is present then call createDeployment (don't need auction) - const newDeployment = await this.db.addDeployment({ - project: data.project, - branch: data.branch, - commitHash: data.commitHash, - commitMessage: data.commitMessage, - environment: data.environment, - status: DeploymentStatus.Building, - domain: data.domain, - createdBy: Object.assign(new User(), { - id: userId, - }), + const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); + + // Update project with deployer LRNs + await this.db.updateProjectById(project.id!, { + deployerLrn: deployerLrns + }) + + const octokit = await this.getOctokit(project.owner!.id!); + const [owner, repo] = project.repository!.split('/'); + + const repoUrl = ( + await octokit.rest.repos.get({ + owner, + repo, + }) + ).data.html_url; + + const { + data: [latestCommit], + } = await octokit.rest.repos.listCommits({ + owner, + repo, + sha: project.prodBranch, + per_page: 1, }); - log( - `Created deployment ${newDeployment.id}`, - ); - - const environmentVariables = - await this.db.getEnvironmentVariablesByProjectId(data.project!.id!, { - environment: Environment.Production, - }); - - const environmentVariablesObj = environmentVariables.reduce( - (acc, env) => { - acc[env.key] = env.value; - - return acc; - }, - {} as { [key: string]: string }, - ); - - // To set project DNS - if (data.environment === Environment.Production) { - // On deleting deployment later, project DNS deployment is also deleted - // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later - await this.registry.createApplicationDeploymentRequest({ - deployment: newDeployment, - appName: data.project!.name!, - repository: data.url!, - environmentVariables: environmentVariablesObj, - dns: `${newDeployment.project.name}`, - }); - } - - const deployerLrns = await this.registry.getAuctionWinners(auctionId); + const lrn = this.registry.getLrn(repo); + const [record] = await this.registry.getRecordsByName(lrn); + const applicationRecordId = record.id; + const applicationRecordData = record.attributes; for (const deployer in deployerLrns) { + // Create deployment with prod branch and latest commit + const deploymentData = { + project, + branch: project.prodBranch, + environment: Environment.Production, + domain: null, + commitHash: latestCommit.sha, + commitMessage: latestCommit.commit.message, + }; + + const newDeployment = await this.db.addDeployment({ + project: project, + branch: deploymentData.branch, + commitHash: deploymentData.commitHash, + commitMessage: deploymentData.commitMessage, + environment: deploymentData.environment, + status: DeploymentStatus.Building, + applicationRecordId, + applicationRecordData, + domain: deploymentData.domain, + createdBy: Object.assign(new User(), { + id: project.owner!.id!, + }), + }); + + log( + `Created deployment ${newDeployment.id} and published application record ${applicationRecordId}`, + ); + + const environmentVariables = + await this.db.getEnvironmentVariablesByProjectId(project!.id!, { + environment: Environment.Production, + }); + + const environmentVariablesObj = environmentVariables.reduce( + (acc, env) => { + acc[env.key] = env.value; + + return acc; + }, + {} as { [key: string]: string }, + ); + + // To set project DNS + if (deploymentData.environment === Environment.Production) { + // On deleting deployment later, project DNS deployment is also deleted + // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later + await this.registry.createApplicationDeploymentRequest({ + deployment: newDeployment, + appName: project.name!, + repository: repoUrl, + environmentVariables: environmentVariablesObj, + dns: `${newDeployment.project.name}`, + }); + } + const { applicationDeploymentRequestId, applicationDeploymentRequestData } = // Create requests for all the deployers await this.registry.createApplicationDeploymentRequest({ deployment: newDeployment, - appName: data.project!.name!, - repository: data.url!, - auctionId, + appName: project.name!, + repository: repoUrl, + auctionId: project.auctionId!, lrn: deployer, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}-${newDeployment.id}`, @@ -762,12 +791,6 @@ export class Service { applicationDeploymentRequestData, }); } - - // update project with deployerlrns - - await this.db.updateProjectById(data.project?.id!, { - deployerLrn: deployerLrns - }) } async addProjectFromTemplate( @@ -859,9 +882,10 @@ export class Service { commitMessage: latestCommit.commit.message, }; - const deployment = auctionData - ? await this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData) - : await this.createDeployment(user.id, octokit, deploymentData, lrn); + await (auctionData + ? this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData) + : this.createDeployment(user.id, octokit, deploymentData, lrn) + ); await this.createRepoHook(octokit, project); -- 2.45.2 From dfeb281586bb1685d1b93fb922032c22b3061216 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 7 Oct 2024 14:21:40 +0530 Subject: [PATCH 10/42] Pass auction data when adding project --- .../backend/environments/local.toml.example | 2 +- packages/backend/src/registry.ts | 10 ++++++---- .../components/projects/create/Configure.tsx | 20 +++++++++++-------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/packages/backend/environments/local.toml.example b/packages/backend/environments/local.toml.example index 5d392f39..a18bd357 100644 --- a/packages/backend/environments/local.toml.example +++ b/packages/backend/environments/local.toml.example @@ -38,7 +38,7 @@ [registryConfig.fee] gas = "" fees = "" - gasPrice = "1" + gasPrice = "1alnt" [auction] commitFee = "1000" diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 77d76d3e..671daec9 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -5,7 +5,7 @@ import { DateTime } from 'luxon'; import { DeepPartial } from 'typeorm'; import { Octokit } from 'octokit'; -import { Registry as LaconicRegistry, parseGasAndFees } from '@cerc-io/registry-sdk'; +import { Registry as LaconicRegistry, getGasPrice, parseGasAndFees } from '@cerc-io/registry-sdk'; import { Auction } from '@cerc-io/registry-sdk/dist/proto/cerc/auction/v1/auction'; import { RegistryConfig } from './config'; @@ -35,12 +35,13 @@ export class Registry { constructor (registryConfig: RegistryConfig) { this.registryConfig = registryConfig; - // const gasPrice = Util.getGasPrice(registryConfig.fee.gasPrice); + + const gasPrice = getGasPrice(registryConfig.fee.gasPrice); + this.registry = new LaconicRegistry( registryConfig.gqlEndpoint, registryConfig.restEndpoint, - // Pass gasPrice - { chainId: registryConfig.chainId } + { chainId: registryConfig.chainId, gasPrice } ); } @@ -218,6 +219,7 @@ export class Registry { const config = await getConfig(); const auctionConfig = config.auction; + const fee = parseGasAndFees(this.registryConfig.fee.gas, this.registryConfig.fee.fees); const auctionResult = await this.registry.createProviderAuction( diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 2a7c8e03..8fa2e049 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -1,6 +1,7 @@ import { useCallback, useState } from 'react'; import { useForm, Controller, SubmitHandler } from 'react-hook-form'; import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; +import { AuctionData } from 'gql-client'; import { Heading } from '../../shared/Heading'; import { Button } from '../../shared/Button'; @@ -13,7 +14,7 @@ type ConfigureFormValues = { option: string; lrn?: string; numProviders?: number; - maxPrice?: number; + maxPrice?: string; }; const Configure = () => { @@ -46,20 +47,23 @@ const Configure = () => { isPrivate }; - let configData: any; + let lrn: string | undefined; + let auctionData: AuctionData | undefined; + if (data.option === 'LRN') { - configData = data.lrn; + lrn = data.lrn; } else if (data.option === 'Auction') { - configData = { - numProviders: data.numProviders, - maxPrice: data.maxPrice - } + auctionData = { + numProviders: Number(data.numProviders!), + maxPrice: (data.maxPrice!).toString() + }; } const { addProjectFromTemplate } = await client.addProjectFromTemplate( orgSlug, projectData, - configData + lrn, + auctionData ); navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); -- 2.45.2 From 853a1024b37cf1ff3b2dd48170484144cb6d4517 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 7 Oct 2024 18:04:02 +0530 Subject: [PATCH 11/42] Check for auction if deployment request id is not present --- packages/backend/src/registry.ts | 30 +++++++++++++------- packages/backend/src/service.ts | 47 +++++++++++++++++--------------- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 671daec9..ac53f170 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -256,6 +256,8 @@ export class Registry { this.registryConfig.privateKey, fee ); + + log(`Application deployment auction created: ${auctionResult.auction.id}`); log(`Application deployment auction record published: ${result.id}`); log('Application deployment auction data:', applicationDeploymentAuction); @@ -337,18 +339,22 @@ export class Registry { const auctionResult = records[0]; let deployerLrns = []; - const { winnerAddresses } = auctionResult.auction; + const { winnerAddresses } = auctionResult; for (const auctionWinner of winnerAddresses) { - const deployerRecord = await this.registry.queryRecords( + const deployerRecords = await this.registry.queryRecords( { paymentAddress: auctionWinner, }, true ); - const lrn = deployerRecord.names.length > 0 ? deployerRecord.names[0] : null; - deployerLrns.push(lrn); + for (const record of deployerRecords) { + if (record.names && record.names.length > 0) { + deployerLrns.push(record.names[0]); + break; + } + } } return deployerLrns; @@ -449,14 +455,18 @@ export class Registry { }; } - async getCompletedAuctionIds(auctionIds: string[] | null | undefined): Promise { - if(auctionIds === null || auctionIds === undefined) { - return []; + async getCompletedAuctionIds(auctionIds: (string | null | undefined)[]): Promise { + const validAuctionIds = auctionIds.filter((id): id is string => id !== null && id !== undefined); + + if (!validAuctionIds.length) { + return null; } - const auctions = await this.registry.getAuctionsByIds(auctionIds); + + const auctions = await this.registry.getAuctionsByIds(validAuctionIds); + const completedAuctions = auctions - .filter((auction: Auction) => auction.status === 'completed') - .map((auction: Auction) => auction.id); + .filter((auction: Auction) => auction.status === 'completed') + .map((auction: Auction) => auction.id); return completedAuctions; } diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 7461ac3a..dc0a91f5 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -61,6 +61,8 @@ export class Service { this.checkDeployRecordsAndUpdate(); // Start check for ApplicationDeploymentRemovalRecords asynchronously this.checkDeploymentRemovalRecordsAndUpdate(); + // Start check for Deployment Auctions asynchronously + this.checkAuctionStatus(); } /** @@ -267,26 +269,26 @@ export class Service { * Checks for auction status for all ongoing auctions * Calls the createDeploymentFromAuction method for deployments with completed auctions */ - async checkAuctionStatus( - ): Promise { - // Deployment should be in building state and should not have domain. + async checkAuctionStatus(): Promise { const projects = await this.db.getProjects({ where: { - deployerLrn: IsNull() + deployments: { + applicationDeploymentRequestId: IsNull() + } }, }); - const auctionIds = projects - .map(project => project.auctionId) as string[]; - // Get all the auctions for those ids with auction status completed + const auctionIds = projects.map((project) => project.auctionId); const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); - // If the deplyer lrn array is empty then call createDeploymentFromAuction - const auctionProjects = projects.filter(project => - completedAuctionIds.includes(project.auctionId!) - ); - for (const project of auctionProjects) { - await this.createDeploymentFromAuction(project); + if (completedAuctionIds) { + const auctionProjects = projects.filter((project) => + completedAuctionIds.includes(project.auctionId!) + ); + + for (const project of auctionProjects) { + await this.createDeploymentFromAuction(project); + } } this.deployRecordCheckTimeout = setTimeout(() => { @@ -692,8 +694,7 @@ export class Service { await this.db.updateProjectById(project.id!, { deployerLrn: deployerLrns }) - - const octokit = await this.getOctokit(project.owner!.id!); + const octokit = await this.getOctokit(project.ownerId!); const [owner, repo] = project.repository!.split('/'); const repoUrl = ( @@ -739,7 +740,7 @@ export class Service { applicationRecordData, domain: deploymentData.domain, createdBy: Object.assign(new User(), { - id: project.owner!.id!, + id: project.ownerId!, }), }); @@ -767,7 +768,7 @@ export class Service { // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later await this.registry.createApplicationDeploymentRequest({ deployment: newDeployment, - appName: project.name!, + appName: repo, repository: repoUrl, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}`, @@ -778,7 +779,7 @@ export class Service { // Create requests for all the deployers await this.registry.createApplicationDeploymentRequest({ deployment: newDeployment, - appName: project.name!, + appName: repo, repository: repoUrl, auctionId: project.auctionId!, lrn: deployer, @@ -882,10 +883,12 @@ export class Service { commitMessage: latestCommit.commit.message, }; - await (auctionData - ? this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData) - : this.createDeployment(user.id, octokit, deploymentData, lrn) - ); + if (auctionData) { + const { applicationDeploymentAuctionId } = await this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData); + await this.updateProject(project.id, { auctionId: applicationDeploymentAuctionId }) + } else { + await this.createDeployment(user.id, octokit, deploymentData, lrn); + } await this.createRepoHook(octokit, project); -- 2.45.2 From 82dab8ce21b139837dede3e5df279f71b42a2c50 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 7 Oct 2024 19:25:15 +0530 Subject: [PATCH 12/42] Fix deployer LRN field in project --- packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/service.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 8b5f424a..f4f14394 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -49,7 +49,7 @@ export class Project { @Column('varchar', { nullable: true }) auctionId?: string | null; - @Column('varchar', { nullable: true }) + @Column({ type: 'simple-array', nullable: true }) deployerLrn?: string[] | null; // TODO: Compute template & framework in import repository diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index dc0a91f5..02fd004a 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -718,7 +718,7 @@ export class Service { const applicationRecordId = record.id; const applicationRecordData = record.attributes; - for (const deployer in deployerLrns) { + for (const deployer of deployerLrns) { // Create deployment with prod branch and latest commit const deploymentData = { project, -- 2.45.2 From 52ae15bf6296d1bc6cea0ae860fdd743346812c4 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Tue, 8 Oct 2024 12:36:09 +0530 Subject: [PATCH 13/42] Display loader for deploy button --- .../src/components/projects/create/Configure.tsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 8fa2e049..602ac5ee 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -1,8 +1,13 @@ import { useCallback, useState } from 'react'; import { useForm, Controller, SubmitHandler } from 'react-hook-form'; import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'; +import { useMediaQuery } from 'usehooks-ts'; import { AuctionData } from 'gql-client'; +import { + ArrowRightCircleFilledIcon, + LoadingIcon, +} from 'components/shared/CustomIcon'; import { Heading } from '../../shared/Heading'; import { Button } from '../../shared/Button'; import { Select, SelectOption } from 'components/shared/Select'; @@ -34,6 +39,9 @@ const Configure = () => { const selectedOption = watch('option'); + const isTabletView = useMediaQuery('(min-width: 720px)'); // md: + const buttonSize = isTabletView ? { size: 'lg' as const } : {}; + const onSubmit: SubmitHandler = useCallback( async (data) => { setIsLoading(true); @@ -154,8 +162,16 @@ const Configure = () => {
-- 2.45.2 From 012dd63a45043672d6ec11a20caca2a062fa5e5a Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Tue, 8 Oct 2024 13:56:09 +0530 Subject: [PATCH 14/42] Navigate to success page after auction creation --- .../backend/environments/local.toml.example | 3 +- packages/backend/src/service.ts | 2 +- .../components/projects/create/Configure.tsx | 10 +++++- .../org-slug/projects/create/success/Id.tsx | 36 ++++++++++--------- yarn.lock | 8 ++--- 5 files changed, 36 insertions(+), 23 deletions(-) diff --git a/packages/backend/environments/local.toml.example b/packages/backend/environments/local.toml.example index a18bd357..9a3fb54c 100644 --- a/packages/backend/environments/local.toml.example +++ b/packages/backend/environments/local.toml.example @@ -30,7 +30,8 @@ [registryConfig] fetchDeploymentRecordDelay = 5000 checkAuctionStatusDelay = 5000 - restEndpoint = "http://dss-daemon.test1.wireitin.com:26657" + restEndpoint = "http://localhost:1317" + gqlEndpoint = "http://localhost:9473/api" chainId = "laconic_9000-1" privateKey = "" bondId = "" diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 02fd004a..e8dd2f6c 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -266,7 +266,7 @@ export class Service { } /** - * Checks for auction status for all ongoing auctions + * Checks the status for all ongoing auctions * Calls the createDeploymentFromAuction method for deployments with completed auctions */ async checkAuctionStatus(): Promise { diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 602ac5ee..4ae25460 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -74,7 +74,15 @@ const Configure = () => { auctionData ); - navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); + data.option === 'Auction' + ? navigate( + `/${orgSlug}/projects/create/success/${addProjectFromTemplate.id}`, + { + state: { + isAuction: true + } + }) + : navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); } catch (error) { console.error('Error creating project:', error); toast({ diff --git a/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx b/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx index 7e8deb3b..837be153 100644 --- a/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx +++ b/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx @@ -1,4 +1,4 @@ -import { Link, useParams } from 'react-router-dom'; +import { Link, useLocation, useParams } from 'react-router-dom'; import Lottie from 'lottie-react'; import { Badge } from 'components/shared/Badge'; @@ -19,6 +19,8 @@ const Id = () => { const { id, orgSlug } = useParams(); const client = useGQLClient(); const [project, setProject] = useState(null); + const location = useLocation(); + const { isAuction } = location.state || {}; const handleSetupDomain = async () => { if (id) { @@ -51,22 +53,24 @@ const Id = () => { {/* Heading */}
- Project deployed successfully. + {isAuction? 'Project created successfully.' : 'Project deployed successfully.'} -

- Your project has been deployed at{' '} - -

+ {!isAuction && ( +

+ Your project has been deployed at{' '} + +

+ )}
{/* Card */} diff --git a/yarn.lock b/yarn.lock index a80465ac..baa03dc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1431,10 +1431,10 @@ resolved "https://registry.yarnpkg.com/@bugsnag/safe-json-stringify/-/safe-json-stringify-6.0.0.tgz#22abdcd83e008c369902976730c34c150148a758" integrity sha512-htzFO1Zc57S8kgdRK9mLcPVTW1BY2ijfH7Dk2CeZmspTWKdKqSo1iwmqrq2WtRjFlo8aRZYgLX0wFrDXF/9DLA== -"@cerc-io/registry-sdk@^0.2.5": - version "0.2.10" - resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fregistry-sdk/-/0.2.10/registry-sdk-0.2.10.tgz#15773ea36a862585cdcb0991cbf075736f845f96" - integrity sha512-xxVD7ylrN951TFoSFbluz7mt4SwSCv7z+yry3jGd8v8TWnycoBMMrrYSTfETs6Ydxwziiz/uLrRwk59vFZxLEA== +"@cerc-io/registry-sdk@^0.2.11": + version "0.2.11" + resolved "https://git.vdb.to/api/packages/cerc-io/npm/%40cerc-io%2Fregistry-sdk/-/0.2.11/registry-sdk-0.2.11.tgz#019b792c68f440f2cfca5af2f49e1205bb33ba72" + integrity sha512-IipqJzaBQEXMNH6yWFG2E/o0U6IAXw35PBMHx6QIboVu/sMNLIsWy1P8MmR8C8xYsmHOhgXLsC4hYSeFMXrqFw== dependencies: "@cosmjs/amino" "^0.28.1" "@cosmjs/crypto" "^0.28.1" -- 2.45.2 From 5fe04dd6919ae816f3cf3ddd7ceb372f63b57b44 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Tue, 8 Oct 2024 16:58:59 +0530 Subject: [PATCH 15/42] Check request Id for updating deployment data --- packages/backend/src/registry.ts | 7 ++----- packages/backend/src/service.ts | 12 ++++++------ packages/backend/src/types.ts | 19 +++++++++++++++++++ packages/backend/src/utils.ts | 1 - 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index ac53f170..be2d6c6d 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -6,7 +6,6 @@ import { DeepPartial } from 'typeorm'; import { Octokit } from 'octokit'; import { Registry as LaconicRegistry, getGasPrice, parseGasAndFees } from '@cerc-io/registry-sdk'; -import { Auction } from '@cerc-io/registry-sdk/dist/proto/cerc/auction/v1/auction'; import { RegistryConfig } from './config'; import { @@ -15,7 +14,7 @@ import { ApplicationDeploymentRequest, ApplicationDeploymentRemovalRequest } from './entity/Deployment'; -import { AppDeploymentRecord, AppDeploymentRemovalRecord, AuctionData, PackageJSON } from './types'; +import { AppDeploymentRecord, AppDeploymentRemovalRecord, Auction, AuctionData, PackageJSON } from './types'; import { getConfig, sleep } from './utils'; const log = debug('snowball:registry'); @@ -195,7 +194,7 @@ export class Registry { }) ).data.html_url; - // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) + // TODO: Set environment variables for each deployment (environment variables can't be set in application record) const { applicationRecordId } = await this.createApplicationRecord({ appName: repo, @@ -221,7 +220,6 @@ export class Registry { const auctionConfig = config.auction; const fee = parseGasAndFees(this.registryConfig.fee.gas, this.registryConfig.fee.fees); - const auctionResult = await this.registry.createProviderAuction( { commitFee: auctionConfig.commitFee, @@ -472,7 +470,6 @@ export class Registry { } async getRecordsByName(name: string): Promise { - return this.registry.resolveNames([name]); } diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index e8dd2f6c..266e6106 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -194,7 +194,7 @@ export class Service { const recordToDeploymentsMap = deployments.reduce( (acc: { [key: string]: Deployment }, deployment) => { - acc[deployment.applicationRecordId] = deployment; + acc[deployment.applicationDeploymentRequestId!] = deployment; return acc; }, {}, @@ -202,7 +202,7 @@ export class Service { // Update deployment data for ApplicationDeploymentRecords const deploymentUpdatePromises = records.map(async (record) => { - const deployment = recordToDeploymentsMap[record.attributes.application]; + const deployment = recordToDeploymentsMap[record.attributes.request]; await this.db.updateDeploymentById(deployment.id, { applicationDeploymentRecordId: record.id, @@ -282,11 +282,11 @@ export class Service { const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); if (completedAuctionIds) { - const auctionProjects = projects.filter((project) => + const projectsToBedeployed = projects.filter((project) => completedAuctionIds.includes(project.auctionId!) ); - for (const project of auctionProjects) { + for (const project of projectsToBedeployed) { await this.createDeploymentFromAuction(project); } } @@ -688,12 +688,12 @@ export class Service { async createDeploymentFromAuction( project: DeepPartial, ) { - const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); - // Update project with deployer LRNs + const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); await this.db.updateProjectById(project.id!, { deployerLrn: deployerLrns }) + const octokit = await this.getOctokit(project.ownerId!); const [owner, repo] = project.repository!.split('/'); diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts index 5f368c0b..ab12b8be 100644 --- a/packages/backend/src/types.ts +++ b/packages/backend/src/types.ts @@ -70,6 +70,25 @@ export interface AddProjectFromTemplateInput { isPrivate: boolean; } +export interface Auction { + id: string; + kind: string; + status: string; + ownerAddress: string; + createTime?: Date; + commitsEndTime?: Date; + revealsEndTime?: Date; + commitFee?: string; + revealFee?: string; + minimumBid?: string; + winnerAddresses: string[]; + winningBids: string[]; + winningPrice?: string; + maxPrice?: string; + numProviders: number; + fundsReleased: boolean; +} + export interface AuctionData { maxPrice: string, numProviders: number, diff --git a/packages/backend/src/utils.ts b/packages/backend/src/utils.ts index f8314c87..83ceb533 100644 --- a/packages/backend/src/utils.ts +++ b/packages/backend/src/utils.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import fs from 'fs-extra'; import path from 'path'; import toml from 'toml'; -- 2.45.2 From a9e69afe08527fe124287932a44cc0ccddb96d2b Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Tue, 8 Oct 2024 18:57:07 +0530 Subject: [PATCH 16/42] Update UI for configure deployment step --- .../components/projects/create/Configure.tsx | 145 ++++++++++-------- 1 file changed, 77 insertions(+), 68 deletions(-) diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 4ae25460..1411c5df 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -75,14 +75,14 @@ const Configure = () => { ); data.option === 'Auction' - ? navigate( - `/${orgSlug}/projects/create/success/${addProjectFromTemplate.id}`, - { - state: { - isAuction: true - } - }) - : navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); + ? navigate( + `/${orgSlug}/projects/create/success/${addProjectFromTemplate.id}`, + { + state: { + isAuction: true + } + }) + : navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); } catch (error) { console.error('Error creating project:', error); toast({ @@ -105,87 +105,96 @@ const Configure = () => { Configure deployment + + The app can be deployed by setting the deployer LRN for a single deployment or by creating a deployer auction for multiple deployments +
-
-
- Choose an option - ( - + + )} />
-
- Max Price - ( - - )} - /> -
- - )} + )} -
- + {selectedOption === 'Auction' && ( + <> +
+ + Set the number of deployers and maximum price for each deployment + + Number of Deployers + ( + + )} + /> +
+
+ Maximum Price (alnt) + ( + + )} + /> +
+ + )} + +
+ +
-
-
+ ); }; -- 2.45.2 From 22fb9323d7e9e488a93f7eebe340f24e76d27941 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Wed, 9 Oct 2024 11:04:55 +0530 Subject: [PATCH 17/42] Store deployer lrn for each deployment --- packages/backend/src/entity/Deployment.ts | 3 ++ packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/service.ts | 44 ++++++++++++------- .../components/projects/create/Configure.tsx | 2 +- 4 files changed, 33 insertions(+), 18 deletions(-) diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index 39485ba5..a2719986 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -127,6 +127,9 @@ export class Deployment { @Column('simple-json', { nullable: true }) applicationDeploymentRemovalRecordData!: AppDeploymentRemovalRecordAttributes | null; + @Column('varchar') + deployerLrn!: string; + @Column({ enum: Environment }) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index f4f14394..e877878a 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -50,7 +50,7 @@ export class Project { auctionId?: string | null; @Column({ type: 'simple-array', nullable: true }) - deployerLrn?: string[] | null; + deployerLrn!: string[] | null; // TODO: Compute template & framework in import repository @Column('varchar', { nullable: true }) diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 266e6106..58e1cb91 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -553,7 +553,7 @@ export class Service { domain: prodBranchDomains[0], commitHash: oldDeployment.commitHash, commitMessage: oldDeployment.commitMessage, - }); + }, oldDeployment.deployerLrn); return newDeployment; } @@ -562,7 +562,7 @@ export class Service { userId: string, octokit: Octokit, data: DeepPartial, - lrn?: string + lrn: string ): Promise { assert(data.project?.repository, 'Project repository not found'); log( @@ -629,6 +629,7 @@ export class Service { createdBy: Object.assign(new User(), { id: userId, }), + deployerLrn: lrn, }); log( @@ -887,7 +888,7 @@ export class Service { const { applicationDeploymentAuctionId } = await this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData); await this.updateProject(project.id, { auctionId: applicationDeploymentAuctionId }) } else { - await this.createDeployment(user.id, octokit, deploymentData, lrn); + await this.createDeployment(user.id, octokit, deploymentData, lrn!); } await this.createRepoHook(octokit, project); @@ -959,19 +960,30 @@ export class Service { branch, }); - // Create deployment with branch and latest commit in GitHub data - await this.createDeployment(project.ownerId, octokit, { - project, - branch, - environment: - project.prodBranch === branch - ? Environment.Production - : Environment.Preview, - domain, - commitHash: headCommit.id, - commitMessage: headCommit.message, - }); + const deployers = project.deployerLrn; + if (!deployers) { + return; + } + + for (const deployer of deployers) { + // Create deployment with branch and latest commit in GitHub data + await this.createDeployment(project.ownerId, octokit, + { + project, + branch, + environment: + project.prodBranch === branch + ? Environment.Production + : Environment.Preview, + domain, + commitHash: headCommit.id, + commitMessage: headCommit.message, + }, + deployer + ); + } } + } async updateProject( @@ -1028,7 +1040,7 @@ export class Service { domain: oldDeployment.domain, commitHash: oldDeployment.commitHash, commitMessage: oldDeployment.commitMessage, - }); + }, oldDeployment.deployerLrn); return newDeployment; } diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 1411c5df..244b814c 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -190,7 +190,7 @@ const Configure = () => { ) } > - {isLoading ? 'Deploying' : 'Deploy'} + {isLoading ? 'Deploying repo' : 'Deploy repo'} -- 2.45.2 From f67dbd0ff342c49b584ffa71fd3c8aacb318ed7a Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Wed, 9 Oct 2024 12:04:29 +0530 Subject: [PATCH 18/42] Pass auction id in deployment requests --- packages/backend/src/registry.ts | 4 +- packages/backend/src/service.ts | 189 +++++++++++++++++-------------- 2 files changed, 104 insertions(+), 89 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index be2d6c6d..04e5895a 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -269,7 +269,7 @@ export class Registry { appName: string, repository: string, auctionId?: string, - lrn?: string, + lrn: string, environmentVariables: { [key: string]: string }, dns: string, }): Promise<{ @@ -304,7 +304,7 @@ export class Registry { repository: data.repository, repository_ref: data.deployment.commitHash }), - ...(data.lrn && { deployer: data.lrn }), + deployer: data.lrn, ...(data.auctionId && { auction: data.auctionId }), }; diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 58e1cb91..2306db02 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -287,7 +287,15 @@ export class Service { ); for (const project of projectsToBedeployed) { - await this.createDeploymentFromAuction(project); + const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); + + // Update project with deployer LRNs + await this.db.updateProjectById(project.id!, { + deployerLrn: deployerLrns + }) + for (const deployer of deployerLrns) { + await this.createDeploymentFromAuction(project, deployer); + } } } @@ -660,6 +668,7 @@ export class Service { repository: repoUrl, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}`, + lrn }); } @@ -688,13 +697,8 @@ export class Service { async createDeploymentFromAuction( project: DeepPartial, - ) { - // Update project with deployer LRNs - const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); - await this.db.updateProjectById(project.id!, { - deployerLrn: deployerLrns - }) - + deployer: string + ): Promise { const octokit = await this.getOctokit(project.ownerId!); const [owner, repo] = project.repository!.split('/'); @@ -719,80 +723,82 @@ export class Service { const applicationRecordId = record.id; const applicationRecordData = record.attributes; - for (const deployer of deployerLrns) { - // Create deployment with prod branch and latest commit - const deploymentData = { - project, - branch: project.prodBranch, - environment: Environment.Production, - domain: null, - commitHash: latestCommit.sha, - commitMessage: latestCommit.commit.message, - }; + // Create deployment with prod branch and latest commit + const deploymentData = { + project, + branch: project.prodBranch, + environment: Environment.Production, + domain: null, + commitHash: latestCommit.sha, + commitMessage: latestCommit.commit.message, + }; - const newDeployment = await this.db.addDeployment({ - project: project, - branch: deploymentData.branch, - commitHash: deploymentData.commitHash, - commitMessage: deploymentData.commitMessage, - environment: deploymentData.environment, - status: DeploymentStatus.Building, - applicationRecordId, - applicationRecordData, - domain: deploymentData.domain, - createdBy: Object.assign(new User(), { - id: project.ownerId!, - }), + const newDeployment = await this.db.addDeployment({ + project: project, + branch: deploymentData.branch, + commitHash: deploymentData.commitHash, + commitMessage: deploymentData.commitMessage, + environment: deploymentData.environment, + status: DeploymentStatus.Building, + applicationRecordId, + applicationRecordData, + domain: deploymentData.domain, + createdBy: Object.assign(new User(), { + id: project.ownerId!, + }), + deployerLrn: deployer + }); + + log( + `Created deployment ${newDeployment.id} and published application record ${applicationRecordId}`, + ); + + const environmentVariables = + await this.db.getEnvironmentVariablesByProjectId(project!.id!, { + environment: Environment.Production, }); - log( - `Created deployment ${newDeployment.id} and published application record ${applicationRecordId}`, - ); + const environmentVariablesObj = environmentVariables.reduce( + (acc, env) => { + acc[env.key] = env.value; - const environmentVariables = - await this.db.getEnvironmentVariablesByProjectId(project!.id!, { - environment: Environment.Production, - }); + return acc; + }, + {} as { [key: string]: string }, + ); - const environmentVariablesObj = environmentVariables.reduce( - (acc, env) => { - acc[env.key] = env.value; - - return acc; - }, - {} as { [key: string]: string }, - ); - - // To set project DNS - if (deploymentData.environment === Environment.Production) { - // On deleting deployment later, project DNS deployment is also deleted - // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later - await this.registry.createApplicationDeploymentRequest({ - deployment: newDeployment, - appName: repo, - repository: repoUrl, - environmentVariables: environmentVariablesObj, - dns: `${newDeployment.project.name}`, - }); - } - - const { applicationDeploymentRequestId, applicationDeploymentRequestData } = - // Create requests for all the deployers - await this.registry.createApplicationDeploymentRequest({ - deployment: newDeployment, - appName: repo, - repository: repoUrl, - auctionId: project.auctionId!, - lrn: deployer, - environmentVariables: environmentVariablesObj, - dns: `${newDeployment.project.name}-${newDeployment.id}`, - }); - - await this.db.updateDeploymentById(newDeployment.id, { - applicationDeploymentRequestId, - applicationDeploymentRequestData, + // To set project DNS + if (deploymentData.environment === Environment.Production) { + // On deleting deployment later, project DNS deployment is also deleted + // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later + await this.registry.createApplicationDeploymentRequest({ + deployment: newDeployment, + appName: repo, + repository: repoUrl, + environmentVariables: environmentVariablesObj, + dns: `${newDeployment.project.name}`, + lrn }); } + + const { applicationDeploymentRequestId, applicationDeploymentRequestData } = + // Create requests for all the deployers + await this.registry.createApplicationDeploymentRequest({ + deployment: newDeployment, + appName: repo, + repository: repoUrl, + auctionId: project.auctionId!, + lrn: deployer, + environmentVariables: environmentVariablesObj, + dns: `${newDeployment.project.name}-${newDeployment.id}`, + }); + + await this.db.updateDeploymentById(newDeployment.id, { + applicationDeploymentRequestId, + applicationDeploymentRequestData, + }); + + return newDeployment; } async addProjectFromTemplate( @@ -972,9 +978,9 @@ export class Service { project, branch, environment: - project.prodBranch === branch - ? Environment.Production - : Environment.Preview, + project.prodBranch === branch + ? Environment.Production + : Environment.Preview, domain, commitHash: headCommit.id, commitMessage: headCommit.message, @@ -1032,15 +1038,24 @@ export class Service { const octokit = await this.getOctokit(user.id); - const newDeployment = await this.createDeployment(user.id, octokit, { - project: oldDeployment.project, - // TODO: Put isCurrent field in project - branch: oldDeployment.branch, - environment: Environment.Production, - domain: oldDeployment.domain, - commitHash: oldDeployment.commitHash, - commitMessage: oldDeployment.commitMessage, - }, oldDeployment.deployerLrn); + let newDeployment: Deployment; + + if (oldDeployment.project.auctionId) { + newDeployment = await this.createDeploymentFromAuction(oldDeployment.project, oldDeployment.deployerLrn); + } else { + newDeployment = await this.createDeployment(user.id, octokit, + { + project: oldDeployment.project, + // TODO: Put isCurrent field in project + branch: oldDeployment.branch, + environment: Environment.Production, + domain: oldDeployment.domain, + commitHash: oldDeployment.commitHash, + commitMessage: oldDeployment.commitMessage, + }, + oldDeployment.deployerLrn + ); + } return newDeployment; } -- 2.45.2 From fb873d9bc168bd84a82a9947df295f439d73f7d9 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Wed, 9 Oct 2024 14:40:15 +0530 Subject: [PATCH 19/42] Pass auction Id in DNS deployment --- packages/backend/src/entity/Deployment.ts | 3 +++ packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/registry.ts | 3 +-- packages/backend/src/service.ts | 6 ++++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index a2719986..239e88ee 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -130,6 +130,9 @@ export class Deployment { @Column('varchar') deployerLrn!: string; + @Column('varchar', { nullable: true }) + auctionId!: string | null; + @Column({ enum: Environment }) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index e877878a..646cff59 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -47,7 +47,7 @@ export class Project { description!: string; @Column('varchar', { nullable: true }) - auctionId?: string | null; + auctionId!: string | null; @Column({ type: 'simple-array', nullable: true }) deployerLrn!: string[] | null; diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 04e5895a..17e670ed 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -377,8 +377,7 @@ export class Registry { return records.filter((record: AppDeploymentRecord) => deployments.some( (deployment) => - deployment.applicationRecordId === record.attributes.application && - record.attributes.url.includes(deployment.id) + deployment.applicationRecordId === record.attributes.application ) ); } diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 2306db02..19ef0d7d 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -746,7 +746,8 @@ export class Service { createdBy: Object.assign(new User(), { id: project.ownerId!, }), - deployerLrn: deployer + deployerLrn: deployer, + auctionId: project.auctionId }); log( @@ -777,7 +778,8 @@ export class Service { repository: repoUrl, environmentVariables: environmentVariablesObj, dns: `${newDeployment.project.name}`, - lrn + auctionId: project.auctionId!, + lrn: deployer, }); } -- 2.45.2 From 614405a2f4cba2b92912c1fd2c3ca891efa3c19e Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Wed, 9 Oct 2024 18:26:25 +0530 Subject: [PATCH 20/42] Display auction details in Overview tab --- packages/backend/src/registry.ts | 5 + packages/backend/src/resolvers.ts | 7 ++ packages/backend/src/schema.gql | 8 ++ packages/backend/src/service.ts | 7 ++ .../project/overview/Activity/AuctionData.tsx | 94 +++++++++++++++++++ .../frontend/src/pages/components/modals.tsx | 2 + .../pages/org-slug/projects/id/Overview.tsx | 2 + .../frontend/src/stories/MockStoriesData.ts | 4 + packages/gql-client/dist/index.d.mts | 13 ++- packages/gql-client/dist/index.d.ts | 13 ++- packages/gql-client/dist/index.js | 27 ++++++ packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 26 +++++ packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/client.ts | 11 +++ packages/gql-client/src/queries.ts | 8 ++ packages/gql-client/src/types.ts | 11 +++ 17 files changed, 238 insertions(+), 4 deletions(-) create mode 100644 packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 17e670ed..c987dbbf 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -472,6 +472,11 @@ export class Registry { return this.registry.resolveNames([name]); } + async getAuctionData(auctionId: string): Promise { + const auction = this.registry.getAuctionsByIds([auctionId]); + return auction; + } + getLrn(appName: string): string { assert(this.registryConfig.authority, "Authority doesn't exist"); return `lrn://${this.registryConfig.authority}/applications/${appName}`; diff --git a/packages/backend/src/resolvers.ts b/packages/backend/src/resolvers.ts index 138595ca..7a283ab8 100644 --- a/packages/backend/src/resolvers.ts +++ b/packages/backend/src/resolvers.ts @@ -69,6 +69,13 @@ export const createResolvers = async (service: Service): Promise => { ) => { return service.getDomainsByProjectId(projectId, filter); }, + + getAuctionStatus: async ( + _: any, + { auctionId }: { auctionId: string }, + ) => { + return service.getAuctionStatus(auctionId); + }, }, // TODO: Return error in GQL response diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index d3178e40..ca6d6e47 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -22,6 +22,13 @@ enum DeploymentStatus { Deleting } +enum AuctionStatus { + AuctionStatusCommitPhase + AuctionStatusRevealPhase + AuctionStatusExpired + AuctionStatusCompleted +} + enum DomainStatus { Live Pending @@ -199,6 +206,7 @@ type Query { environmentVariables(projectId: String!): [EnvironmentVariable!] projectMembers(projectId: String!): [ProjectMember!] searchProjects(searchText: String!): [Project!] + getAuctionStatus(auctionId: String!): AuctionStatus! domains(projectId: String!, filter: FilterDomainsInput): [Domain] } diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 19ef0d7d..14a3660a 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -1267,4 +1267,11 @@ export class Service { ): Promise { return this.db.updateUser(user, data); } + + async getAuctionStatus( + auctionId: string + ): Promise { + const auctions = await this.registry.getAuctionData(auctionId); + return auctions[0].status; + } } diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx new file mode 100644 index 00000000..5dd4d694 --- /dev/null +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx @@ -0,0 +1,94 @@ +import { useCallback, useEffect, useState } from 'react'; +import { Project } from 'gql-client'; + +import { CheckRoundFilledIcon, GlobeIcon, LoadingIcon } from 'components/shared/CustomIcon'; +import { useGQLClient } from 'context/GQLClientContext'; +import { Tag } from 'components/shared'; + +const CHECK_AUCTION_STATUS_INTERVAL = 2000; + +export const AuctionData = ({ + project +}: { + project: Project +}) => { + const [isAuctionCompleted, setIsAuctionCompleted] = useState(true); + const client = useGQLClient(); + const getIconByAuctionStatus = (isCompleted: Boolean) => { + return isCompleted ? : + }; + + const checkAuctionStatus = async () => { + const result = await client.getAuctionStatus(project.auctionId); + + if (result) { + setIsAuctionCompleted(true); + } + }; + + useEffect(() => { + let intervalId: NodeJS.Timeout | null = null; + + if (!isAuctionCompleted) { + checkAuctionStatus(); + intervalId = setInterval(checkAuctionStatus, CHECK_AUCTION_STATUS_INTERVAL); + } + + return () => { + if (intervalId) { + clearInterval(intervalId); + } + }; + }, [isAuctionCompleted]); + + const renderAuctionStatus = useCallback( + (className?: string) => { + return ( +
+ + {isAuctionCompleted ? 'Auction Completed' : 'Auction ongoing'} + +
+ ); + }, + [isAuctionCompleted], + ); + + return ( + <> +
+
+ + Auction data +
+ + {/* AUCTION STATUS */} +
+ {renderAuctionStatus('w-[10%] max-w-[110px] hidden md:flex h-fit')} +
+
+ +
+

+ Auction Id: {project.auctionId} +

+ +

+ Deployer LRNs: +

+ +
+ {project.deployerLrn.map((lrn, index) => ( +

+ {lrn} +

+ ))} +
+
+ + + ); +}; diff --git a/packages/frontend/src/pages/components/modals.tsx b/packages/frontend/src/pages/components/modals.tsx index 98b0eae2..0d3b0288 100644 --- a/packages/frontend/src/pages/components/modals.tsx +++ b/packages/frontend/src/pages/components/modals.tsx @@ -36,6 +36,8 @@ const deployment: Deployment = { url: 'https://deploy1.example.com', environment: Environment.Production, isCurrent: true, + auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', + deployerLrn: 'lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', status: DeploymentStatus.Ready, createdBy: { id: 'user1', diff --git a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx index 895da48b..00c77ee9 100644 --- a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx +++ b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx @@ -21,6 +21,7 @@ import { Activity } from 'components/projects/project/overview/Activity'; import { OverviewInfo } from 'components/projects/project/overview/OverviewInfo'; import { relativeTimeMs } from 'utils/time'; import { Domain, DomainStatus } from 'gql-client'; +import { AuctionData } from 'components/projects/project/overview/Activity/AuctionData'; const COMMITS_PER_PAGE = 4; @@ -136,6 +137,7 @@ const OverviewTabPanel = () => { + }> {liveDomain ? ( }> diff --git a/packages/frontend/src/stories/MockStoriesData.ts b/packages/frontend/src/stories/MockStoriesData.ts index 9bb999ad..8cc6b06a 100644 --- a/packages/frontend/src/stories/MockStoriesData.ts +++ b/packages/frontend/src/stories/MockStoriesData.ts @@ -102,6 +102,8 @@ export const deployment0: Deployment = { domain: domain0, commitMessage: 'Commit Message', createdBy: user, + auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', + deployerLrn: 'lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', }; export const project: Project = { @@ -119,6 +121,8 @@ export const project: Project = { organization: organization, template: 'Template', members: [member], + auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', + deployerLrn: ['lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', 'lrn://wireitin/deployers/webapp-deployer-api.wireitin.com'], webhooks: ['beepboop'], icon: 'Icon', subDomain: 'SubDomain', diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index 20f83ddb..d91a00dd 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -18,6 +18,12 @@ declare enum DeploymentStatus { Error = "Error", Deleting = "Deleting" } +declare enum AuctionStatus { + AuctionStatusCommitPhase = "commit", + AuctionStatusRevealPhase = "reveal", + AuctionStatusExpired = "expired", + AuctionStatusCompleted = "completed" +} declare enum DomainStatus { Live = "Live", Pending = "Pending" @@ -55,6 +61,8 @@ type Deployment = { commitHash: string; commitMessage: string; url?: string; + deployerLrn: string; + auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; @@ -112,6 +120,8 @@ type Project = { description: string; template: string; framework: string; + deployerLrn: string[]; + auctionId: string; webhooks: string[]; members: ProjectMember[]; environmentVariables: EnvironmentVariable[]; @@ -294,6 +304,7 @@ declare class GQLClient { getDomains(projectId: string, filter?: FilterDomainInput): Promise; authenticateGitHub(code: string): Promise; unauthenticateGithub(): Promise; + getAuctionStatus(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index 20f83ddb..d91a00dd 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -18,6 +18,12 @@ declare enum DeploymentStatus { Error = "Error", Deleting = "Deleting" } +declare enum AuctionStatus { + AuctionStatusCommitPhase = "commit", + AuctionStatusRevealPhase = "reveal", + AuctionStatusExpired = "expired", + AuctionStatusCompleted = "completed" +} declare enum DomainStatus { Live = "Live", Pending = "Pending" @@ -55,6 +61,8 @@ type Deployment = { commitHash: string; commitMessage: string; url?: string; + deployerLrn: string; + auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; @@ -112,6 +120,8 @@ type Project = { description: string; template: string; framework: string; + deployerLrn: string[]; + auctionId: string; webhooks: string[]; members: ProjectMember[]; environmentVariables: EnvironmentVariable[]; @@ -294,6 +304,7 @@ declare class GQLClient { getDomains(projectId: string, filter?: FilterDomainInput): Promise; authenticateGitHub(code: string): Promise; unauthenticateGithub(): Promise; + getAuctionStatus(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index 1bfb5d61..3fd244be 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -40,6 +40,7 @@ var __async = (__this, __arguments, generator) => { // src/index.ts var src_exports = {}; __export(src_exports, { + AuctionStatus: () => AuctionStatus, DeploymentStatus: () => DeploymentStatus, DomainStatus: () => DomainStatus, Environment: () => Environment, @@ -182,6 +183,8 @@ query ($projectId: String!) { commitHash commitMessage url + auctionId + deployerLrn environment isCurrent status @@ -269,6 +272,11 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } } `; +var getAuctionStatus = import_client.gql` +query ($auctionId: String!) { + getAuctionStatus(auctionId: $auctionId) +} +`; // src/mutations.ts var import_client2 = require("@apollo/client"); @@ -714,6 +722,17 @@ var GQLClient = class { return data; }); } + getAuctionStatus(auctionId) { + return __async(this, null, function* () { + const { data } = yield this.client.query({ + query: getAuctionStatus, + variables: { + auctionId + } + }); + return data; + }); + } }; // src/types.ts @@ -741,6 +760,13 @@ var DeploymentStatus = /* @__PURE__ */ ((DeploymentStatus2) => { DeploymentStatus2["Deleting"] = "Deleting"; return DeploymentStatus2; })(DeploymentStatus || {}); +var AuctionStatus = /* @__PURE__ */ ((AuctionStatus2) => { + AuctionStatus2["AuctionStatusCommitPhase"] = "commit"; + AuctionStatus2["AuctionStatusRevealPhase"] = "reveal"; + AuctionStatus2["AuctionStatusExpired"] = "expired"; + AuctionStatus2["AuctionStatusCompleted"] = "completed"; + return AuctionStatus2; +})(AuctionStatus || {}); var DomainStatus = /* @__PURE__ */ ((DomainStatus2) => { DomainStatus2["Live"] = "Live"; DomainStatus2["Pending"] = "Pending"; @@ -748,6 +774,7 @@ var DomainStatus = /* @__PURE__ */ ((DomainStatus2) => { })(DomainStatus || {}); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { + AuctionStatus, DeploymentStatus, DomainStatus, Environment, diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index f23172a8..c503a9fa 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionStatus(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionStatus,\n variables: {\n auctionId,\n },\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionStatus = gql`\nquery ($auctionId: String!) {\n getAuctionStatus(auctionId: $auctionId)\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 4094084f..7578287c 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -155,6 +155,8 @@ query ($projectId: String!) { commitHash commitMessage url + auctionId + deployerLrn environment isCurrent status @@ -242,6 +244,11 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } } `; +var getAuctionStatus = gql` +query ($auctionId: String!) { + getAuctionStatus(auctionId: $auctionId) +} +`; // src/mutations.ts import { gql as gql2 } from "@apollo/client"; @@ -687,6 +694,17 @@ var GQLClient = class { return data; }); } + getAuctionStatus(auctionId) { + return __async(this, null, function* () { + const { data } = yield this.client.query({ + query: getAuctionStatus, + variables: { + auctionId + } + }); + return data; + }); + } }; // src/types.ts @@ -714,12 +732,20 @@ var DeploymentStatus = /* @__PURE__ */ ((DeploymentStatus2) => { DeploymentStatus2["Deleting"] = "Deleting"; return DeploymentStatus2; })(DeploymentStatus || {}); +var AuctionStatus = /* @__PURE__ */ ((AuctionStatus2) => { + AuctionStatus2["AuctionStatusCommitPhase"] = "commit"; + AuctionStatus2["AuctionStatusRevealPhase"] = "reveal"; + AuctionStatus2["AuctionStatusExpired"] = "expired"; + AuctionStatus2["AuctionStatusCompleted"] = "completed"; + return AuctionStatus2; +})(AuctionStatus || {}); var DomainStatus = /* @__PURE__ */ ((DomainStatus2) => { DomainStatus2["Live"] = "Live"; DomainStatus2["Pending"] = "Pending"; return DomainStatus2; })(DomainStatus || {}); export { + AuctionStatus, DeploymentStatus, DomainStatus, Environment, diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 95fa4906..8d6a76a2 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionStatus(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionStatus,\n variables: {\n auctionId,\n },\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionStatus = gql`\nquery ($auctionId: String!) {\n getAuctionStatus(auctionId: $auctionId)\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/client.ts b/packages/gql-client/src/client.ts index 3a25a45b..829edac4 100644 --- a/packages/gql-client/src/client.ts +++ b/packages/gql-client/src/client.ts @@ -409,4 +409,15 @@ export class GQLClient { return data; } + + async getAuctionStatus(auctionId: string): Promise { + const { data } = await this.client.query({ + query: queries.getAuctionStatus, + variables: { + auctionId, + }, + }); + + return data; + } } diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index 71c4d249..d98ccfd5 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -132,6 +132,8 @@ query ($projectId: String!) { commitHash commitMessage url + auctionId + deployerLrn environment isCurrent status @@ -223,3 +225,9 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } } `; + +export const getAuctionStatus = gql` +query ($auctionId: String!) { + getAuctionStatus(auctionId: $auctionId) +} +`; diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 2f5fca97..2618d8d2 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -25,6 +25,13 @@ export enum DeploymentStatus { Deleting = "Deleting", } +export enum AuctionStatus { + AuctionStatusCommitPhase = "commit", + AuctionStatusRevealPhase = "reveal", + AuctionStatusExpired = "expired", + AuctionStatusCompleted = "completed", +} + export enum DomainStatus { Live = "Live", Pending = "Pending", @@ -66,6 +73,8 @@ export type Deployment = { commitHash: string; commitMessage: string; url?: string; + deployerLrn: string; + auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; @@ -128,6 +137,8 @@ export type Project = { description: string; template: string; framework: string; + deployerLrn: string[]; + auctionId: string; webhooks: string[]; members: ProjectMember[]; environmentVariables: EnvironmentVariable[]; -- 2.45.2 From a662ebc01832429a062f8e9e50d5f54b4a0d5df1 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Wed, 9 Oct 2024 19:06:37 +0530 Subject: [PATCH 21/42] test --- .../projects/project/overview/Activity/AuctionData.tsx | 2 +- packages/frontend/src/pages/org-slug/projects/id/Overview.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx index 5dd4d694..944a9d98 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx @@ -62,7 +62,7 @@ export const AuctionData = ({
- Auction data + Auction details
{/* AUCTION STATUS */} diff --git a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx index 00c77ee9..01a879fa 100644 --- a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx +++ b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx @@ -137,7 +137,6 @@ const OverviewTabPanel = () => {
- }> {liveDomain ? ( }> @@ -207,6 +206,7 @@ const OverviewTabPanel = () => { No current deployment found.

)} + -- 2.45.2 From 508b4c73672705a4cbb0e721910a6052fe073475 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 10 Oct 2024 10:46:24 +0530 Subject: [PATCH 22/42] Update deployments only if valid request Id exists --- packages/backend/src/registry.ts | 3 ++- packages/backend/src/schema.gql | 8 ++++---- packages/backend/src/service.ts | 6 +++++- .../projects/project/overview/Activity/AuctionData.tsx | 4 ++-- .../frontend/src/pages/org-slug/projects/id/Overview.tsx | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index c987dbbf..5f4d432b 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -473,7 +473,8 @@ export class Registry { } async getAuctionData(auctionId: string): Promise { - const auction = this.registry.getAuctionsByIds([auctionId]); + const auction = await this.registry.getAuctionsByIds([auctionId]); + log({auction}) return auction; } diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index ca6d6e47..804eb44a 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -23,10 +23,10 @@ enum DeploymentStatus { } enum AuctionStatus { - AuctionStatusCommitPhase - AuctionStatusRevealPhase - AuctionStatusExpired - AuctionStatusCompleted + completed + reveal + commit + expired } enum DomainStatus { diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 14a3660a..91e01ad0 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -173,9 +173,13 @@ export class Service { createdAt: 'DESC', }, }); + const requestRecordIds = new Set(records.map((record) => record.attributes.request).filter(Boolean)); + const filteredDeployments = deployments.filter((deployment) => + deployment.applicationDeploymentRequestId && requestRecordIds.has(deployment.applicationDeploymentRequestId) + ); // Get project IDs of deployments that are in production environment - const productionDeploymentProjectIds = deployments.reduce( + const productionDeploymentProjectIds = filteredDeployments.reduce( (acc, deployment): Set => { if (deployment.environment === Environment.Production) { acc.add(deployment.projectId); diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx index 944a9d98..ed5e626f 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx @@ -12,7 +12,7 @@ export const AuctionData = ({ }: { project: Project }) => { - const [isAuctionCompleted, setIsAuctionCompleted] = useState(true); + const [isAuctionCompleted, setIsAuctionCompleted] = useState(false); const client = useGQLClient(); const getIconByAuctionStatus = (isCompleted: Boolean) => { return isCompleted ? : @@ -76,7 +76,7 @@ export const AuctionData = ({ Auction Id: {project.auctionId}

-

+

Deployer LRNs:

diff --git a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx index 01a879fa..080c11e9 100644 --- a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx +++ b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx @@ -206,7 +206,7 @@ const OverviewTabPanel = () => { No current deployment found.

)} - + {project.auctionId && } -- 2.45.2 From b3ac6e1367b9e4b46df19ef44dfdf8d160a0b6fd Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 10 Oct 2024 11:57:34 +0530 Subject: [PATCH 23/42] Display auction details in overview page --- packages/backend/src/resolvers.ts | 4 +- packages/backend/src/schema.gql | 26 ++- packages/backend/src/service.ts | 7 +- packages/frontend/package.json | 3 + .../project/overview/Activity/AuctionData.tsx | 149 +++++++++++------- packages/gql-client/dist/index.d.mts | 26 ++- packages/gql-client/dist/index.d.ts | 26 ++- packages/gql-client/dist/index.js | 36 ++++- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 36 ++++- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/package.json | 2 +- packages/gql-client/src/client.ts | 6 +- packages/gql-client/src/queries.ts | 30 +++- packages/gql-client/src/types.ts | 27 ++++ 15 files changed, 299 insertions(+), 83 deletions(-) diff --git a/packages/backend/src/resolvers.ts b/packages/backend/src/resolvers.ts index 7a283ab8..c8c64841 100644 --- a/packages/backend/src/resolvers.ts +++ b/packages/backend/src/resolvers.ts @@ -70,11 +70,11 @@ export const createResolvers = async (service: Service): Promise => { return service.getDomainsByProjectId(projectId, filter); }, - getAuctionStatus: async ( + getAuctionData: async ( _: any, { auctionId }: { auctionId: string }, ) => { - return service.getAuctionStatus(auctionId); + return service.getAuctionData(auctionId); }, }, diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 804eb44a..9ffee3c0 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -191,6 +191,30 @@ input FilterDomainsInput { status: DomainStatus } +type Fee { + type: String! + quantity: String! +} + +type Auction { + id: String! + kind: String! + status: String! + ownerAddress: String! + createTime: String! + commitsEndTime: String! + revealsEndTime: String! + commitFee: Fee! + revealFee: Fee! + minimumBid: Fee + winnerAddresses: [String!]! + winningBids: [String!] + winningPrice: String + maxPrice: String + numProviders: Int! + fundsReleased: Boolean! +} + input AuctionData { maxPrice: String, numProviders: Int, @@ -206,7 +230,7 @@ type Query { environmentVariables(projectId: String!): [EnvironmentVariable!] projectMembers(projectId: String!): [ProjectMember!] searchProjects(searchText: String!): [Project!] - getAuctionStatus(auctionId: String!): AuctionStatus! + getAuctionData(auctionId: String!): Auction! domains(projectId: String!, filter: FilterDomainsInput): [Domain] } diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 91e01ad0..394e3154 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -19,6 +19,7 @@ import { AddProjectFromTemplateInput, AppDeploymentRecord, AppDeploymentRemovalRecord, + Auction, AuctionData, GitPushEventPayload, PackageJSON, @@ -1272,10 +1273,10 @@ export class Service { return this.db.updateUser(user, data); } - async getAuctionStatus( + async getAuctionData( auctionId: string - ): Promise { + ): Promise { const auctions = await this.registry.getAuctionData(auctionId); - return auctions[0].status; + return auctions[0]; } } diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 6042befb..8a05777f 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -16,8 +16,11 @@ "@bugsnag/browser-performance": "^2.4.1", "@bugsnag/js": "^7.22.7", "@bugsnag/plugin-react": "^7.22.7", + "@emotion/react": "^11.13.3", + "@emotion/styled": "^11.13.0", "@fontsource-variable/jetbrains-mono": "^5.0.19", "@fontsource/inter": "^5.0.16", + "@mui/material": "^6.1.3", "@radix-ui/react-avatar": "^1.0.4", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx index ed5e626f..36407293 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx @@ -1,35 +1,51 @@ import { useCallback, useEffect, useState } from 'react'; -import { Project } from 'gql-client'; +import { Auction, Project } from 'gql-client'; -import { CheckRoundFilledIcon, GlobeIcon, LoadingIcon } from 'components/shared/CustomIcon'; +import { + Card, + CardContent, + CardHeader, + Typography, + Dialog, + DialogTitle, + DialogContent, + DialogActions, +} from '@mui/material'; + +import { CheckRoundFilledIcon, LoadingIcon } from 'components/shared/CustomIcon'; import { useGQLClient } from 'context/GQLClientContext'; -import { Tag } from 'components/shared'; +import { Button, Tag } from 'components/shared'; const CHECK_AUCTION_STATUS_INTERVAL = 2000; export const AuctionData = ({ - project + project, }: { - project: Project + project: Project; }) => { - const [isAuctionCompleted, setIsAuctionCompleted] = useState(false); + const [auctionStatus, setAuctionStatus] = useState(''); + const [auctionDetails, setAuctionDetails] = useState(null); + const [openDialog, setOpenDialog] = useState(false); const client = useGQLClient(); - const getIconByAuctionStatus = (isCompleted: Boolean) => { - return isCompleted ? : + + const getIconByAuctionStatus = (status: string) => { + return status === 'completed' ? ( + + ) : ( + + ); }; const checkAuctionStatus = async () => { - const result = await client.getAuctionStatus(project.auctionId); - - if (result) { - setIsAuctionCompleted(true); - } + const result = await client.getAuctionData(project.auctionId); + setAuctionStatus(result.status); + setAuctionDetails(result); }; useEffect(() => { let intervalId: NodeJS.Timeout | null = null; - if (!isAuctionCompleted) { + if (auctionStatus !== 'completed') { checkAuctionStatus(); intervalId = setInterval(checkAuctionStatus, CHECK_AUCTION_STATUS_INTERVAL); } @@ -39,56 +55,79 @@ export const AuctionData = ({ clearInterval(intervalId); } }; - }, [isAuctionCompleted]); + }, [auctionStatus]); const renderAuctionStatus = useCallback( - (className?: string) => { - return ( -
- - {isAuctionCompleted ? 'Auction Completed' : 'Auction ongoing'} - -
- ); - }, - [isAuctionCompleted], + () => ( + + {auctionStatus.toUpperCase()} + + ), + [auctionStatus], ); + const handleOpenDialog = () => { + setOpenDialog(true); + }; + + const handleCloseDialog = () => { + setOpenDialog(false); + }; + return ( <> -
-
- - Auction details -
+ + + View details + + } + sx={{ pb: 0.1 }} + /> + +
+ Auction Status +
{renderAuctionStatus()}
+
- {/* AUCTION STATUS */} -
- {renderAuctionStatus('w-[10%] max-w-[110px] hidden md:flex h-fit')} -
-
+
+ Auction Id + + {project.auctionId} + +
-
-

- Auction Id: {project.auctionId} -

+ + Deployer LRNs + + {project.deployerLrn && ( +
+ {project.deployerLrn.map((lrn, index) => ( + + {'\u2022'} {lrn} + + ))} +
+ )} + + -

- Deployer LRNs: -

- -
- {project.deployerLrn.map((lrn, index) => ( -

- {lrn} -

- ))} -
-
+ + Auction Details + + {auctionDetails && ( + +
{JSON.stringify(auctionDetails, null, 2)}
+
+ )} +
+ + + +
- ); }; diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index d91a00dd..a9152dc8 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -24,6 +24,28 @@ declare enum AuctionStatus { AuctionStatusExpired = "expired", AuctionStatusCompleted = "completed" } +type Fee = { + type: string; + quantity: string; +}; +type Auction = { + id: string; + kind: string; + status: string; + ownerAddress: string; + createTime?: Date; + commitsEndTime?: Date; + revealsEndTime?: Date; + commitFee?: string; + revealFee?: string; + minimumBid?: string; + winnerAddresses: string[]; + winningBids?: string[]; + winningPrice?: string; + maxPrice?: string; + numProviders: number; + fundsReleased: boolean; +}; declare enum DomainStatus { Live = "Live", Pending = "Pending" @@ -304,7 +326,7 @@ declare class GQLClient { getDomains(projectId: string, filter?: FilterDomainInput): Promise; authenticateGitHub(code: string): Promise; unauthenticateGithub(): Promise; - getAuctionStatus(auctionId: string): Promise; + getAuctionData(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index d91a00dd..a9152dc8 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -24,6 +24,28 @@ declare enum AuctionStatus { AuctionStatusExpired = "expired", AuctionStatusCompleted = "completed" } +type Fee = { + type: string; + quantity: string; +}; +type Auction = { + id: string; + kind: string; + status: string; + ownerAddress: string; + createTime?: Date; + commitsEndTime?: Date; + revealsEndTime?: Date; + commitFee?: string; + revealFee?: string; + minimumBid?: string; + winnerAddresses: string[]; + winningBids?: string[]; + winningPrice?: string; + maxPrice?: string; + numProviders: number; + fundsReleased: boolean; +}; declare enum DomainStatus { Live = "Live", Pending = "Pending" @@ -304,7 +326,7 @@ declare class GQLClient { getDomains(projectId: string, filter?: FilterDomainInput): Promise; authenticateGitHub(code: string): Promise; unauthenticateGithub(): Promise; - getAuctionStatus(auctionId: string): Promise; + getAuctionData(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index 3fd244be..493fe9f3 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -272,9 +272,35 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } } `; -var getAuctionStatus = import_client.gql` +var getAuctionData = import_client.gql` query ($auctionId: String!) { - getAuctionStatus(auctionId: $auctionId) + getAuctionData(auctionId: $auctionId){ + id + kind + status + ownerAddress + createTime + commitsEndTime + revealsEndTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + minimumBid { + type + quantity + } + winnerAddresses + winningBids + winningPrice + maxPrice + numProviders + fundsReleased + } } `; @@ -722,15 +748,15 @@ var GQLClient = class { return data; }); } - getAuctionStatus(auctionId) { + getAuctionData(auctionId) { return __async(this, null, function* () { const { data } = yield this.client.query({ - query: getAuctionStatus, + query: getAuctionData, variables: { auctionId } }); - return data; + return data.getAuctionData; }); } }; diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index c503a9fa..99fe18d0 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionStatus(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionStatus,\n variables: {\n auctionId,\n },\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionStatus = gql`\nquery ($auctionId: String!) {\n getAuctionStatus(auctionId: $auctionId)\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAKO;;;ACLP,oBAAoB;AAEb,IAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAahB,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoDnB,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuClC,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYzB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCvB,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAahC,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkB1B,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BvB,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBnB,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;;;ACpOhC,IAAAC,iBAAoB;AAEb,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAM5B,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAM5B,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAMzB,IAAM,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAMhC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYlC,IAAM,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAMlC,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAM/B,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B,IAAM,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnB,IAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAM9B,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAM7B,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAMvB,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAMtB,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAMrB,IAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAM3B,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAMzB,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAMlB,IAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ3B,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;;;AF1GpC,IAAM,iBAAiC;AAAA,EACrC,YAAY;AAAA,IACV,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,aAAa;AAAA,IACb,aAAa;AAAA,EACf;AACF;AAEO,IAAM,YAAN,MAAgB;AAAA,EAGrB,YAAY,QAAuB;AACjC,SAAK,SAAS,IAAI,4BAAa;AAAA,MAC7B,KAAK,OAAO;AAAA,MACZ,OAAO,IAAI,6BAAc;AAAA,MACzB;AAAA,MACA,aAAa;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEM,UAA0C;AAAA;AAC9C,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,MACjB,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,WAAW,WAAsD;AAAA;AACrE,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,0BACJ,kBACkD;AAAA;AAClD,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,mBAA4D;AAAA;AAChE,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,MACjB,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,eACJ,WACuC;AAAA;AACvC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,wBACJ,WACgD;AAAA;AAChD,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,kBACJ,WAC0C;AAAA;AAC1C,YAAM,SAAS,MAAM,KAAK,OAAO,MAAM;AAAA,QACrC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,iBACJ,WACA,MACyC;AAAA;AACzC,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,oBACJ,iBACA,MAC4C;AAAA;AAC5C,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,oBACJ,iBAC4C;AAAA;AAC5C,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,eACJ,YACuC;AAAA;AACvC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,wBACJ,WACA,MACgD;AAAA;AAChD,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,0BACJ,uBACA,MACkD;AAAA;AAClD,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,0BACJ,uBACkD;AAAA;AAClD,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,uBACJ,cAC+C;AAAA;AAC/C,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,uBACJ,kBACA,MACA,KACA,aAC+C;AAAA;AAC/C,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,WACJ,kBACA,MACA,KACA,aACmC;AAAA;AACnC,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,cACJ,WACA,MACsC;AAAA;AACtC,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,aACJ,UACA,MACqC;AAAA;AACrC,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,eACJ,cACuC;AAAA;AACvC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,cAAc,WAAyD;AAAA;AAC3E,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,aAAa,UAAuD;AAAA;AACxE,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,mBACJ,WACA,cAC2C;AAAA;AAC3C,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,iBACJ,cACyC;AAAA;AACzC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,UACJ,WACA,MACkC;AAAA;AAClC,YAAM,SAAS,MAAM,KAAK,OAAO,OAAO;AAAA,QACtC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO,OAAO;AAAA,IAChB;AAAA;AAAA,EAEM,WACJ,WACA,QACmC;AAAA;AACnC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,mBACJ,MAC2C;AAAA;AAC3C,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,uBAAoE;AAAA;AACxE,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,OAAO;AAAA,QACxC,UAAoB;AAAA,MACtB,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AAAA,EAEM,iBAAiB,WAAiD;AAAA;AACtE,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,OAAO,MAAM;AAAA,QACvC,OAAe;AAAA,QACf,WAAW;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAED,aAAO;AAAA,IACT;AAAA;AACF;;;AGnaO,IAAK,OAAL,kBAAKC,UAAL;AACL,EAAAA,MAAA,WAAQ;AACR,EAAAA,MAAA,gBAAa;AACb,EAAAA,MAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;AAML,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,UAAO;AACP,EAAAA,YAAA,UAAO;AAFG,SAAAA;AAAA,GAAA;AAKL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,iBAAc;AAHJ,SAAAA;AAAA,GAAA;AAML,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,cAAW;AAJD,SAAAA;AAAA,GAAA;AAOL,IAAK,gBAAL,kBAAKC,mBAAL;AACN,EAAAA,eAAA,8BAA2B;AAC3B,EAAAA,eAAA,8BAA2B;AAC3B,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,4BAAyB;AAJd,SAAAA;AAAA,GAAA;AAOL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n // commitFee?: Fee;\n // revealFee?: Fee;\n // minimumBid?: Fee;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 7578287c..04fabab8 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -244,9 +244,35 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } } `; -var getAuctionStatus = gql` +var getAuctionData = gql` query ($auctionId: String!) { - getAuctionStatus(auctionId: $auctionId) + getAuctionData(auctionId: $auctionId){ + id + kind + status + ownerAddress + createTime + commitsEndTime + revealsEndTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + minimumBid { + type + quantity + } + winnerAddresses + winningBids + winningPrice + maxPrice + numProviders + fundsReleased + } } `; @@ -694,15 +720,15 @@ var GQLClient = class { return data; }); } - getAuctionStatus(auctionId) { + getAuctionData(auctionId) { return __async(this, null, function* () { const { data } = yield this.client.query({ - query: getAuctionStatus, + query: getAuctionData, variables: { auctionId } }); - return data; + return data.getAuctionData; }); } }; diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 8d6a76a2..9ace4b86 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionStatus(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionStatus,\n variables: {\n auctionId,\n },\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionStatus = gql`\nquery ($auctionId: String!) {\n getAuctionStatus(auctionId: $auctionId)\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n // commitFee?: Fee;\n // revealFee?: Fee;\n // minimumBid?: Fee;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/package.json b/packages/gql-client/package.json index 4ba9171d..b936779f 100644 --- a/packages/gql-client/package.json +++ b/packages/gql-client/package.json @@ -16,4 +16,4 @@ "dependencies": { "@apollo/client": "^3.8.9" } -} \ No newline at end of file +} diff --git a/packages/gql-client/src/client.ts b/packages/gql-client/src/client.ts index 829edac4..2d33f2ff 100644 --- a/packages/gql-client/src/client.ts +++ b/packages/gql-client/src/client.ts @@ -410,14 +410,14 @@ export class GQLClient { return data; } - async getAuctionStatus(auctionId: string): Promise { + async getAuctionData(auctionId: string): Promise { const { data } = await this.client.query({ - query: queries.getAuctionStatus, + query: queries.getAuctionData, variables: { auctionId, }, }); - return data; + return data.getAuctionData; } } diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index d98ccfd5..613e21e9 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -226,8 +226,34 @@ query ($projectId: String!, $filter: FilterDomainsInput) { } `; -export const getAuctionStatus = gql` +export const getAuctionData = gql` query ($auctionId: String!) { - getAuctionStatus(auctionId: $auctionId) + getAuctionData(auctionId: $auctionId){ + id + kind + status + ownerAddress + createTime + commitsEndTime + revealsEndTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + minimumBid { + type + quantity + } + winnerAddresses + winningBids + winningPrice + maxPrice + numProviders + fundsReleased + } } `; diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 2618d8d2..41e2b4bc 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -32,6 +32,33 @@ export enum AuctionStatus { AuctionStatusCompleted = "completed", } +export type Fee = { + type: string; + quantity: string; +} + +export type Auction = { + id: string; + kind: string; + status: string; + ownerAddress: string; + createTime?: Date; + commitsEndTime?: Date; + revealsEndTime?: Date; + // commitFee?: Fee; + // revealFee?: Fee; + // minimumBid?: Fee; + commitFee?: string; + revealFee?: string; + minimumBid?: string; + winnerAddresses: string[]; + winningBids?: string[]; + winningPrice?: string; + maxPrice?: string; + numProviders: number; + fundsReleased: boolean; +} + export enum DomainStatus { Live = "Live", Pending = "Pending", -- 2.45.2 From b63837d432e5e8a959c4e331e3b48e01db34ebe1 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 10 Oct 2024 12:21:56 +0530 Subject: [PATCH 24/42] Update auction card UI --- packages/backend/src/entity/Deployment.ts | 3 - packages/backend/src/registry.ts | 4 +- packages/backend/src/schema.gql | 1 + packages/backend/src/service.ts | 1 - .../{AuctionData.tsx => AuctionCard.tsx} | 27 +- .../frontend/src/pages/components/modals.tsx | 1 - .../pages/org-slug/projects/id/Overview.tsx | 4 +- .../frontend/src/stories/MockStoriesData.ts | 1 - packages/gql-client/dist/index.d.mts | 1 - packages/gql-client/dist/index.d.ts | 1 - packages/gql-client/dist/index.js | 1 - packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 1 - packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/queries.ts | 1 - packages/gql-client/src/types.ts | 4 - yarn.lock | 364 +++++++++++++++++- 17 files changed, 380 insertions(+), 39 deletions(-) rename packages/frontend/src/components/projects/project/overview/Activity/{AuctionData.tsx => AuctionCard.tsx} (85%) diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index 239e88ee..a2719986 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -130,9 +130,6 @@ export class Deployment { @Column('varchar') deployerLrn!: string; - @Column('varchar', { nullable: true }) - auctionId!: string | null; - @Column({ enum: Environment }) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 5f4d432b..f762b461 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -473,9 +473,7 @@ export class Registry { } async getAuctionData(auctionId: string): Promise { - const auction = await this.registry.getAuctionsByIds([auctionId]); - log({auction}) - return auction; + return this.registry.getAuctionsByIds([auctionId]);; } getLrn(appName: string): string { diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 9ffee3c0..d4e142b2 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -103,6 +103,7 @@ type Deployment { commitMessage: String! url: String environment: Environment! + deployerLrn: String isCurrent: Boolean! status: DeploymentStatus! createdAt: String! diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 394e3154..a3b7d8e5 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -752,7 +752,6 @@ export class Service { id: project.ownerId!, }), deployerLrn: deployer, - auctionId: project.auctionId }); log( diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx similarity index 85% rename from packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx rename to packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx index 36407293..f9c8e806 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionData.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx @@ -18,12 +18,13 @@ import { Button, Tag } from 'components/shared'; const CHECK_AUCTION_STATUS_INTERVAL = 2000; -export const AuctionData = ({ +export const AuctionCard = ({ project, }: { project: Project; }) => { const [auctionStatus, setAuctionStatus] = useState(''); + const [deployerLrns, setDeployerLrns] = useState([]); const [auctionDetails, setAuctionDetails] = useState(null); const [openDialog, setOpenDialog] = useState(false); const client = useGQLClient(); @@ -48,6 +49,8 @@ export const AuctionData = ({ if (auctionStatus !== 'completed') { checkAuctionStatus(); intervalId = setInterval(checkAuctionStatus, CHECK_AUCTION_STATUS_INTERVAL); + } else { + setDeployerLrns(project.deployerLrn) } return () => { @@ -59,7 +62,11 @@ export const AuctionData = ({ const renderAuctionStatus = useCallback( () => ( - + {auctionStatus.toUpperCase()} ), @@ -103,15 +110,13 @@ export const AuctionData = ({ Deployer LRNs - {project.deployerLrn && ( -
- {project.deployerLrn.map((lrn, index) => ( - - {'\u2022'} {lrn} - - ))} -
- )} +
+ {deployerLrns.map((lrn, index) => ( + + {'\u2022'} {lrn} + + ))} +
diff --git a/packages/frontend/src/pages/components/modals.tsx b/packages/frontend/src/pages/components/modals.tsx index 0d3b0288..608e3ffb 100644 --- a/packages/frontend/src/pages/components/modals.tsx +++ b/packages/frontend/src/pages/components/modals.tsx @@ -36,7 +36,6 @@ const deployment: Deployment = { url: 'https://deploy1.example.com', environment: Environment.Production, isCurrent: true, - auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', deployerLrn: 'lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', status: DeploymentStatus.Ready, createdBy: { diff --git a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx index 080c11e9..7c0862a0 100644 --- a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx +++ b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx @@ -21,7 +21,7 @@ import { Activity } from 'components/projects/project/overview/Activity'; import { OverviewInfo } from 'components/projects/project/overview/OverviewInfo'; import { relativeTimeMs } from 'utils/time'; import { Domain, DomainStatus } from 'gql-client'; -import { AuctionData } from 'components/projects/project/overview/Activity/AuctionData'; +import { AuctionCard } from 'components/projects/project/overview/Activity/AuctionCard'; const COMMITS_PER_PAGE = 4; @@ -206,7 +206,7 @@ const OverviewTabPanel = () => { No current deployment found.

)} - {project.auctionId && } + {project.auctionId && } diff --git a/packages/frontend/src/stories/MockStoriesData.ts b/packages/frontend/src/stories/MockStoriesData.ts index 8cc6b06a..87e8f659 100644 --- a/packages/frontend/src/stories/MockStoriesData.ts +++ b/packages/frontend/src/stories/MockStoriesData.ts @@ -102,7 +102,6 @@ export const deployment0: Deployment = { domain: domain0, commitMessage: 'Commit Message', createdBy: user, - auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', deployerLrn: 'lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', }; diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index a9152dc8..57b38ec4 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -84,7 +84,6 @@ type Deployment = { commitMessage: string; url?: string; deployerLrn: string; - auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index a9152dc8..57b38ec4 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -84,7 +84,6 @@ type Deployment = { commitMessage: string; url?: string; deployerLrn: string; - auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index 493fe9f3..bd1ff484 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -183,7 +183,6 @@ query ($projectId: String!) { commitHash commitMessage url - auctionId deployerLrn environment isCurrent diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index 99fe18d0..8acc0a3b 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n // commitFee?: Fee;\n // revealFee?: Fee;\n // minimumBid?: Fee;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 04fabab8..841834f9 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -155,7 +155,6 @@ query ($projectId: String!) { commitHash commitMessage url - auctionId deployerLrn environment isCurrent diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 9ace4b86..064280f4 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n // commitFee?: Fee;\n // revealFee?: Fee;\n // minimumBid?: Fee;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: string;\n auctionId?: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index 613e21e9..87da5004 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -132,7 +132,6 @@ query ($projectId: String!) { commitHash commitMessage url - auctionId deployerLrn environment isCurrent diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 41e2b4bc..92879d5a 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -45,9 +45,6 @@ export type Auction = { createTime?: Date; commitsEndTime?: Date; revealsEndTime?: Date; - // commitFee?: Fee; - // revealFee?: Fee; - // minimumBid?: Fee; commitFee?: string; revealFee?: string; minimumBid?: string; @@ -101,7 +98,6 @@ export type Deployment = { commitMessage: string; url?: string; deployerLrn: string; - auctionId?: string; environment: Environment; isCurrent: boolean; status: DeploymentStatus; diff --git a/yarn.lock b/yarn.lock index baa03dc7..cb2d4fd8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -213,6 +213,14 @@ "@babel/highlight" "^7.24.2" picocolors "^1.0.0" +"@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" @@ -280,6 +288,16 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" @@ -367,6 +385,14 @@ dependencies: "@babel/types" "^7.24.5" +"@babel/helper-module-imports@^7.16.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": version "7.24.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" @@ -471,6 +497,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" @@ -481,6 +512,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.23.5": version "7.23.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" @@ -523,6 +559,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" @@ -533,6 +579,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== +"@babel/parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.7.tgz#99b927720f4ddbfeb8cd195a363ed4532f87c590" + integrity sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw== + dependencies: + "@babel/types" "^7.25.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" @@ -1283,6 +1336,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.18.3", "@babel/runtime@^7.25.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.7.tgz#7ffb53c37a8f247c8c4d335e89cdf16a2e0d0fb6" + integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" @@ -1292,6 +1352,15 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.18.9", "@babel/traverse@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" @@ -1324,6 +1393,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" @@ -1342,6 +1424,15 @@ "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" +"@babel/types@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.7.tgz#1b7725c1d3a59f328cb700ce704c46371e6eef9b" + integrity sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" @@ -1848,6 +1939,39 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@emotion/babel-plugin@^11.12.0": + version "11.12.0" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" + integrity sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.2.0" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.13.0", "@emotion/cache@^11.13.1": + version "11.13.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7" + integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + "@emotion/is-prop-valid@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" @@ -1862,6 +1986,13 @@ dependencies: "@emotion/memoize" "0.7.4" +"@emotion/is-prop-valid@^1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240" + integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/memoize@0.7.4": version "0.7.4" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" @@ -1872,16 +2003,83 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.13.3": + version "11.13.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4" + integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/cache" "^11.13.0" + "@emotion/serialize" "^1.3.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0", "@emotion/serialize@^1.3.1", "@emotion/serialize@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.2.tgz#e1c1a2e90708d5d85d81ccaee2dfeb3cc0cccf7a" + integrity sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + +"@emotion/styled@^11.13.0": + version "11.13.0" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.13.0.tgz#633fd700db701472c7a5dbef54d6f9834e9fb190" + integrity sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/is-prop-valid" "^1.3.0" + "@emotion/serialize" "^1.3.0" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + "@emotion/unitless@0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== +"@emotion/use-insertion-effect-with-fallbacks@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" + integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== + +"@emotion/utils@^1.4.0", "@emotion/utils@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.1.tgz#b3adbb43de12ee2149541c4f1337d2eb7774f0ad" + integrity sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" @@ -4107,6 +4305,81 @@ "@motionone/dom" "^10.16.4" tslib "^2.3.1" +"@mui/core-downloads-tracker@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-6.1.3.tgz#54e22bf569a7764dff36697778cc0ae4591c7ec9" + integrity sha512-ajMUgdfhTb++rwqj134Cq9f4SRN8oXUqMRnY72YBnXiXai3olJLLqETheRlq3MM8wCKrbq7g6j7iWL1VvP44VQ== + +"@mui/material@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-6.1.3.tgz#1d17bb2a6aedfa78a1a7a7f3a3a2d0023427a996" + integrity sha512-loV5MBoMKLrK80JeWINmQ1A4eWoLv51O2dBPLJ260IAhupkB3Wol8lEQTEvvR2vO3o6xRHuXe1WaQEP6N3riqg== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/core-downloads-tracker" "^6.1.3" + "@mui/system" "^6.1.3" + "@mui/types" "^7.2.18" + "@mui/utils" "^6.1.3" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.11" + clsx "^2.1.1" + csstype "^3.1.3" + prop-types "^15.8.1" + react-is "^18.3.1" + react-transition-group "^4.4.5" + +"@mui/private-theming@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-6.1.3.tgz#ec225ec2814e89a1ce9a194809d607116885020f" + integrity sha512-XK5OYCM0x7gxWb/WBEySstBmn+dE3YKX7U7jeBRLm6vHU5fGUd7GiJWRirpivHjOK9mRH6E1MPIVd+ze5vguKQ== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/utils" "^6.1.3" + prop-types "^15.8.1" + +"@mui/styled-engine@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-6.1.3.tgz#f5e655f59836a5f9fce7b96cd889eee9804d277d" + integrity sha512-i4yh9m+eMZE3cNERpDhVr6Wn73Yz6C7MH0eE2zZvw8d7EFkIJlCQNZd1xxGZqarD2DDq2qWHcjIOucWGhxACtA== + dependencies: + "@babel/runtime" "^7.25.6" + "@emotion/cache" "^11.13.1" + "@emotion/serialize" "^1.3.2" + "@emotion/sheet" "^1.4.0" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/system@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-6.1.3.tgz#64158d2feefb2e470d36c20fd144ac0a140a35fb" + integrity sha512-ILaD9UsLTBLjMcep3OumJMXh1PYr7aqnkHm/L47bH46+YmSL1zWAX6tWG8swEQROzW2GvYluEMp5FreoxOOC6w== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/private-theming" "^6.1.3" + "@mui/styled-engine" "^6.1.3" + "@mui/types" "^7.2.18" + "@mui/utils" "^6.1.3" + clsx "^2.1.1" + csstype "^3.1.3" + prop-types "^15.8.1" + +"@mui/types@^7.2.18": + version "7.2.18" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.18.tgz#4b6385ed2f7828ef344113cdc339d6fdf8e4bc23" + integrity sha512-uvK9dWeyCJl/3ocVnTOS6nlji/Knj8/tVqVX03UVTpdmTJYu/s4jtDd9Kvv0nRGE0CUSNW1UYAci7PYypjealg== + +"@mui/utils@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.1.3.tgz#edb63cbd18fea2341efc6d4d087dd48075fc9dba" + integrity sha512-4JBpLkjprlKjN10DGb1aiy/ii9TKbQ601uSHtAmYFAS879QZgAD7vRnv/YBE4iBbc7NXzFgbQMCOFrupXWekIA== + dependencies: + "@babel/runtime" "^7.25.6" + "@mui/types" "^7.2.18" + "@types/prop-types" "^15.7.13" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^18.3.1" + "@multiformats/murmur3@^2.0.0": version "2.1.8" resolved "https://registry.yarnpkg.com/@multiformats/murmur3/-/murmur3-2.1.8.tgz#81c1c15b6391109f3febfca4b3205196615a04e9" @@ -4815,6 +5088,11 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -7143,6 +7421,11 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== +"@types/prop-types@^15.7.13": + version "15.7.13" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" + integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== + "@types/qs@*", "@types/qs@^6.9.5": version "6.9.15" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" @@ -7160,6 +7443,13 @@ dependencies: "@types/react" "*" +"@types/react-transition-group@^4.4.11": + version "4.4.11" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.11.tgz#d963253a611d757de01ebb241143b1017d5d63d5" + integrity sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA== + dependencies: + "@types/react" "*" + "@types/react@*", "@types/react@^18.2.66": version "18.2.79" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.79.tgz#c40efb4f255711f554d47b449f796d1c7756d865" @@ -8484,6 +8774,15 @@ babel-core@^7.0.0-bridge.0: resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.11" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" @@ -9243,7 +9542,7 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== -clsx@^2.0.0, clsx@^2.1.0: +clsx@^2.0.0, clsx@^2.1.0, clsx@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== @@ -9480,6 +9779,11 @@ conventional-recommended-bump@7.0.1: git-semver-tags "^5.0.0" meow "^8.1.2" +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -9556,7 +9860,7 @@ cors@^2.8.5: object-assign "^4" vary "^1" -cosmiconfig@^7.1.0: +cosmiconfig@^7.0.0, cosmiconfig@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== @@ -9728,7 +10032,7 @@ csstype@3.1.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -csstype@^3.0.2: +csstype@^3.0.2, csstype@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== @@ -10105,6 +10409,14 @@ dom-accessibility-api@^0.6.3: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dot-prop@^5.1.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -10464,6 +10776,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" @@ -10985,6 +11302,11 @@ find-cache-dir@^3.0.0: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -11688,7 +12010,7 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -12811,6 +13133,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -15238,7 +15565,7 @@ promzard@^1.0.0: dependencies: read "^3.0.1" -prop-types@15.8.1, prop-types@^15.6.0, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@15.8.1, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -15573,6 +15900,11 @@ react-is@^18.0.0, react-is@^18.2.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-native-fetch-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz#81e1bb6562c292521bc4eca52fe1097f4c1ebab5" @@ -15649,6 +15981,16 @@ react-timer-hook@^3.0.7: resolved "https://registry.yarnpkg.com/react-timer-hook/-/react-timer-hook-3.0.7.tgz#ac42c43d0034b873cbf97b44eb34ccb2b11fe5e0" integrity sha512-ATpNcU+PQRxxfNBPVqce2+REtjGAlwmfoNQfcEBMZFxPj0r3GYdKhyPHdStvqrejejEi0QvqaJZjy2lBlFvAsA== +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@18.2.0, react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -15980,7 +16322,7 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.3, resolve@^1.22.8: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.3, resolve@^1.22.8: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -16486,6 +16828,11 @@ source-map@0.8.0-beta.0: dependencies: whatwg-url "^7.0.0" +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -16808,6 +17155,11 @@ styled-components@^6.1.0: stylis "4.3.1" tslib "2.5.0" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + stylis@4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.3.1.tgz#ed8a9ebf9f76fe1e12d462f5cc3c4c980b23a7eb" -- 2.45.2 From ed2badebb6d4b1ce6e076e62db9cdfab527fb43f Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 10 Oct 2024 18:09:03 +0530 Subject: [PATCH 25/42] Display bids in auction details --- packages/backend/src/registry.ts | 2 +- packages/backend/src/schema.gql | 19 ++- packages/backend/src/service.ts | 12 +- packages/backend/src/types.ts | 5 +- .../project/overview/Activity/AuctionCard.tsx | 148 +++++++----------- .../project/settings/DeleteProjectDialog.tsx | 4 +- packages/gql-client/dist/index.d.mts | 18 ++- packages/gql-client/dist/index.d.ts | 18 ++- packages/gql-client/dist/index.js | 34 +++- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 34 +++- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/queries.ts | 34 +++- packages/gql-client/src/types.ts | 17 +- 14 files changed, 224 insertions(+), 125 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index f762b461..6de42d7b 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -377,7 +377,7 @@ export class Registry { return records.filter((record: AppDeploymentRecord) => deployments.some( (deployment) => - deployment.applicationRecordId === record.attributes.application + deployment.applicationDeploymentRequestId === record.attributes.request ) ); } diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index d4e142b2..5153ce32 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -197,6 +197,18 @@ type Fee { quantity: String! } +type Bid { + auctionId: String! + bidderAddress: String! + status: String! + commitHash: String! + commitTime: String + commitFee: Fee + revealTime: String + revealFee: Fee + bidAmount: Fee +} + type Auction { id: String! kind: String! @@ -209,11 +221,12 @@ type Auction { revealFee: Fee! minimumBid: Fee winnerAddresses: [String!]! - winningBids: [String!] - winningPrice: String - maxPrice: String + winnerBids: [Fee!] + winnerPrice: Fee + maxPrice: Fee numProviders: Int! fundsReleased: Boolean! + bids: [Bid!]! } input AuctionData { diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index a3b7d8e5..d9d3aa46 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -165,7 +165,7 @@ export class Service { async updateDeploymentsWithRecordData( records: AppDeploymentRecord[], ): Promise { - // Get deployments for ApplicationDeploymentRecords + // Deployments that are completed, not updated(are in building state and ApplicationDeploymentRecord is present) const deployments = await this.db.getDeployments({ where: records.map((record) => ({ applicationRecordId: record.attributes.application, @@ -174,13 +174,9 @@ export class Service { createdAt: 'DESC', }, }); - const requestRecordIds = new Set(records.map((record) => record.attributes.request).filter(Boolean)); - const filteredDeployments = deployments.filter((deployment) => - deployment.applicationDeploymentRequestId && requestRecordIds.has(deployment.applicationDeploymentRequestId) - ); // Get project IDs of deployments that are in production environment - const productionDeploymentProjectIds = filteredDeployments.reduce( + const productionDeploymentProjectIds = deployments.reduce( (acc, deployment): Set => { if (deployment.environment === Environment.Production) { acc.add(deployment.projectId); @@ -209,6 +205,10 @@ export class Service { const deploymentUpdatePromises = records.map(async (record) => { const deployment = recordToDeploymentsMap[record.attributes.request]; + if(!deployment) { + log('Deployment does not exist') + } + await this.db.updateDeploymentById(deployment.id, { applicationDeploymentRecordId: record.id, applicationDeploymentRecordData: record.attributes, diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts index ab12b8be..9774129b 100644 --- a/packages/backend/src/types.ts +++ b/packages/backend/src/types.ts @@ -82,11 +82,12 @@ export interface Auction { revealFee?: string; minimumBid?: string; winnerAddresses: string[]; - winningBids: string[]; - winningPrice?: string; + winnerBids?: string[]; + winnerPrice?: string; maxPrice?: string; numProviders: number; fundsReleased: boolean; + bids: string[]; } export interface AuctionData { diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx index f9c8e806..6648def8 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx @@ -2,10 +2,6 @@ import { useCallback, useEffect, useState } from 'react'; import { Auction, Project } from 'gql-client'; import { - Card, - CardContent, - CardHeader, - Typography, Dialog, DialogTitle, DialogContent, @@ -14,125 +10,93 @@ import { import { CheckRoundFilledIcon, LoadingIcon } from 'components/shared/CustomIcon'; import { useGQLClient } from 'context/GQLClientContext'; -import { Button, Tag } from 'components/shared'; +import { Button, Heading, Tag } from 'components/shared'; const CHECK_AUCTION_STATUS_INTERVAL = 2000; -export const AuctionCard = ({ - project, -}: { - project: Project; -}) => { +export const AuctionCard = ({ project }: { project: Project }) => { const [auctionStatus, setAuctionStatus] = useState(''); const [deployerLrns, setDeployerLrns] = useState([]); const [auctionDetails, setAuctionDetails] = useState(null); const [openDialog, setOpenDialog] = useState(false); const client = useGQLClient(); - const getIconByAuctionStatus = (status: string) => { - return status === 'completed' ? ( - - ) : ( - - ); - }; + const getIconByAuctionStatus = (status: string) => + status === 'completed' ? : ; - const checkAuctionStatus = async () => { + const checkAuctionStatus = useCallback(async () => { const result = await client.getAuctionData(project.auctionId); setAuctionStatus(result.status); setAuctionDetails(result); - }; + setDeployerLrns(project.deployerLrn); + }, [client, project.auctionId, project.deployerLrn]); useEffect(() => { - let intervalId: NodeJS.Timeout | null = null; - if (auctionStatus !== 'completed') { + const intervalId = setInterval(checkAuctionStatus, CHECK_AUCTION_STATUS_INTERVAL); checkAuctionStatus(); - intervalId = setInterval(checkAuctionStatus, CHECK_AUCTION_STATUS_INTERVAL); - } else { - setDeployerLrns(project.deployerLrn) - } - return () => { - if (intervalId) { - clearInterval(intervalId); - } - }; - }, [auctionStatus]); + return () => clearInterval(intervalId); + } + }, [auctionStatus, checkAuctionStatus]); const renderAuctionStatus = useCallback( () => ( - + {auctionStatus.toUpperCase()} ), - [auctionStatus], + [auctionStatus] ); - const handleOpenDialog = () => { - setOpenDialog(true); - }; - - const handleCloseDialog = () => { - setOpenDialog(false); - }; + const handleOpenDialog = () => setOpenDialog(true); + const handleCloseDialog = () => setOpenDialog(false); return ( <> - - - View details - - } - sx={{ pb: 0.1 }} - /> - -
- Auction Status -
{renderAuctionStatus()}
-
+
+
+ Auction details + +
-
- Auction Id - - {project.auctionId} - -
+
+ Auction Status +
{renderAuctionStatus()}
+
- - Deployer LRNs - -
- {deployerLrns.map((lrn, index) => ( - - {'\u2022'} {lrn} - - ))} -
- - +
+ Auction Id + + {project.auctionId} + +
- - Auction Details - - {auctionDetails && ( - -
{JSON.stringify(auctionDetails, null, 2)}
-
- )} -
- - - -
- + {project.deployerLrn && ( +
+ Deployer LRNs + {deployerLrns.map((lrn, index) => ( +

+ {'\u2022'} {lrn} +

+ ))} +
+ )} +
+ + + Auction Details + + {auctionDetails && ( +
{JSON.stringify(auctionDetails, null, 2)}
+ )} +
+ + + +
+ ); }; diff --git a/packages/frontend/src/components/projects/project/settings/DeleteProjectDialog.tsx b/packages/frontend/src/components/projects/project/settings/DeleteProjectDialog.tsx index b3285e82..7ae30d8e 100644 --- a/packages/frontend/src/components/projects/project/settings/DeleteProjectDialog.tsx +++ b/packages/frontend/src/components/projects/project/settings/DeleteProjectDialog.tsx @@ -60,8 +60,8 @@ const DeleteProjectDialog = ({ ; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index 57b38ec4..c27bd1d8 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -28,6 +28,17 @@ type Fee = { type: string; quantity: string; }; +type Bid = { + auctionId: string; + bidderAddress: string; + status: string; + commitHash: string; + commitTime?: Date; + commitFee?: string; + revealTime?: Date; + revealFee?: string; + bidAmount?: string; +}; type Auction = { id: string; kind: string; @@ -40,11 +51,12 @@ type Auction = { revealFee?: string; minimumBid?: string; winnerAddresses: string[]; - winningBids?: string[]; - winningPrice?: string; + winnerBids?: string[]; + winnerPrice?: string; maxPrice?: string; numProviders: number; fundsReleased: boolean; + bids: Bid[]; }; declare enum DomainStatus { Live = "Live", @@ -328,4 +340,4 @@ declare class GQLClient { getAuctionData(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index bd1ff484..ac2e74e0 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -294,11 +294,39 @@ query ($auctionId: String!) { quantity } winnerAddresses - winningBids - winningPrice - maxPrice + winnerBids { + type + quantity + } + winnerPrice { + type + quantity + } + maxPrice { + type + quantity + } numProviders fundsReleased + bids { + bidderAddress + status + commitHash + commitTime + revealTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + bidAmount { + type + quantity + } + } } } `; diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index 8acc0a3b..9f0a5e8e 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 841834f9..13f6022d 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -266,11 +266,39 @@ query ($auctionId: String!) { quantity } winnerAddresses - winningBids - winningPrice - maxPrice + winnerBids { + type + quantity + } + winnerPrice { + type + quantity + } + maxPrice { + type + quantity + } numProviders fundsReleased + bids { + bidderAddress + status + commitHash + commitTime + revealTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + bidAmount { + type + quantity + } + } } } `; diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 064280f4..f48aa426 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winningBids\n winningPrice\n maxPrice\n numProviders\n fundsReleased\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winningBids?: string[];\n winningPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index 87da5004..686986cb 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -248,11 +248,39 @@ query ($auctionId: String!) { quantity } winnerAddresses - winningBids - winningPrice - maxPrice + winnerBids { + type + quantity + } + winnerPrice { + type + quantity + } + maxPrice { + type + quantity + } numProviders fundsReleased + bids { + bidderAddress + status + commitHash + commitTime + revealTime + commitFee { + type + quantity + } + revealFee { + type + quantity + } + bidAmount { + type + quantity + } + } } } `; diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 92879d5a..69f6f657 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -37,6 +37,18 @@ export type Fee = { quantity: string; } +export type Bid = { + auctionId: string; + bidderAddress: string; + status: string; + commitHash: string; + commitTime?: Date; + commitFee?: string; + revealTime?: Date; + revealFee?: string; + bidAmount?: string; +} + export type Auction = { id: string; kind: string; @@ -49,11 +61,12 @@ export type Auction = { revealFee?: string; minimumBid?: string; winnerAddresses: string[]; - winningBids?: string[]; - winningPrice?: string; + winnerBids?: string[]; + winnerPrice?: string; maxPrice?: string; numProviders: number; fundsReleased: boolean; + bids: Bid[]; } export enum DomainStatus { -- 2.45.2 From e45cc45f381da6129319c5eb80b898ffc2b75bf6 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Thu, 10 Oct 2024 19:27:00 +0530 Subject: [PATCH 26/42] Check auction status only if deployments don't exist --- packages/backend/src/service.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index d9d3aa46..9f010bec 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -1,6 +1,6 @@ import assert from 'assert'; import debug from 'debug'; -import { DeepPartial, FindOptionsWhere, IsNull } from 'typeorm'; +import { DeepPartial, FindOptionsWhere, IsNull, Not } from 'typeorm'; import { Octokit, RequestError } from 'octokit'; import { OAuthApp } from '@octokit/oauth-app'; @@ -275,14 +275,15 @@ export class Service { * Calls the createDeploymentFromAuction method for deployments with completed auctions */ async checkAuctionStatus(): Promise { - const projects = await this.db.getProjects({ + const allProjects = await this.db.getProjects({ where: { - deployments: { - applicationDeploymentRequestId: IsNull() - } + auctionId: Not(IsNull()), }, + relations: ['deployments'], }); + const projects = allProjects.filter(project => project.deployments.length === 0); + const auctionIds = projects.map((project) => project.auctionId); const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); @@ -298,6 +299,7 @@ export class Service { await this.db.updateProjectById(project.id!, { deployerLrn: deployerLrns }) + for (const deployer of deployerLrns) { await this.createDeploymentFromAuction(project, deployer); } -- 2.45.2 From bf75dc8acc9690ac1e722ba61189d81ca5d9a974 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 11 Oct 2024 09:28:44 +0530 Subject: [PATCH 27/42] Update project entity --- packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/registry.ts | 2 +- packages/backend/src/schema.gql | 10 +++++----- packages/backend/src/service.ts | 14 ++++++-------- packages/backend/src/types.ts | 10 +++++----- .../project/overview/Activity/AuctionCard.tsx | 6 +++--- packages/frontend/src/stories/MockStoriesData.ts | 2 +- packages/gql-client/dist/index.d.mts | 8 ++------ packages/gql-client/dist/index.d.ts | 8 ++------ packages/gql-client/dist/index.js | 6 +++--- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 6 +++--- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/queries.ts | 6 +++--- packages/gql-client/src/types.ts | 15 +++++---------- 15 files changed, 42 insertions(+), 57 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 646cff59..63948b9b 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -50,7 +50,7 @@ export class Project { auctionId!: string | null; @Column({ type: 'simple-array', nullable: true }) - deployerLrn!: string[] | null; + deployerLrns!: string[] | null; // TODO: Compute template & framework in import repository @Column('varchar', { nullable: true }) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 6de42d7b..ca3f6159 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -473,7 +473,7 @@ export class Registry { } async getAuctionData(auctionId: string): Promise { - return this.registry.getAuctionsByIds([auctionId]);; + return this.registry.getAuctionsByIds([auctionId]); } getLrn(appName: string): string { diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 5153ce32..2519e3c3 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -23,10 +23,10 @@ enum DeploymentStatus { } enum AuctionStatus { - completed - reveal - commit - expired + completed + reveal + commit + expired } enum DomainStatus { @@ -72,7 +72,7 @@ type Project { repository: String! prodBranch: String! description: String - deployerLrn: [String] + deployerLrns: [String] auctionId: String template: String framework: String diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 9f010bec..04229698 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -165,7 +165,8 @@ export class Service { async updateDeploymentsWithRecordData( records: AppDeploymentRecord[], ): Promise { - // Deployments that are completed, not updated(are in building state and ApplicationDeploymentRecord is present) + // Get deployments for ApplicationDeploymentRecords + // Deployments that are completed but not updated(are in building state and ApplicationDeploymentRecord is present) const deployments = await this.db.getDeployments({ where: records.map((record) => ({ applicationRecordId: record.attributes.application, @@ -205,10 +206,6 @@ export class Service { const deploymentUpdatePromises = records.map(async (record) => { const deployment = recordToDeploymentsMap[record.attributes.request]; - if(!deployment) { - log('Deployment does not exist') - } - await this.db.updateDeploymentById(deployment.id, { applicationDeploymentRecordId: record.id, applicationDeploymentRecordData: record.attributes, @@ -282,6 +279,7 @@ export class Service { relations: ['deployments'], }); + // Should only check on the first deployment const projects = allProjects.filter(project => project.deployments.length === 0); const auctionIds = projects.map((project) => project.auctionId); @@ -297,7 +295,7 @@ export class Service { // Update project with deployer LRNs await this.db.updateProjectById(project.id!, { - deployerLrn: deployerLrns + deployerLrns }) for (const deployer of deployerLrns) { @@ -696,7 +694,7 @@ export class Service { // Save deployer lrn only if present if (lrn) { - newDeployment.project.deployerLrn = [lrn]; + newDeployment.project.deployerLrns = [lrn]; } return newDeployment; @@ -974,7 +972,7 @@ export class Service { branch, }); - const deployers = project.deployerLrn; + const deployers = project.deployerLrns; if (!deployers) { return; } diff --git a/packages/backend/src/types.ts b/packages/backend/src/types.ts index 9774129b..3f387d5d 100644 --- a/packages/backend/src/types.ts +++ b/packages/backend/src/types.ts @@ -75,11 +75,11 @@ export interface Auction { kind: string; status: string; ownerAddress: string; - createTime?: Date; - commitsEndTime?: Date; - revealsEndTime?: Date; - commitFee?: string; - revealFee?: string; + createTime: Date; + commitsEndTime: Date; + revealsEndTime: Date; + commitFee: string; + revealFee: string; minimumBid?: string; winnerAddresses: string[]; winnerBids?: string[]; diff --git a/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx index 6648def8..24d57c38 100644 --- a/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx +++ b/packages/frontend/src/components/projects/project/overview/Activity/AuctionCard.tsx @@ -28,8 +28,8 @@ export const AuctionCard = ({ project }: { project: Project }) => { const result = await client.getAuctionData(project.auctionId); setAuctionStatus(result.status); setAuctionDetails(result); - setDeployerLrns(project.deployerLrn); - }, [client, project.auctionId, project.deployerLrn]); + setDeployerLrns(project.deployerLrns); + }, [client, project.auctionId, project.deployerLrns]); useEffect(() => { if (auctionStatus !== 'completed') { @@ -74,7 +74,7 @@ export const AuctionCard = ({ project }: { project: Project }) => { - {project.deployerLrn && ( + {project.deployerLrns && (
Deployer LRNs {deployerLrns.map((lrn, index) => ( diff --git a/packages/frontend/src/stories/MockStoriesData.ts b/packages/frontend/src/stories/MockStoriesData.ts index 87e8f659..49579f3f 100644 --- a/packages/frontend/src/stories/MockStoriesData.ts +++ b/packages/frontend/src/stories/MockStoriesData.ts @@ -121,7 +121,7 @@ export const project: Project = { template: 'Template', members: [member], auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', - deployerLrn: ['lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', 'lrn://wireitin/deployers/webapp-deployer-api.wireitin.com'], + deployerLrns: ['lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', 'lrn://wireitin/deployers/webapp-deployer-api.wireitin.com'], webhooks: ['beepboop'], icon: 'Icon', subDomain: 'SubDomain', diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index c27bd1d8..3257bca3 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -24,10 +24,6 @@ declare enum AuctionStatus { AuctionStatusExpired = "expired", AuctionStatusCompleted = "completed" } -type Fee = { - type: string; - quantity: string; -}; type Bid = { auctionId: string; bidderAddress: string; @@ -153,7 +149,7 @@ type Project = { description: string; template: string; framework: string; - deployerLrn: string[]; + deployerLrns: string[]; auctionId: string; webhooks: string[]; members: ProjectMember[]; @@ -340,4 +336,4 @@ declare class GQLClient { getAuctionData(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index c27bd1d8..3257bca3 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -24,10 +24,6 @@ declare enum AuctionStatus { AuctionStatusExpired = "expired", AuctionStatusCompleted = "completed" } -type Fee = { - type: string; - quantity: string; -}; type Bid = { auctionId: string; bidderAddress: string; @@ -153,7 +149,7 @@ type Project = { description: string; template: string; framework: string; - deployerLrn: string[]; + deployerLrns: string[]; auctionId: string; webhooks: string[]; members: ProjectMember[]; @@ -340,4 +336,4 @@ declare class GQLClient { getAuctionData(auctionId: string): Promise; } -export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type Fee, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; +export { type AddDomainInput, type AddDomainResponse, type AddEnvironmentVariableInput, type AddEnvironmentVariablesResponse, type AddProjectFromTemplateInput, type AddProjectFromTemplateResponse, type AddProjectInput, type AddProjectMemberInput, type AddProjectMemberResponse, type AddProjectResponse, type Auction, type AuctionData, AuctionStatus, type AuthenticateGitHubResponse, type Bid, type DeleteDeploymentResponse, type DeleteDomainResponse, type DeleteProjectResponse, type Deployment, DeploymentStatus, type Domain, DomainStatus, Environment, type EnvironmentVariable, type FilterDomainInput, GQLClient, type GetDeploymentsResponse, type GetDomainsResponse, type GetEnvironmentVariablesResponse, type GetOrganizationsResponse, type GetProjectMembersResponse, type GetProjectResponse, type GetProjectsInOrganizationResponse, type GetUserResponse, type GraphQLConfig, type Organization, type OrganizationMember, type OrganizationProject, Permission, type Project, type ProjectMember, type RedeployToProdResponse, type RemoveEnvironmentVariableResponse, type RemoveProjectMemberResponse, Role, type RollbackDeploymentResponse, type SearchProjectsResponse, type UnauthenticateGitHubResponse, type UpdateDeploymentToProdResponse, type UpdateDomainInput, type UpdateDomainResponse, type UpdateEnvironmentVariableInput, type UpdateEnvironmentVariableResponse, type UpdateProjectInput, type UpdateProjectMemberInput, type UpdateProjectMemberResponse, type UpdateProjectResponse, type User }; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index ac2e74e0..cdaebfc0 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -78,7 +78,7 @@ query ($projectId: String!) { updatedAt prodBranch auctionId - deployerLrn + deployerLrns framework repository webhooks @@ -127,7 +127,7 @@ query ($organizationSlug: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks repository @@ -237,7 +237,7 @@ query ($searchText: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks updatedAt diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index 9f0a5e8e..80d2fc93 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\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 auctionId\n deployerLrns\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 deployerLrn\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrns: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 13f6022d..62a7296c 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -50,7 +50,7 @@ query ($projectId: String!) { updatedAt prodBranch auctionId - deployerLrn + deployerLrns framework repository webhooks @@ -99,7 +99,7 @@ query ($organizationSlug: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks repository @@ -209,7 +209,7 @@ query ($searchText: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks updatedAt diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index f48aa426..6c1f4ded 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrn\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 auctionId\n deployerLrn\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 deployerLrn\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 auctionId\n deployerLrn\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n\tAuctionStatusCommitPhase = \"commit\",\n\tAuctionStatusRevealPhase = \"reveal\",\n\tAuctionStatusExpired = \"expired\",\n\tAuctionStatusCompleted = \"completed\",\n}\n\nexport type Fee = {\n type: string;\n quantity: string;\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrn: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\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 auctionId\n deployerLrns\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 deployerLrn\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrns: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index 686986cb..fe5bcbab 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -24,7 +24,7 @@ query ($projectId: String!) { updatedAt prodBranch auctionId - deployerLrn + deployerLrns framework repository webhooks @@ -74,7 +74,7 @@ query ($organizationSlug: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks repository @@ -189,7 +189,7 @@ query ($searchText: String!) { description framework auctionId - deployerLrn + deployerLrns prodBranch webhooks updatedAt diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 69f6f657..0ca3e448 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -26,15 +26,10 @@ export enum DeploymentStatus { } export enum AuctionStatus { - AuctionStatusCommitPhase = "commit", - AuctionStatusRevealPhase = "reveal", - AuctionStatusExpired = "expired", - AuctionStatusCompleted = "completed", -} - -export type Fee = { - type: string; - quantity: string; + AuctionStatusCommitPhase = "commit", + AuctionStatusRevealPhase = "reveal", + AuctionStatusExpired = "expired", + AuctionStatusCompleted = "completed", } export type Bid = { @@ -173,7 +168,7 @@ export type Project = { description: string; template: string; framework: string; - deployerLrn: string[]; + deployerLrns: string[]; auctionId: string; webhooks: string[]; members: ProjectMember[]; -- 2.45.2 From 55e238d0b907db9200ff850011dd83a6e05a89ad Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 11 Oct 2024 12:33:25 +0530 Subject: [PATCH 28/42] Update method for deleting deployment --- packages/backend/src/database.ts | 2 -- packages/backend/src/entity/Deployment.ts | 3 +++ packages/backend/src/entity/Project.ts | 4 ++-- packages/backend/src/registry.ts | 5 +++-- packages/backend/src/schema.gql | 3 ++- packages/backend/src/service.ts | 15 ++++++++++++++- packages/backend/test/publish-deploy-records.ts | 2 +- .../org-slug/projects/create/success/Id.tsx | 17 ----------------- .../src/pages/org-slug/projects/id/Overview.tsx | 15 +++++++++------ .../frontend/src/stories/MockStoriesData.ts | 6 +++--- packages/gql-client/dist/index.d.mts | 3 ++- packages/gql-client/dist/index.d.ts | 3 ++- packages/gql-client/dist/index.js | 7 +++++-- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 7 +++++-- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/queries.ts | 7 +++++-- packages/gql-client/src/types.ts | 3 ++- 18 files changed, 60 insertions(+), 46 deletions(-) diff --git a/packages/backend/src/database.ts b/packages/backend/src/database.ts index b5586b84..1a48c35d 100644 --- a/packages/backend/src/database.ts +++ b/packages/backend/src/database.ts @@ -465,8 +465,6 @@ export class Database { id: organizationId }); - newProject.subDomain = `${newProject.name}.${this.projectDomain}`; - return projectRepository.save(newProject); } diff --git a/packages/backend/src/entity/Deployment.ts b/packages/backend/src/entity/Deployment.ts index a2719986..0036aed9 100644 --- a/packages/backend/src/entity/Deployment.ts +++ b/packages/backend/src/entity/Deployment.ts @@ -138,6 +138,9 @@ export class Deployment { @Column('boolean', { default: false }) isCurrent!: boolean; + @Column('varchar', { nullable: true }) + baseDomain!: string | null; + @Column({ enum: DeploymentStatus }) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 63948b9b..0cdbdfc2 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -67,8 +67,8 @@ export class Project { @Column('varchar') icon!: string; - @Column('varchar') - subDomain!: string; + @Column('varchar', { nullable: true }) + baseDomains!: string[] | null; @CreateDateColumn() createdAt!: Date; diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index ca3f6159..08ed5f65 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -194,7 +194,6 @@ export class Registry { }) ).data.html_url; - // TODO: Set environment variables for each deployment (environment variables can't be set in application record) const { applicationRecordId } = await this.createApplicationRecord({ appName: repo, @@ -421,6 +420,7 @@ export class Registry { async createApplicationDeploymentRemovalRequest (data: { deploymentId: string; + deployerLrn: string; }): Promise<{ applicationDeploymentRemovalRequestId: string; applicationDeploymentRemovalRequestData: ApplicationDeploymentRemovalRequest; @@ -428,7 +428,8 @@ export class Registry { const applicationDeploymentRemovalRequest = { type: APP_DEPLOYMENT_REMOVAL_REQUEST_TYPE, version: '1.0.0', - deployment: data.deploymentId + deployment: data.deploymentId, + deployer: data.deployerLrn }; const fee = parseGasAndFees(this.registryConfig.fee.gas, this.registryConfig.fee.fees); diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 2519e3c3..9a7f4d9b 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -83,7 +83,7 @@ type Project { updatedAt: String! organization: Organization! icon: String - subDomain: String + baseDomains: [String!] } type ProjectMember { @@ -105,6 +105,7 @@ type Deployment { environment: Environment! deployerLrn: String isCurrent: Boolean! + baseDomain: String status: DeploymentStatus! createdAt: String! updatedAt: String! diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 04229698..0862ddab 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -210,10 +210,21 @@ export class Service { applicationDeploymentRecordId: record.id, applicationDeploymentRecordData: record.attributes, url: record.attributes.url, + baseDomain, status: DeploymentStatus.Ready, isCurrent: deployment.environment === Environment.Production, }); + const baseDomains = project.baseDomains || []; + + if (!baseDomains.includes(baseDomain)) { + baseDomains.push(baseDomain); + } + + await this.db.updateProjectById(project.id, { + baseDomains + }) + log( `Updated deployment ${deployment.id} with URL ${record.attributes.url}`, ); @@ -1113,7 +1124,7 @@ export class Service { if (deployment && deployment.applicationDeploymentRecordId) { // If deployment is current, remove deployment for project subdomain as well if (deployment.isCurrent) { - const currentDeploymentURL = `https://${deployment.project.subDomain}`; + const currentDeploymentURL = `https://${(deployment.project.name).toLowerCase()}.${deployment.baseDomain}`; const deploymentRecords = await this.registry.getDeploymentRecordsByFilter({ @@ -1131,12 +1142,14 @@ export class Service { await this.registry.createApplicationDeploymentRemovalRequest({ deploymentId: deploymentRecords[0].id, + deployerLrn: deployment.deployerLrn }); } const result = await this.registry.createApplicationDeploymentRemovalRequest({ deploymentId: deployment.applicationDeploymentRecordId, + deployerLrn: deployment.deployerLrn }); await this.db.updateDeploymentById(deployment.id, { diff --git a/packages/backend/test/publish-deploy-records.ts b/packages/backend/test/publish-deploy-records.ts index f128e399..cb40e032 100644 --- a/packages/backend/test/publish-deploy-records.ts +++ b/packages/backend/test/publish-deploy-records.ts @@ -73,7 +73,7 @@ async function main() { // Remove deployment for project subdomain if deployment is for production environment if (deployment.environment === Environment.Production) { - applicationDeploymentRecord.url = `https://${deployment.project.subDomain}` + applicationDeploymentRecord.url = `https://${deployment.project.name}.${deployment.baseDomain}`; await registry.setRecord( { diff --git a/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx b/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx index 837be153..9fc32c77 100644 --- a/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx +++ b/packages/frontend/src/pages/org-slug/projects/create/success/Id.tsx @@ -5,7 +5,6 @@ import { Badge } from 'components/shared/Badge'; import { Button } from 'components/shared/Button'; import { ArrowLeftCircleFilledIcon, - LinkChainIcon, QuestionMarkRoundFilledIcon, } from 'components/shared/CustomIcon'; import { Heading } from 'components/shared/Heading'; @@ -55,22 +54,6 @@ const Id = () => { {isAuction? 'Project created successfully.' : 'Project deployed successfully.'} - {!isAuction && ( -

- Your project has been deployed at{' '} - -

- )}
{/* Card */} diff --git a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx index 7c0862a0..0e495065 100644 --- a/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx +++ b/packages/frontend/src/pages/org-slug/projects/id/Overview.tsx @@ -129,12 +129,15 @@ const OverviewTabPanel = () => { {project.name} - - {project.subDomain} - + {project.baseDomains && project.baseDomains.length > 0 && project.baseDomains.map((baseDomain, index) => ( + + {baseDomain} + + ))} }> diff --git a/packages/frontend/src/stories/MockStoriesData.ts b/packages/frontend/src/stories/MockStoriesData.ts index 49579f3f..92f71721 100644 --- a/packages/frontend/src/stories/MockStoriesData.ts +++ b/packages/frontend/src/stories/MockStoriesData.ts @@ -102,7 +102,7 @@ export const deployment0: Deployment = { domain: domain0, commitMessage: 'Commit Message', createdBy: user, - deployerLrn: 'lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', + deployerLrn: 'lrn://deployer.apps.snowballtools.com ', }; export const project: Project = { @@ -121,8 +121,8 @@ export const project: Project = { template: 'Template', members: [member], auctionId: '7553538436710373822151221341b43f577e07b0525d083cc9b2de98890138a1', - deployerLrns: ['lrn://deepstack-test4/deployers/webapp-deployer-api.test4.wireitin.com', 'lrn://wireitin/deployers/webapp-deployer-api.wireitin.com'], + deployerLrns: ['lrn://deployer.apps.snowballtools.com '], webhooks: ['beepboop'], icon: 'Icon', - subDomain: 'SubDomain', + baseDomains: ['baseDomain'], }; diff --git a/packages/gql-client/dist/index.d.mts b/packages/gql-client/dist/index.d.mts index 3257bca3..4bf6fb84 100644 --- a/packages/gql-client/dist/index.d.mts +++ b/packages/gql-client/dist/index.d.mts @@ -94,6 +94,7 @@ type Deployment = { deployerLrn: string; environment: Environment; isCurrent: boolean; + baseDomain?: string; status: DeploymentStatus; createdBy: User; createdAt: string; @@ -158,7 +159,7 @@ type Project = { updatedAt: string; organization: Organization; icon: string; - subDomain: string; + baseDomains?: string[] | null; }; type GetProjectMembersResponse = { projectMembers: ProjectMember[]; diff --git a/packages/gql-client/dist/index.d.ts b/packages/gql-client/dist/index.d.ts index 3257bca3..4bf6fb84 100644 --- a/packages/gql-client/dist/index.d.ts +++ b/packages/gql-client/dist/index.d.ts @@ -94,6 +94,7 @@ type Deployment = { deployerLrn: string; environment: Environment; isCurrent: boolean; + baseDomain?: string; status: DeploymentStatus; createdBy: User; createdAt: string; @@ -158,7 +159,7 @@ type Project = { updatedAt: string; organization: Organization; icon: string; - subDomain: string; + baseDomains?: string[] | null; }; type GetProjectMembersResponse = { projectMembers: ProjectMember[]; diff --git a/packages/gql-client/dist/index.js b/packages/gql-client/dist/index.js index cdaebfc0..5a680ca3 100644 --- a/packages/gql-client/dist/index.js +++ b/packages/gql-client/dist/index.js @@ -83,7 +83,7 @@ query ($projectId: String!) { repository webhooks icon - subDomain + baseDomains organization { id name @@ -97,6 +97,7 @@ query ($projectId: String!) { id branch isCurrent + baseDomain status updatedAt commitHash @@ -133,11 +134,12 @@ query ($organizationSlug: String!) { repository updatedAt icon - subDomain + baseDomains deployments { id branch isCurrent + baseDomain status updatedAt commitHash @@ -186,6 +188,7 @@ query ($projectId: String!) { deployerLrn environment isCurrent + baseDomain status createdAt updatedAt diff --git a/packages/gql-client/dist/index.js.map b/packages/gql-client/dist/index.js.map index 80d2fc93..dd4cdfec 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\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 auctionId\n deployerLrns\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 deployerLrn\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrns: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\n framework\n repository\n webhooks\n icon\n baseDomains\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 baseDomain\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 auctionId\n deployerLrns\n prodBranch\n webhooks\n repository\n updatedAt\n icon\n baseDomains\n deployments {\n id\n branch\n isCurrent\n baseDomain\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 deployerLrn\n environment\n isCurrent\n baseDomain\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: string;\n environment: Environment;\n isCurrent: boolean;\n baseDomain?: string;\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 deployerLrns: string[];\n auctionId: string;\n webhooks: string[];\n members: ProjectMember[];\n environmentVariables: EnvironmentVariable[];\n createdAt: string;\n updatedAt: string;\n organization: Organization;\n icon: string;\n baseDomains?: string[] | null;\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["import_client","import_client","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/dist/index.mjs b/packages/gql-client/dist/index.mjs index 62a7296c..ada95f1e 100644 --- a/packages/gql-client/dist/index.mjs +++ b/packages/gql-client/dist/index.mjs @@ -55,7 +55,7 @@ query ($projectId: String!) { repository webhooks icon - subDomain + baseDomains organization { id name @@ -69,6 +69,7 @@ query ($projectId: String!) { id branch isCurrent + baseDomain status updatedAt commitHash @@ -105,11 +106,12 @@ query ($organizationSlug: String!) { repository updatedAt icon - subDomain + baseDomains deployments { id branch isCurrent + baseDomain status updatedAt commitHash @@ -158,6 +160,7 @@ query ($projectId: String!) { deployerLrn environment isCurrent + baseDomain status createdAt updatedAt diff --git a/packages/gql-client/dist/index.mjs.map b/packages/gql-client/dist/index.mjs.map index 6c1f4ded..c25453c3 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 {\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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\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 auctionId\n deployerLrns\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 deployerLrn\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: 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 deployerLrns: string[];\n auctionId: 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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","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 addProjectFromTemplate(\n organizationSlug: string,\n data: types.AddProjectFromTemplateInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProjectFromTemplate,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\n },\n });\n\n return result.data;\n }\n\n async addProject(\n organizationSlug: string,\n data: types.AddProjectInput,\n lrn?: string,\n auctionData?: types.AuctionData,\n ): Promise {\n const result = await this.client.mutate({\n mutation: mutations.addProject,\n variables: {\n organizationSlug,\n data,\n lrn,\n auctionData\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 async getAuctionData(auctionId: string): Promise {\n const { data } = await this.client.query({\n query: queries.getAuctionData,\n variables: {\n auctionId,\n },\n });\n\n return data.getAuctionData;\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 auctionId\n deployerLrns\n framework\n repository\n webhooks\n icon\n baseDomains\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 baseDomain\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 auctionId\n deployerLrns\n prodBranch\n webhooks\n repository\n updatedAt\n icon\n baseDomains\n deployments {\n id\n branch\n isCurrent\n baseDomain\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 deployerLrn\n environment\n isCurrent\n baseDomain\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 auctionId\n deployerLrns\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\nexport const getAuctionData = gql`\nquery ($auctionId: String!) {\n getAuctionData(auctionId: $auctionId){\n id\n kind\n status\n ownerAddress\n createTime\n commitsEndTime\n revealsEndTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n minimumBid {\n type\n quantity\n }\n winnerAddresses\n winnerBids {\n type\n quantity\n }\n winnerPrice {\n type\n quantity\n }\n maxPrice {\n type\n quantity\n }\n numProviders\n fundsReleased\n bids {\n bidderAddress\n status\n commitHash\n commitTime\n revealTime\n commitFee {\n type\n quantity\n }\n revealFee {\n type\n quantity\n }\n bidAmount {\n type\n quantity\n }\n }\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, $lrn: String, $auctionData: AuctionData) {\n addProjectFromTemplate(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\n id\n }\n }\n`;\n\nexport const addProject = gql`\n mutation ($organizationSlug: String!, $data: AddProjectInput, $lrn: String, $auctionData: AuctionData) {\n addProject(organizationSlug: $organizationSlug, data: $data, lrn: $lrn, auctionData: $auctionData) {\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 AuctionStatus {\n AuctionStatusCommitPhase = \"commit\",\n AuctionStatusRevealPhase = \"reveal\",\n AuctionStatusExpired = \"expired\",\n AuctionStatusCompleted = \"completed\",\n}\n\nexport type Bid = {\n auctionId: string;\n bidderAddress: string;\n status: string;\n commitHash: string;\n commitTime?: Date;\n commitFee?: string;\n revealTime?: Date;\n revealFee?: string;\n bidAmount?: string;\n}\n\nexport type Auction = {\n id: string;\n kind: string;\n status: string;\n ownerAddress: string;\n createTime?: Date;\n commitsEndTime?: Date;\n revealsEndTime?: Date;\n commitFee?: string;\n revealFee?: string;\n minimumBid?: string;\n winnerAddresses: string[];\n winnerBids?: string[];\n winnerPrice?: string;\n maxPrice?: string;\n numProviders: number;\n fundsReleased: boolean;\n bids: Bid[];\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 deployerLrn: string;\n environment: Environment;\n isCurrent: boolean;\n baseDomain?: string;\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 deployerLrns: string[];\n auctionId: string;\n webhooks: string[];\n members: ProjectMember[];\n environmentVariables: EnvironmentVariable[];\n createdAt: string;\n updatedAt: string;\n organization: Organization;\n icon: string;\n baseDomains?: string[] | null;\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\nexport type AuctionData = {\n maxPrice: string;\n numProviders: number;\n};\n"],"mappings":"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","names":["gql","Role","Permission","Environment","DeploymentStatus","AuctionStatus","DomainStatus"]} \ No newline at end of file diff --git a/packages/gql-client/src/queries.ts b/packages/gql-client/src/queries.ts index fe5bcbab..6f115a82 100644 --- a/packages/gql-client/src/queries.ts +++ b/packages/gql-client/src/queries.ts @@ -29,7 +29,7 @@ query ($projectId: String!) { repository webhooks icon - subDomain + baseDomains organization { id name @@ -43,6 +43,7 @@ query ($projectId: String!) { id branch isCurrent + baseDomain status updatedAt commitHash @@ -80,11 +81,12 @@ query ($organizationSlug: String!) { repository updatedAt icon - subDomain + baseDomains deployments { id branch isCurrent + baseDomain status updatedAt commitHash @@ -135,6 +137,7 @@ query ($projectId: String!) { deployerLrn environment isCurrent + baseDomain status createdAt updatedAt diff --git a/packages/gql-client/src/types.ts b/packages/gql-client/src/types.ts index 0ca3e448..c1a01c68 100644 --- a/packages/gql-client/src/types.ts +++ b/packages/gql-client/src/types.ts @@ -108,6 +108,7 @@ export type Deployment = { deployerLrn: string; environment: Environment; isCurrent: boolean; + baseDomain?: string; status: DeploymentStatus; createdBy: User; createdAt: string; @@ -177,7 +178,7 @@ export type Project = { updatedAt: string; organization: Organization; icon: string; - subDomain: string; + baseDomains?: string[] | null; }; export type GetProjectMembersResponse = { -- 2.45.2 From f374fa69ff72a4bc45829f82461134b12ce9e0b6 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Fri, 11 Oct 2024 13:27:50 +0530 Subject: [PATCH 29/42] Update project base domains after deployment is deleted --- packages/backend/src/registry.ts | 10 +++--- packages/backend/src/schema.gql | 2 +- packages/backend/src/service.ts | 53 +++++++++++++++++++------------- 3 files changed, 39 insertions(+), 26 deletions(-) diff --git a/packages/backend/src/registry.ts b/packages/backend/src/registry.ts index 08ed5f65..9a473ca3 100644 --- a/packages/backend/src/registry.ts +++ b/packages/backend/src/registry.ts @@ -14,8 +14,9 @@ import { ApplicationDeploymentRequest, ApplicationDeploymentRemovalRequest } from './entity/Deployment'; -import { AppDeploymentRecord, AppDeploymentRemovalRecord, Auction, AuctionData, PackageJSON } from './types'; +import { AppDeploymentRecord, AppDeploymentRemovalRecord, AuctionData, PackageJSON } from './types'; import { getConfig, sleep } from './utils'; +import { Auction } from '@cerc-io/registry-sdk/dist/proto/cerc/auction/v1/auction'; const log = debug('snowball:registry'); @@ -329,7 +330,7 @@ export class Registry { }; } - async getAuctionWinners( + async getAuctionWinningDeployers( auctionId: string ): Promise { const records = await this.registry.getAuctionsByIds([auctionId]); @@ -372,11 +373,12 @@ export class Registry { true ); - // Filter records with ApplicationRecord ID and Deployment specific URL + // Filter records with ApplicationDeploymentRequestId ID and Deployment specific URL return records.filter((record: AppDeploymentRecord) => deployments.some( (deployment) => - deployment.applicationDeploymentRequestId === record.attributes.request + deployment.applicationDeploymentRequestId === record.attributes.request && + record.attributes.url.includes(deployment.id) ) ); } diff --git a/packages/backend/src/schema.gql b/packages/backend/src/schema.gql index 9a7f4d9b..0d3d996f 100644 --- a/packages/backend/src/schema.gql +++ b/packages/backend/src/schema.gql @@ -274,7 +274,7 @@ type Mutation { ): Project! addProject( organizationSlug: String! - data: AddProjectInput + data: AddProjectInput! lrn: String auctionData: AuctionData ): Project! diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 0862ddab..38259953 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -19,7 +19,6 @@ import { AddProjectFromTemplateInput, AppDeploymentRecord, AppDeploymentRemovalRecord, - Auction, AuctionData, GitPushEventPayload, PackageJSON, @@ -41,7 +40,7 @@ interface Config { export class Service { private db: Database; private oauthApp: OAuthApp; - private registry: Registry; + private laconicRegistry: Registry; private config: Config; private deployRecordCheckTimeout?: NodeJS.Timeout; @@ -49,7 +48,7 @@ export class Service { constructor(config: Config, db: Database, app: OAuthApp, registry: Registry) { this.db = db; this.oauthApp = app; - this.registry = registry; + this.laconicRegistry = registry; this.config = config; this.init(); } @@ -112,7 +111,7 @@ export class Service { } // Fetch ApplicationDeploymentRecord for deployments - const records = await this.registry.getDeploymentRecords(deployments); + const records = await this.laconicRegistry.getDeploymentRecords(deployments); log(`Found ${records.length} ApplicationDeploymentRecords`); // Update deployments for which ApplicationDeploymentRecords were returned @@ -145,7 +144,7 @@ export class Service { // Fetch ApplicationDeploymentRemovalRecords for deployments const records = - await this.registry.getDeploymentRemovalRecords(deployments); + await this.laconicRegistry.getDeploymentRemovalRecords(deployments); log(`Found ${records.length} ApplicationDeploymentRemovalRecords`); // Update deployments for which ApplicationDeploymentRemovalRecords were returned @@ -205,6 +204,11 @@ export class Service { // Update deployment data for ApplicationDeploymentRecords const deploymentUpdatePromises = records.map(async (record) => { const deployment = recordToDeploymentsMap[record.attributes.request]; + const project = await this.getProjectById(deployment.projectId) + assert(project) + + const parts = record.attributes.url.replace('https://', '').split('.'); + const baseDomain = parts.slice(1).join('.'); await this.db.updateDeploymentById(deployment.id, { applicationDeploymentRecordId: record.id, @@ -273,6 +277,13 @@ export class Service { ); await this.db.deleteDeploymentById(deployment.id); + const project = await this.db.getProjectById(deployment.projectId); + + const updatedBaseDomains = project!.baseDomains!.filter(baseDomain => baseDomain !== deployment.baseDomain); + + await this.db.updateProjectById(deployment.projectId, { + baseDomains: updatedBaseDomains + }); }); await Promise.all(deploymentUpdatePromises); @@ -294,7 +305,7 @@ export class Service { const projects = allProjects.filter(project => project.deployments.length === 0); const auctionIds = projects.map((project) => project.auctionId); - const completedAuctionIds = await this.registry.getCompletedAuctionIds(auctionIds); + const completedAuctionIds = await this.laconicRegistry.getCompletedAuctionIds(auctionIds); if (completedAuctionIds) { const projectsToBedeployed = projects.filter((project) => @@ -302,12 +313,12 @@ export class Service { ); for (const project of projectsToBedeployed) { - const deployerLrns = await this.registry.getAuctionWinners(project!.auctionId!); + const deployerLrns = await this.laconicRegistry.getAuctionWinningDeployers(project!.auctionId!); // Update project with deployer LRNs await this.db.updateProjectById(project.id!, { deployerLrns - }) + }); for (const deployer of deployerLrns) { await this.createDeploymentFromAuction(project, deployer); @@ -619,7 +630,7 @@ export class Service { // TODO: Set environment variables for each deployment (environment variables can`t be set in application record) const { applicationRecordId, applicationRecordData } = - await this.registry.createApplicationRecord({ + await this.laconicRegistry.createApplicationRecord({ appName: repo, packageJSON, appType: data.project!.template!, @@ -678,7 +689,7 @@ export class Service { if (data.environment === Environment.Production) { // On deleting deployment later, project DNS deployment is also deleted // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later - await this.registry.createApplicationDeploymentRequest({ + await this.laconicRegistry.createApplicationDeploymentRequest({ deployment: newDeployment, appName: repo, repository: repoUrl, @@ -689,7 +700,7 @@ export class Service { } const { applicationDeploymentRequestId, applicationDeploymentRequestData } = - await this.registry.createApplicationDeploymentRequest({ + await this.laconicRegistry.createApplicationDeploymentRequest({ deployment: newDeployment, appName: repo, repository: repoUrl, @@ -734,8 +745,8 @@ export class Service { per_page: 1, }); - const lrn = this.registry.getLrn(repo); - const [record] = await this.registry.getRecordsByName(lrn); + const lrn = this.laconicRegistry.getLrn(repo); + const [record] = await this.laconicRegistry.getRecordsByName(lrn); const applicationRecordId = record.id; const applicationRecordData = record.attributes; @@ -787,7 +798,7 @@ export class Service { if (deploymentData.environment === Environment.Production) { // On deleting deployment later, project DNS deployment is also deleted // So publish project DNS deployment first so that ApplicationDeploymentRecord for the same is available when deleting deployment later - await this.registry.createApplicationDeploymentRequest({ + await this.laconicRegistry.createApplicationDeploymentRequest({ deployment: newDeployment, appName: repo, repository: repoUrl, @@ -800,7 +811,7 @@ export class Service { const { applicationDeploymentRequestId, applicationDeploymentRequestData } = // Create requests for all the deployers - await this.registry.createApplicationDeploymentRequest({ + await this.laconicRegistry.createApplicationDeploymentRequest({ deployment: newDeployment, appName: repo, repository: repoUrl, @@ -908,7 +919,7 @@ export class Service { }; if (auctionData) { - const { applicationDeploymentAuctionId } = await this.registry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData); + const { applicationDeploymentAuctionId } = await this.laconicRegistry.createApplicationDeploymentAuction(repo, octokit, auctionData!, deploymentData); await this.updateProject(project.id, { auctionId: applicationDeploymentAuctionId }) } else { await this.createDeployment(user.id, octokit, deploymentData, lrn!); @@ -1127,7 +1138,7 @@ export class Service { const currentDeploymentURL = `https://${(deployment.project.name).toLowerCase()}.${deployment.baseDomain}`; const deploymentRecords = - await this.registry.getDeploymentRecordsByFilter({ + await this.laconicRegistry.getDeploymentRecordsByFilter({ application: deployment.applicationRecordId, url: currentDeploymentURL, }); @@ -1140,14 +1151,14 @@ export class Service { return false; } - await this.registry.createApplicationDeploymentRemovalRequest({ + await this.laconicRegistry.createApplicationDeploymentRemovalRequest({ deploymentId: deploymentRecords[0].id, deployerLrn: deployment.deployerLrn }); } const result = - await this.registry.createApplicationDeploymentRemovalRequest({ + await this.laconicRegistry.createApplicationDeploymentRemovalRequest({ deploymentId: deployment.applicationDeploymentRecordId, deployerLrn: deployment.deployerLrn }); @@ -1287,8 +1298,8 @@ export class Service { async getAuctionData( auctionId: string - ): Promise { - const auctions = await this.registry.getAuctionData(auctionId); + ): Promise { + const auctions = await this.laconicRegistry.getAuctionData(auctionId); return auctions[0]; } } -- 2.45.2 From 9d8d2199e22a808efc2d0daa5f87afcce88467e4 Mon Sep 17 00:00:00 2001 From: IshaVenikar Date: Mon, 14 Oct 2024 12:03:52 +0530 Subject: [PATCH 30/42] Update Import project flow to configure deployment --- packages/backend/src/entity/Project.ts | 2 +- packages/backend/src/service.ts | 1 + .../components/projects/create/Configure.tsx | 104 ++++++++++++------ .../ProjectRepoCard/ProjectRepoCard.tsx | 41 ++----- .../pages/org-slug/projects/create/routes.tsx | 11 +- packages/gql-client/dist/index.js | 2 +- packages/gql-client/dist/index.js.map | 2 +- packages/gql-client/dist/index.mjs | 2 +- packages/gql-client/dist/index.mjs.map | 2 +- packages/gql-client/src/mutations.ts | 2 +- 10 files changed, 96 insertions(+), 73 deletions(-) diff --git a/packages/backend/src/entity/Project.ts b/packages/backend/src/entity/Project.ts index 0cdbdfc2..ea44483f 100644 --- a/packages/backend/src/entity/Project.ts +++ b/packages/backend/src/entity/Project.ts @@ -67,7 +67,7 @@ export class Project { @Column('varchar') icon!: string; - @Column('varchar', { nullable: true }) + @Column({ type: 'simple-array', nullable: true }) baseDomains!: string[] | null; @CreateDateColumn() diff --git a/packages/backend/src/service.ts b/packages/backend/src/service.ts index 38259953..0f3a1bbd 100644 --- a/packages/backend/src/service.ts +++ b/packages/backend/src/service.ts @@ -299,6 +299,7 @@ export class Service { auctionId: Not(IsNull()), }, relations: ['deployments'], + withDeleted: true, }); // Should only check on the first deployment diff --git a/packages/frontend/src/components/projects/create/Configure.tsx b/packages/frontend/src/components/projects/create/Configure.tsx index 244b814c..551dcf40 100644 --- a/packages/frontend/src/components/projects/create/Configure.tsx +++ b/packages/frontend/src/components/projects/create/Configure.tsx @@ -26,7 +26,7 @@ const Configure = () => { const [searchParams] = useSearchParams(); const templateId = searchParams.get('templateId'); const location = useLocation(); - const { templateOwner, templateRepo, owner, name, isPrivate, orgSlug } = location.state || {}; + const { templateOwner, templateRepo, owner, name, isPrivate, orgSlug, repository } = location.state || {}; const navigate = useNavigate(); const { toast, dismiss } = useToast(); @@ -47,14 +47,6 @@ const Configure = () => { setIsLoading(true); try { - const projectData: any = { - templateOwner, - templateRepo, - owner, - name, - isPrivate - }; - let lrn: string | undefined; let auctionData: AuctionData | undefined; @@ -63,26 +55,57 @@ const Configure = () => { } else if (data.option === 'Auction') { auctionData = { numProviders: Number(data.numProviders!), - maxPrice: (data.maxPrice!).toString() + maxPrice: (data.maxPrice!).toString(), }; } - const { addProjectFromTemplate } = await client.addProjectFromTemplate( - orgSlug, - projectData, - lrn, - auctionData - ); + if (templateId) { + // Template-based project creation + const projectData: any = { + templateOwner, + templateRepo, + owner, + name, + isPrivate, + }; - data.option === 'Auction' - ? navigate( - `/${orgSlug}/projects/create/success/${addProjectFromTemplate.id}`, + const { addProjectFromTemplate } = await client.addProjectFromTemplate( + orgSlug, + projectData, + lrn, + auctionData + ); + + data.option === 'Auction' + ? navigate( + `/${orgSlug}/projects/create/success/${addProjectFromTemplate.id}`, + { state: { isAuction: true } } + ) + : navigate( + `/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}` + ); + } else { + const { addProject } = await client.addProject( + orgSlug, { - state: { - isAuction: true - } - }) - : navigate(`/${orgSlug}/projects/create/template/deploy?projectId=${addProjectFromTemplate.id}&templateId=${templateId}`); + name: repository.fullName, + prodBranch: repository.defaultBranch, + repository: repository.fullName, + template: 'webapp', + }, + lrn, + auctionData + ); + + data.option === 'Auction' + ? navigate( + `/${orgSlug}/projects/create/success/${addProject.id}`, + { state: { isAuction: true } } + ) + : navigate( + `/${orgSlug}/projects/create/deploy?projectId=${addProject.id}` + ); + } } catch (error) { console.error('Error creating project:', error); toast({ @@ -106,7 +129,9 @@ const Configure = () => { Configure deployment - The app can be deployed by setting the deployer LRN for a single deployment or by creating a deployer auction for multiple deployments + The app can be deployed by setting the deployer LRN for a single + deployment or by creating a deployer auction for multiple + deployments @@ -119,11 +144,14 @@ const Configure = () => { control={control} render={({ field: { value, onChange } }) => (