Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/unkeyed/unkey into eng-1292…
Browse files Browse the repository at this point in the history
…-blog-json-syntax-highlighting-doesnt-work
  • Loading branch information
MichaelUnkey committed Aug 13, 2024
2 parents da47bd3 + fd99656 commit faf3d9c
Show file tree
Hide file tree
Showing 16 changed files with 426 additions and 35 deletions.
22 changes: 12 additions & 10 deletions .github/workflows/lint.yaml → .github/workflows/autofix.ci.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
name: Lint
name: autofix.ci
on:
workflow_call:
pull_request:
push:
branches: ["main"]
permissions:
contents: read

jobs:
lint_code:
name: Code
autofix:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16

- name: Install
uses: ./.github/actions/install
with:
ts: true
go: true

- run: pnpm biome ci .

- name: Go vet
run: go vet ./...
working-directory: apps/agent
- run: pnpm biome format . --write && pnpm biome check . --apply

- uses: autofix-ci/action@dd55f44df8f7cdb7a6bf74c78677eb8acd40cd0a
lint_docs:
name: Docs
runs-on: ubuntu-latest
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,7 @@ on:
branches: [main]
workflow_dispatch:


jobs:
lint:
name: Lint
uses: ./.github/workflows/lint.yaml

test_packages:
name: Test Packages
uses: ./.github/workflows/unit_test.yaml
Expand All @@ -24,6 +19,3 @@ jobs:
test_api:
name: Test API
uses: ./.github/workflows/job_test_api_local.yaml



This file was deleted.

4 changes: 0 additions & 4 deletions apps/dashboard/app/(app)/@breadcrumb/authorization/page.tsx

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

import { BreadcrumbSkeleton } from "@/components/dashboard/breadcrumb-skeleton";
import { getTenantId } from "@/lib/auth";
import { db } from "@/lib/db";
import { unstable_cache as cache } from "next/cache";
import { Suspense } from "react";
export const dynamic = "force-dynamic";
export const runtime = "edge";

type PageProps = {
params: { permissionId: string };
};

async function AsyncPageBreadcrumb(props: PageProps) {
const getPermissionById = cache(async (permissionId: string) =>
db.query.permissions.findFirst({
where: (table, { eq }) => eq(table.id, permissionId),
}),
);

const permissions = await getPermissionById(props.params.permissionId);
if (!permissions) {
return null;
}

return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/authorization">Authorization</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/authorization/permissions">Permissions</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>{permissions.name}</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}

export default function PageBreadcrumb(props: PageProps) {
return (
<Suspense fallback={<BreadcrumbSkeleton levels={2} />}>
<AsyncPageBreadcrumb {...props} />
</Suspense>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

export default function PageBreadcrumb() {
return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbPage>Authorization</BreadcrumbPage>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Permissions</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

import { BreadcrumbSkeleton } from "@/components/dashboard/breadcrumb-skeleton";
import { getTenantId } from "@/lib/auth";
import { db } from "@/lib/db";
import { unstable_cache as cache } from "next/cache";
import { Suspense } from "react";
export const dynamic = "force-dynamic";
export const runtime = "edge";

type PageProps = {
params: { roleId: string };
};

async function AsyncPageBreadcrumb(props: PageProps) {
const getWorkspaceByRoleId = cache(
async (roleId: string) =>
await db.query.roles.findFirst({
where: (table, { eq }) => eq(table.id, roleId),
}),
);

const role = await getWorkspaceByRoleId(props.params.roleId);
if (!role) {
return null;
}

return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/authorization">Authorization</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href="/authorization/roles">Roles</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>{role.name}</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}

export default function PageBreadcrumb(props: PageProps) {
return (
<Suspense fallback={<BreadcrumbSkeleton levels={2} />}>
<AsyncPageBreadcrumb {...props} />
</Suspense>
);
}
24 changes: 24 additions & 0 deletions apps/dashboard/app/(app)/@breadcrumb/authorization/roles/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

export default function PageBreadcrumb() {
return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbPage>Authorization</BreadcrumbPage>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Roles</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

import { BreadcrumbSkeleton } from "@/components/dashboard/breadcrumb-skeleton";
import { db } from "@/lib/db";
import { unstable_cache as cache } from "next/cache";
import { Suspense } from "react";

export const dynamic = "force-dynamic";
export const runtime = "edge";

type PageProps = {
params: { namespaceId: string };
};

async function AsyncPageBreadcrumb(props: PageProps) {
const getNamespaceById = cache(async (namespaceId: string) =>
db.query.ratelimitNamespaces.findFirst({
where: (table, { eq, and, isNull }) =>
and(eq(table.id, namespaceId), isNull(table.deletedAt)),
}),
);

const namespace = await getNamespaceById(props.params.namespaceId);
if (!namespace) {
return null;
}

return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/ratelimits">Ratelimits</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href={`/ratelimits/${props.params.namespaceId}`}>
{namespace.name}
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Logs</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}

export default function PageBreadcrumb(props: PageProps) {
return (
<Suspense fallback={<BreadcrumbSkeleton levels={3} />}>
<AsyncPageBreadcrumb {...props} />
</Suspense>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import {
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";

import { BreadcrumbSkeleton } from "@/components/dashboard/breadcrumb-skeleton";
import { db } from "@/lib/db";
import { unstable_cache as cache } from "next/cache";
import { Suspense } from "react";

export const dynamic = "force-dynamic";
export const runtime = "edge";

type PageProps = {
params: { namespaceId: string };
};

async function AsyncPageBreadcrumb(props: PageProps) {
const getNamespaceById = cache(async (namespaceId: string) =>
db.query.ratelimitNamespaces.findFirst({
where: (table, { eq, and, isNull }) =>
and(eq(table.id, namespaceId), isNull(table.deletedAt)),
}),
);

const namespace = await getNamespaceById(props.params.namespaceId);
if (!namespace) {
return null;
}

return (
<Breadcrumb>
<BreadcrumbList>
<BreadcrumbItem>
<BreadcrumbLink href="/ratelimits">Ratelimits</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbLink href={`/ratelimits/${props.params.namespaceId}`}>
{namespace.name}
</BreadcrumbLink>
</BreadcrumbItem>
<BreadcrumbSeparator />
<BreadcrumbItem>
<BreadcrumbPage>Overrides</BreadcrumbPage>
</BreadcrumbItem>
</BreadcrumbList>
</Breadcrumb>
);
}

export default function PageBreadcrumb(props: PageProps) {
return (
<Suspense fallback={<BreadcrumbSkeleton levels={3} />}>
<AsyncPageBreadcrumb {...props} />
</Suspense>
);
}
Loading

0 comments on commit faf3d9c

Please sign in to comment.