Skip to content

Commit 2f608ec

Browse files
committed
fix org flow
1 parent 883fd7e commit 2f608ec

File tree

5 files changed

+24
-17
lines changed

5 files changed

+24
-17
lines changed

src/app/(dynamic-pages)/(authenticated-pages)/(application-pages)/org/[organizationId]/(specific-organization-pages)/@navbar/[...catchAll]/page.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ export default async function OrganizationProjectsNavbar({
4444
}: {
4545
params: unknown;
4646
}) {
47+
48+
console.log("in catchall", params)
4749
const { organizationId } = organizationParamSchema.parse(params);
4850

4951
return (

src/app/(dynamic-pages)/(authenticated-pages)/onboarding/OnboardingFlow.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,10 @@ function getAllFlowStates(onboardingStatus: AuthUserMetadata): FLOW_STATE[] {
113113
if (isUserCreatedThroughOrgInvitation) {
114114
flowStates.push("JOIN_INVITED_ORG");
115115
} else {
116-
flowStates.push("ORGANIZATION");
116+
if (process.env.NEXT_PUBLIC_SKIP_ORG_CREATION !== "true") {
117+
flowStates.push("ORGANIZATION");
118+
}
119+
117120
}
118121
}
119122

src/app/(dynamic-pages)/(authenticated-pages)/onboarding/OrganizationCreation.tsx

+2-11
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { CreateOrganizationSchema, createOrganizationSchema } from "@/utils/zod-
99
import { zodResolver } from "@hookform/resolvers/zod";
1010
import { useMutation } from "@tanstack/react-query";
1111
import Cookies from 'js-cookie';
12-
import { useEffect } from "react";
1312
import { useForm } from "react-hook-form";
1413

1514
type OrganizationCreationProps = {
@@ -22,19 +21,11 @@ export function OrganizationCreation({ onSuccess }: OrganizationCreationProps) {
2221
resolver: zodResolver(createOrganizationSchema),
2322
});
2423

25-
useEffect(() => {
26-
if (process.env.NEXT_PUBLIC_SKIP_ORG_CREATION === "true") {
27-
createOrgMutation.mutate({ "organizationTitle": "digger", organizationSlug: "digger" });
28-
}
29-
}, [onSuccess])
3024

3125
const createOrgMutation = useMutation({
3226
mutationFn: async ({ organizationTitle, organizationSlug }: CreateOrganizationSchema) => {
33-
if (process.env.NEXT_PUBLIC_SKIP_ORG_CREATION === "true") {
34-
return createOrganization(organizationTitle, organizationSlug, { isOnboardingFlow: true, ignoreIfOrgExists: true })
35-
} else {
36-
return createOrganization(organizationTitle, organizationSlug, { isOnboardingFlow: true })
37-
}
27+
return createOrganization(organizationTitle, organizationSlug, { isOnboardingFlow: true })
28+
3829
},
3930
onSuccess: (data) => {
4031
const { data: orgId } = data as { data: string }

src/app/(dynamic-pages)/(authenticated-pages)/onboarding/ProfileUpdate.tsx

+8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Input } from "@/components/ui/input";
44
import { Label } from "@/components/ui/label";
55
import { T } from "@/components/ui/Typography";
66
import { useToast } from "@/components/ui/use-toast";
7+
import { createOrganization } from "@/data/user/organizations";
78
import { updateUserProfileNameAndAvatar, uploadPublicUserAvatar } from "@/data/user/user";
89
import { generateSlug } from "@/lib/utils";
910
import { getUserAvatarUrl } from "@/utils/helpers";
@@ -38,6 +39,13 @@ export function ProfileUpdate({
3839
mutationFn: () => updateUserProfileNameAndAvatar({ fullName, userName, avatarUrl }, { isOnboardingFlow: true }),
3940
onSuccess: () => {
4041
toast({ title: "Profile updated!", description: "Your profile has been successfully updated." });
42+
43+
// TODO: move this to server side component /src/app/(dynamic-pages)/(authenticated-pages)/onboarding/page.tsx
44+
if (process.env.NEXT_PUBLIC_SKIP_ORG_CREATION === "true") {
45+
console.log("creating default organisation for user")
46+
createOrganization("digger", "digger", { isOnboardingFlow: true, ignoreIfOrgExists: true })
47+
}
48+
4149
onSuccess();
4250
},
4351
onError: () => {

src/data/user/organizations.ts

+8-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { v4 as uuidv4 } from 'uuid';
1616
import { refreshSessionAction } from './session';
1717
import { updateUserProfileMetadata } from './user';
1818

19-
2019
export const getOrganizationIdBySlug = async (slug: string) => {
2120
const supabaseClient = createSupabaseUserServerComponentClient();
2221

@@ -91,11 +90,10 @@ export const createOrganization = async (
9190
// if set we simply get the org if it already exists
9291
if (ignoreIfOrgExists) {
9392
try {
94-
organizationId = await getOrganizationIdBySlug(slug)
95-
} catch(fetchError) {
93+
organizationId = await getOrganizationIdBySlug(slug);
94+
} catch (fetchError) {
9695
return { status: 'error', message: fetchError.message };
9796
}
98-
9997
} else {
10098
return { status: 'error', message: insertError.message };
10199
}
@@ -155,7 +153,6 @@ export const createOrganization = async (
155153
}
156154
};
157155

158-
159156
export async function fetchSlimOrganizations() {
160157
const currentUser = await serverGetLoggedInUser();
161158
const supabaseClient = createSupabaseUserServerComponentClient();
@@ -282,6 +279,12 @@ export const getLoggedInUserOrganizationRole = async (
282279
.single();
283280

284281
if (error) {
282+
console.log(
283+
'error in getloggedinUserOrganizationRole:',
284+
userId,
285+
organizationId,
286+
error,
287+
);
285288
throw error;
286289
} else if (!data) {
287290
throw new Error('User is not a member of this organization');

0 commit comments

Comments
 (0)