Skip to content

Commit cf7f85b

Browse files
wip: move permissions check to Prisma extension
1 parent 0a3a63c commit cf7f85b

File tree

14 files changed

+672
-712
lines changed

14 files changed

+672
-712
lines changed

packages/backend/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ await repoManager.validateIndexedReposHaveShards();
7474

7575
const connectionManagerInterval = connectionManager.startScheduler();
7676
const repoManagerInterval = repoManager.startScheduler();
77-
const permissionSyncerInterval = env.EXPERIMENT_PERMISSION_SYNC_ENABLED ? permissionSyncer.startScheduler() : null;
77+
const permissionSyncerInterval = env.EXPERIMENT_PERMISSION_SYNC_ENABLED === 'true' ? permissionSyncer.startScheduler() : null;
7878

7979

8080
const cleanup = async (signal: string) => {

packages/backend/src/permissionSyncer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class RepoPermissionSyncer {
5959
}
6060

6161
// @todo: make this configurable
62-
}, 1000 * 5);
62+
}, 1000 * 60);
6363
}
6464

6565
public dispose() {

packages/web/src/actions.ts

Lines changed: 241 additions & 276 deletions
Large diffs are not rendered by default.

packages/web/src/app/[domain]/browse/[...path]/components/codePreviewPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const CodePreviewPanel = async ({ path, repoName, revisionName, domain }:
2020
repository: repoName,
2121
branch: revisionName,
2222
}, domain),
23-
getRepoInfoByName(repoName, domain),
23+
getRepoInfoByName(repoName),
2424
]);
2525

2626
if (isServiceError(fileSourceResponse) || isServiceError(repoInfoResponse)) {

packages/web/src/app/[domain]/browse/[...path]/components/treePreviewPanel.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,16 @@ interface TreePreviewPanelProps {
1010
path: string;
1111
repoName: string;
1212
revisionName?: string;
13-
domain: string;
1413
}
1514

16-
export const TreePreviewPanel = async ({ path, repoName, revisionName, domain }: TreePreviewPanelProps) => {
15+
export const TreePreviewPanel = async ({ path, repoName, revisionName }: TreePreviewPanelProps) => {
1716
const [repoInfoResponse, folderContentsResponse] = await Promise.all([
18-
getRepoInfoByName(repoName, domain),
17+
getRepoInfoByName(repoName),
1918
getFolderContents({
2019
repoName,
2120
revisionName: revisionName ?? 'HEAD',
2221
path,
23-
}, domain)
22+
})
2423
]);
2524

2625
if (isServiceError(folderContentsResponse) || isServiceError(repoInfoResponse)) {

packages/web/src/app/[domain]/browse/[...path]/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ export default async function BrowsePage(props: BrowsePageProps) {
4242
path={path}
4343
repoName={repoName}
4444
revisionName={revisionName}
45-
domain={domain}
4645
/>
4746
)}
4847
</Suspense>

packages/web/src/app/[domain]/browse/components/fileSearchCommandDialog.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { useHotkeys } from "react-hotkeys-hook";
66
import { useQuery } from "@tanstack/react-query";
77
import { unwrapServiceError } from "@/lib/utils";
88
import { FileTreeItem, getFiles } from "@/features/fileTree/actions";
9-
import { useDomain } from "@/hooks/useDomain";
109
import { Dialog, DialogContent, DialogDescription, DialogTitle } from "@/components/ui/dialog";
1110
import { useBrowseNavigation } from "../hooks/useBrowseNavigation";
1211
import { useBrowseState } from "../hooks/useBrowseState";
@@ -28,7 +27,6 @@ type SearchResult = {
2827

2928
export const FileSearchCommandDialog = () => {
3029
const { repoName, revisionName } = useBrowseParams();
31-
const domain = useDomain();
3230
const { state: { isFileSearchOpen }, updateBrowseState } = useBrowseState();
3331

3432
const commandListRef = useRef<HTMLDivElement>(null);
@@ -57,8 +55,8 @@ export const FileSearchCommandDialog = () => {
5755
}, [isFileSearchOpen]);
5856

5957
const { data: files, isLoading, isError } = useQuery({
60-
queryKey: ['files', repoName, revisionName, domain],
61-
queryFn: () => unwrapServiceError(getFiles({ repoName, revisionName: revisionName ?? 'HEAD' }, domain)),
58+
queryKey: ['files', repoName, revisionName],
59+
queryFn: () => unwrapServiceError(getFiles({ repoName, revisionName: revisionName ?? 'HEAD' })),
6260
enabled: isFileSearchOpen,
6361
});
6462

packages/web/src/app/[domain]/repos/components/addRepositoryDialog.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { zodResolver } from "@hookform/resolvers/zod";
88
import { useForm } from "react-hook-form";
99
import { z } from "zod";
1010
import { experimental_addGithubRepositoryByUrl } from "@/actions";
11-
import { useDomain } from "@/hooks/useDomain";
1211
import { isServiceError } from "@/lib/utils";
1312
import { useToast } from "@/components/hooks/use-toast";
1413
import { useRouter } from "next/navigation";
@@ -37,7 +36,6 @@ const formSchema = z.object({
3736
});
3837

3938
export const AddRepositoryDialog = ({ isOpen, onOpenChange }: AddRepositoryDialogProps) => {
40-
const domain = useDomain();
4139
const { toast } = useToast();
4240
const router = useRouter();
4341

@@ -52,7 +50,7 @@ export const AddRepositoryDialog = ({ isOpen, onOpenChange }: AddRepositoryDialo
5250

5351
const onSubmit = async (data: z.infer<typeof formSchema>) => {
5452

55-
const result = await experimental_addGithubRepositoryByUrl(data.repositoryUrl.trim(), domain);
53+
const result = await experimental_addGithubRepositoryByUrl(data.repositoryUrl.trim());
5654
if (isServiceError(result)) {
5755
toast({
5856
title: "Error adding repository",

packages/web/src/app/api/[domain]/repos/[repoId]/image/route.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ import { isServiceError } from "@/lib/utils";
33
import { NextRequest } from "next/server";
44

55
export async function GET(
6-
request: NextRequest,
6+
_request: NextRequest,
77
props: { params: Promise<{ domain: string; repoId: string }> }
88
) {
99
const params = await props.params;
10-
const { domain, repoId } = params;
10+
const { repoId } = params;
1111
const repoIdNum = parseInt(repoId);
1212

1313
if (isNaN(repoIdNum)) {
1414
return new Response("Invalid repo ID", { status: 400 });
1515
}
1616

17-
const result = await getRepoImage(repoIdNum, domain);
17+
const result = await getRepoImage(repoIdNum);
1818
if (isServiceError(result)) {
1919
return new Response(result.message, { status: result.statusCode });
2020
}

0 commit comments

Comments
 (0)