type fixes
This commit is contained in:
parent
1528ea5257
commit
30e1c39d6c
@ -92,7 +92,7 @@ export default {
|
||||
return new Response("You reached the maximum # of sandboxes.", { status: 400 });
|
||||
}
|
||||
|
||||
const sb = await db.insert(sandbox).values({ type, name, userId, visibility }).returning().get();
|
||||
const sb = await db.insert(sandbox).values({ type, name, userId, visibility, createdAt: new Date() }).returning().get();
|
||||
|
||||
const initStorageRequest = new Request("https://storage.ishaan1013.workers.dev/api/init", {
|
||||
method: "POST",
|
||||
|
@ -343,6 +343,7 @@ io.on("connection", async (socket) => {
|
||||
const onExit = pty.onExit((code) => console.log("exit :(", code));
|
||||
|
||||
pty.write("clear\r");
|
||||
pty.write("export PS1='> '\r");
|
||||
|
||||
terminals[id] = {
|
||||
terminal: pty,
|
||||
@ -457,7 +458,8 @@ io.on("connection", async (socket) => {
|
||||
io.fetchSockets().then(async (sockets) => {
|
||||
if (sockets.length === 0) {
|
||||
console.log("Closing server due to inactivity.");
|
||||
// const res = await stopServer(data.sandboxId, data.userId);
|
||||
const res = await stopServer(data.sandboxId);
|
||||
console.log("Server stopped", res);
|
||||
}
|
||||
});
|
||||
}, 20000);
|
||||
|
@ -1,68 +1,70 @@
|
||||
// DB Types
|
||||
|
||||
export type User = {
|
||||
id: string
|
||||
name: string
|
||||
email: string
|
||||
generations: number
|
||||
sandbox: Sandbox[]
|
||||
usersToSandboxes: UsersToSandboxes[]
|
||||
}
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
generations: number;
|
||||
sandbox: Sandbox[];
|
||||
usersToSandboxes: UsersToSandboxes[];
|
||||
};
|
||||
|
||||
export type Sandbox = {
|
||||
id: string
|
||||
name: string
|
||||
type: "react" | "node"
|
||||
visibility: "public" | "private"
|
||||
userId: string
|
||||
usersToSandboxes: UsersToSandboxes[]
|
||||
}
|
||||
id: string;
|
||||
name: string;
|
||||
type: "react" | "node";
|
||||
visibility: "public" | "private";
|
||||
createdAt: Date;
|
||||
userId: string;
|
||||
usersToSandboxes: UsersToSandboxes[];
|
||||
};
|
||||
|
||||
export type UsersToSandboxes = {
|
||||
userId: string
|
||||
sandboxId: string
|
||||
}
|
||||
userId: string;
|
||||
sandboxId: string;
|
||||
sharedOn: Date;
|
||||
};
|
||||
|
||||
export type TFolder = {
|
||||
id: string
|
||||
type: "folder"
|
||||
name: string
|
||||
children: (TFile | TFolder)[]
|
||||
}
|
||||
id: string;
|
||||
type: "folder";
|
||||
name: string;
|
||||
children: (TFile | TFolder)[];
|
||||
};
|
||||
|
||||
export type TFile = {
|
||||
id: string
|
||||
type: "file"
|
||||
name: string
|
||||
}
|
||||
id: string;
|
||||
type: "file";
|
||||
name: string;
|
||||
};
|
||||
|
||||
export type TFileData = {
|
||||
id: string
|
||||
data: string
|
||||
}
|
||||
id: string;
|
||||
data: string;
|
||||
};
|
||||
|
||||
export type R2Files = {
|
||||
objects: R2FileData[]
|
||||
truncated: boolean
|
||||
delimitedPrefixes: any[]
|
||||
}
|
||||
objects: R2FileData[];
|
||||
truncated: boolean;
|
||||
delimitedPrefixes: any[];
|
||||
};
|
||||
|
||||
export type R2FileData = {
|
||||
storageClass: string
|
||||
uploaded: string
|
||||
checksums: any
|
||||
httpEtag: string
|
||||
etag: string
|
||||
size: number
|
||||
version: string
|
||||
key: string
|
||||
}
|
||||
storageClass: string;
|
||||
uploaded: string;
|
||||
checksums: any;
|
||||
httpEtag: string;
|
||||
etag: string;
|
||||
size: number;
|
||||
version: string;
|
||||
key: string;
|
||||
};
|
||||
|
||||
export type R2FileBody = R2FileData & {
|
||||
body: ReadableStream
|
||||
bodyUsed: boolean
|
||||
arrayBuffer: Promise<ArrayBuffer>
|
||||
text: Promise<string>
|
||||
json: Promise<any>
|
||||
blob: Promise<Blob>
|
||||
}
|
||||
body: ReadableStream;
|
||||
bodyUsed: boolean;
|
||||
arrayBuffer: Promise<ArrayBuffer>;
|
||||
text: Promise<string>;
|
||||
json: Promise<any>;
|
||||
blob: Promise<Blob>;
|
||||
};
|
||||
|
@ -179,14 +179,14 @@ export const getProjectSize = async (id: string) => {
|
||||
|
||||
export const stopServer = async (service: string) => {
|
||||
const command = new DeleteServiceCommand({
|
||||
cluster: "Sandbox",
|
||||
cluster: process.env.AWS_ECS_CLUSTER!,
|
||||
service,
|
||||
force: true,
|
||||
});
|
||||
|
||||
try {
|
||||
const response = await client.send(command);
|
||||
console.log("Stopped server:", response);
|
||||
return response;
|
||||
} catch (error) {
|
||||
console.error("Error stopping server:", error);
|
||||
}
|
||||
|
@ -78,15 +78,15 @@
|
||||
.gradient-button-bg {
|
||||
background: radial-gradient(
|
||||
circle at top,
|
||||
#a5b4fc 0%,
|
||||
#3730a3 50%
|
||||
#d4d4d4 0%,
|
||||
#262626 50%
|
||||
); /* violet 300 -> 800 */
|
||||
}
|
||||
|
||||
.gradient-button {
|
||||
background: radial-gradient(
|
||||
circle at bottom,
|
||||
#312e81 -10%,
|
||||
#262626 -10%,
|
||||
hsl(0 0% 3.9%) 50%
|
||||
); /* violet 900 -> bg */
|
||||
}
|
||||
@ -94,7 +94,7 @@
|
||||
.gradient-button-bg > div:hover {
|
||||
background: radial-gradient(
|
||||
circle at bottom,
|
||||
#312e81 -10%,
|
||||
#262626 -10%,
|
||||
hsl(0 0% 3.9%) 80%
|
||||
); /* violet 900 -> bg */
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ export default function ProjectCard({
|
||||
onMouseLeave={() => setHovered(false)}
|
||||
className={`group/canvas-card p-4 h-48 flex flex-col justify-between items-start hover:border-muted-foreground/50 relative overflow-hidden transition-all`}
|
||||
>
|
||||
<AnimatePresence>
|
||||
{/* <AnimatePresence>
|
||||
{hovered && (
|
||||
<motion.div
|
||||
initial={{ opacity: 0 }}
|
||||
@ -43,7 +43,7 @@ export default function ProjectCard({
|
||||
{children}
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</AnimatePresence> */}
|
||||
|
||||
<div className="space-x-2 flex items-center justify-start w-full z-10">
|
||||
<Image
|
||||
|
@ -1,63 +1,65 @@
|
||||
// DB Types
|
||||
|
||||
export type User = {
|
||||
id: string
|
||||
name: string
|
||||
email: string
|
||||
generations: number
|
||||
sandbox: Sandbox[]
|
||||
usersToSandboxes: UsersToSandboxes[]
|
||||
}
|
||||
id: string;
|
||||
name: string;
|
||||
email: string;
|
||||
generations: number;
|
||||
sandbox: Sandbox[];
|
||||
usersToSandboxes: UsersToSandboxes[];
|
||||
};
|
||||
|
||||
export type Sandbox = {
|
||||
id: string
|
||||
name: string
|
||||
type: "react" | "node"
|
||||
visibility: "public" | "private"
|
||||
userId: string
|
||||
usersToSandboxes: UsersToSandboxes[]
|
||||
}
|
||||
id: string;
|
||||
name: string;
|
||||
type: "react" | "node";
|
||||
visibility: "public" | "private";
|
||||
createdAt: Date;
|
||||
userId: string;
|
||||
usersToSandboxes: UsersToSandboxes[];
|
||||
};
|
||||
|
||||
export type UsersToSandboxes = {
|
||||
userId: string
|
||||
sandboxId: string
|
||||
}
|
||||
userId: string;
|
||||
sandboxId: string;
|
||||
sharedOn: Date;
|
||||
};
|
||||
|
||||
export type R2Files = {
|
||||
objects: R2FileData[]
|
||||
truncated: boolean
|
||||
delimitedPrefixes: any[]
|
||||
}
|
||||
objects: R2FileData[];
|
||||
truncated: boolean;
|
||||
delimitedPrefixes: any[];
|
||||
};
|
||||
|
||||
export type R2FileData = {
|
||||
storageClass: string
|
||||
uploaded: string
|
||||
checksums: any
|
||||
httpEtag: string
|
||||
etag: string
|
||||
size: number
|
||||
version: string
|
||||
key: string
|
||||
}
|
||||
storageClass: string;
|
||||
uploaded: string;
|
||||
checksums: any;
|
||||
httpEtag: string;
|
||||
etag: string;
|
||||
size: number;
|
||||
version: string;
|
||||
key: string;
|
||||
};
|
||||
|
||||
export type TFolder = {
|
||||
id: string
|
||||
type: "folder"
|
||||
name: string
|
||||
children: (TFile | TFolder)[]
|
||||
}
|
||||
id: string;
|
||||
type: "folder";
|
||||
name: string;
|
||||
children: (TFile | TFolder)[];
|
||||
};
|
||||
|
||||
export type TFile = {
|
||||
id: string
|
||||
type: "file"
|
||||
name: string
|
||||
}
|
||||
id: string;
|
||||
type: "file";
|
||||
name: string;
|
||||
};
|
||||
|
||||
export type TTab = TFile & {
|
||||
saved: boolean
|
||||
}
|
||||
saved: boolean;
|
||||
};
|
||||
|
||||
export type TFileData = {
|
||||
id: string
|
||||
data: string
|
||||
}
|
||||
id: string;
|
||||
data: string;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user