feat: update workflow page ux

This commit is contained in:
BennyKok
2024-01-19 18:12:07 +08:00
parent ffb117d85d
commit c7772ca91e
4 changed files with 103 additions and 92 deletions
+10 -33
View File
@@ -1,16 +1,17 @@
import { setInitialUserData } from "../../../lib/setInitialUserData";
import { getAllUserWorkflow } from "../../../server/getAllUserWorkflow";
import { WorkflowList } from "@/components/WorkflowList";
import { db } from "@/db/db";
import { usersTable, workflowTable, workflowVersionTable } from "@/db/schema";
import { usersTable } from "@/db/schema";
import { auth } from "@clerk/nextjs";
import { and, desc, eq, isNull } from "drizzle-orm";
import { eq } from "drizzle-orm";
export default function Home() {
return <WorkflowServer />;
}
async function WorkflowServer() {
const { userId, orgId } = await auth();
const { userId } = await auth();
if (!userId) {
return <div>No auth</div>;
@@ -24,35 +25,11 @@ async function WorkflowServer() {
await setInitialUserData(userId);
}
const workflow = await db.query.workflowTable.findMany({
// extras: {
// count: sql<number>`(select count(*) from ${workflowVersionTable})`.as(
// "count",
// ),
// },
with: {
versions: {
limit: 1,
orderBy: desc(workflowVersionTable.version),
},
},
orderBy: desc(workflowTable.updated_at),
where:
orgId != undefined
? eq(workflowTable.org_id, orgId)
: and(eq(workflowTable.user_id, userId), isNull(workflowTable.org_id)),
});
const workflow = await getAllUserWorkflow();
return (
<WorkflowList
data={workflow.map((x) => {
return {
id: x.id,
email: x.name,
amount: x.versions[0]?.version ?? 0,
date: x.updated_at,
};
})}
/>
);
if (!workflow) {
return <div>No workflow found</div>;
}
return <WorkflowList data={workflow} />;
}