summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Fred K. Schott <FredKSchott@users.noreply.github.com> 2024-02-29 05:26:11 +0000
committerGravatar astrobot-houston <fred+astrobot@astro.build> 2024-02-29 05:26:11 +0000
commite86b81a671b0b73e1f14e6d34c3064ad945b986c (patch)
treec59f74bfc69bb3c2a709877805c35edbec238532
parent2ecead463d128f28b4ac13b97723716d048397d1 (diff)
downloadastro-e86b81a671b0b73e1f14e6d34c3064ad945b986c.tar.gz
astro-e86b81a671b0b73e1f14e6d34c3064ad945b986c.tar.zst
astro-e86b81a671b0b73e1f14e6d34c3064ad945b986c.zip
[ci] format
-rw-r--r--packages/db/src/core/cli/commands/link/index.ts69
1 files changed, 43 insertions, 26 deletions
diff --git a/packages/db/src/core/cli/commands/link/index.ts b/packages/db/src/core/cli/commands/link/index.ts
index 28f8cdb63..4acfa7ec4 100644
--- a/packages/db/src/core/cli/commands/link/index.ts
+++ b/packages/db/src/core/cli/commands/link/index.ts
@@ -1,9 +1,9 @@
-import type { AstroConfig } from 'astro';
-import { slug } from 'github-slugger';
-import { bgRed, cyan } from 'kleur/colors';
import { mkdir, writeFile } from 'node:fs/promises';
import { homedir } from 'node:os';
import { basename } from 'node:path';
+import type { AstroConfig } from 'astro';
+import { slug } from 'github-slugger';
+import { bgRed, cyan } from 'kleur/colors';
import ora from 'ora';
import prompts from 'prompts';
import type { Arguments } from 'yargs-parser';
@@ -22,7 +22,7 @@ export async function cmd({}: { config: AstroConfig; flags: Arguments }) {
const isLinkExisting = await promptLinkExisting();
if (isLinkExisting) {
const workspaceId = await getWorkspaceIdAsync;
- const existingProjectData = await promptExistingProjectName({workspaceId});
+ const existingProjectData = await promptExistingProjectName({ workspaceId });
return await linkProject(existingProjectData.id);
}
@@ -32,7 +32,11 @@ export async function cmd({}: { config: AstroConfig; flags: Arguments }) {
const newProjectName = await promptNewProjectName();
const newProjectRegion = await promptNewProjectRegion();
const spinner = ora('Creating new project...').start();
- const newProjectData = await createNewProject({workspaceId, name: newProjectName, region: newProjectRegion});
+ const newProjectData = await createNewProject({
+ workspaceId,
+ name: newProjectName,
+ region: newProjectRegion,
+ });
// TODO(fks): Actually listen for project creation before continuing
// This is just a dumb spinner that roughly matches database creation time.
await new Promise((r) => setTimeout(r, 4000));
@@ -69,7 +73,9 @@ async function getWorkspaceId(): Promise<string> {
console.error(`Failed to fetch user workspace: ${response.status} ${response.statusText}`);
process.exit(1);
}
- const { data, success } = await response.json() as {success: false, data: unknown} | {success: true, data: {id: string}[]};
+ const { data, success } = (await response.json()) as
+ | { success: false; data: unknown }
+ | { success: true; data: { id: string }[] };
if (!success) {
console.error(`Failed to fetch user's workspace.`);
process.exit(1);
@@ -77,7 +83,15 @@ async function getWorkspaceId(): Promise<string> {
return data[0].id;
}
-export async function createNewProject({workspaceId, name, region}: {workspaceId: string; name: string, region: string}) {
+export async function createNewProject({
+ workspaceId,
+ name,
+ region,
+}: {
+ workspaceId: string;
+ name: string;
+ region: string;
+}) {
const linkUrl = new URL(getAstroStudioUrl() + '/api/cli/projects.create');
const response = await fetch(linkUrl, {
method: 'POST',
@@ -100,15 +114,17 @@ export async function createNewProject({workspaceId, name, region}: {workspaceId
console.error(`Failed to create project: ${response.status} ${response.statusText}`);
process.exit(1);
}
- const { data, success } = await response.json() as {success: false, data: unknown} | {success: true, data: {id: string; idName: string}};
+ const { data, success } = (await response.json()) as
+ | { success: false; data: unknown }
+ | { success: true; data: { id: string; idName: string } };
if (!success) {
console.error(`Failed to create project.`);
process.exit(1);
}
- return {id: data.id, idName: data.idName};
+ return { id: data.id, idName: data.idName };
}
-export async function promptExistingProjectName({workspaceId}: {workspaceId: string}) {
+export async function promptExistingProjectName({ workspaceId }: { workspaceId: string }) {
const linkUrl = new URL(getAstroStudioUrl() + '/api/cli/projects.list');
const response = await fetch(linkUrl, {
method: 'POST',
@@ -116,7 +132,7 @@ export async function promptExistingProjectName({workspaceId}: {workspaceId: str
Authorization: `Bearer ${await getSessionIdFromFile()}`,
'Content-Type': 'application/json',
},
- body: JSON.stringify({workspaceId}),
+ body: JSON.stringify({ workspaceId }),
});
if (!response.ok) {
// Unauthorized
@@ -131,7 +147,9 @@ export async function promptExistingProjectName({workspaceId}: {workspaceId: str
console.error(`Failed to fetch projects: ${response.status} ${response.statusText}`);
process.exit(1);
}
- const { data, success } = await response.json() as {success: false, data: unknown} | {success: true, data: {id: string; idName: string}[]};
+ const { data, success } = (await response.json()) as
+ | { success: false; data: unknown }
+ | { success: true; data: { id: string; idName: string }[] };
if (!success) {
console.error(`Failed to fetch projects.`);
process.exit(1);
@@ -141,10 +159,10 @@ export async function promptExistingProjectName({workspaceId}: {workspaceId: str
name: 'projectId',
message: 'What is your project name?',
limit: 5,
- choices: data.map((p: any) => ({title: p.name, value: p.id})),
+ choices: data.map((p: any) => ({ title: p.name, value: p.id })),
});
if (typeof projectId !== 'string') {
- console.log('Canceled.')
+ console.log('Canceled.');
process.exit(0);
}
const selectedProjectData = data.find((p: any) => p.id === projectId)!;
@@ -163,9 +181,9 @@ export async function promptBegin(): Promise<void> {
initial: true,
});
if (!begin) {
- console.log('Canceled.')
+ console.log('Canceled.');
process.exit(0);
- };
+ }
}
export async function promptLinkExisting(): Promise<boolean> {
@@ -188,13 +206,12 @@ export async function promptLinkNew(): Promise<boolean> {
initial: true,
});
if (!linkNew) {
- console.log('Canceled.')
+ console.log('Canceled.');
process.exit(0);
- };
+ }
return true;
}
-
export async function promptNewProjectName(): Promise<string> {
const { newProjectName } = await prompts({
type: 'text',
@@ -204,9 +221,9 @@ export async function promptNewProjectName(): Promise<string> {
format: (val) => slug(val),
});
if (!newProjectName) {
- console.log('Canceled.')
+ console.log('Canceled.');
process.exit(0);
- };
+ }
return newProjectName;
}
@@ -216,14 +233,14 @@ export async function promptNewProjectRegion(): Promise<string> {
name: 'newProjectRegion',
message: `Where should your new database live?`,
choices: [
- {title: 'North America (East)', value: 'NorthAmericaEast'},
- {title: 'North America (West)', value: 'NorthAmericaWest'}
+ { title: 'North America (East)', value: 'NorthAmericaEast' },
+ { title: 'North America (West)', value: 'NorthAmericaWest' },
],
initial: 0,
});
if (!newProjectRegion) {
- console.log('Canceled.')
+ console.log('Canceled.');
process.exit(0);
- };
+ }
return newProjectRegion;
-} \ No newline at end of file
+}