Feat: Improve create project, remove organization slug from frontend

This commit is contained in:
Daniel Hougaard
2024-03-19 13:38:58 +01:00
parent 0e31a9146a
commit ae97b74933
6 changed files with 30 additions and 47 deletions

View File

@@ -77,18 +77,11 @@ const secretsToBeAdded = [
* @param {String} obj.projectName - name of new project * @param {String} obj.projectName - name of new project
* @returns {Project} project - new project * @returns {Project} project - new project
*/ */
const initProjectHelper = async ({ const initProjectHelper = async ({ projectName }: { projectName: string }) => {
organizationSlug,
projectName
}: {
organizationSlug: string;
projectName: string;
}) => {
// create new project // create new project
const { const {
data: { project } data: { project }
} = await createWorkspace({ } = await createWorkspace({
organizationSlug,
projectName projectName
}); });

View File

@@ -199,19 +199,17 @@ export const useGetWorkspaceIntegrations = (workspaceId: string) =>
}); });
export const createWorkspace = ({ export const createWorkspace = ({
organizationSlug,
projectName projectName
}: CreateWorkspaceDTO): Promise<{ data: { project: Workspace } }> => { }: CreateWorkspaceDTO): Promise<{ data: { project: Workspace } }> => {
return apiRequest.post("/api/v2/workspace", { projectName, organizationSlug }); return apiRequest.post("/api/v2/workspace", { projectName });
}; };
export const useCreateWorkspace = () => { export const useCreateWorkspace = () => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
return useMutation<{ data: { project: Workspace } }, {}, CreateWorkspaceDTO>({ return useMutation<{ data: { project: Workspace } }, {}, CreateWorkspaceDTO>({
mutationFn: async ({ organizationSlug, projectName }) => mutationFn: async ({ projectName }) =>
createWorkspace({ createWorkspace({
organizationSlug,
projectName projectName
}), }),
onSuccess: () => { onSuccess: () => {
@@ -325,7 +323,13 @@ export const useDeleteUserFromWorkspace = () => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
return useMutation({ return useMutation({
mutationFn: async ({ usernames, workspaceId }: { workspaceId: string; usernames: string[] }) => { mutationFn: async ({
usernames,
workspaceId
}: {
workspaceId: string;
usernames: string[];
}) => {
const { const {
data: { deletedMembership } data: { deletedMembership }
} = await apiRequest.delete(`/api/v2/workspace/${workspaceId}/memberships`, { } = await apiRequest.delete(`/api/v2/workspace/${workspaceId}/memberships`, {
@@ -391,11 +395,7 @@ export const useAddIdentityToWorkspace = () => {
export const useUpdateIdentityWorkspaceRole = () => { export const useUpdateIdentityWorkspaceRole = () => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
return useMutation({ return useMutation({
mutationFn: async ({ mutationFn: async ({ identityId, workspaceId, roles }: TUpdateWorkspaceIdentityRoleDTO) => {
identityId,
workspaceId,
roles
}:TUpdateWorkspaceIdentityRoleDTO)=> {
const { const {
data: { identityMembership } data: { identityMembership }
} = await apiRequest.patch( } = await apiRequest.patch(

View File

@@ -45,7 +45,6 @@ export type TGetUpgradeProjectStatusDTO = {
// mutation dto // mutation dto
export type CreateWorkspaceDTO = { export type CreateWorkspaceDTO = {
projectName: string; projectName: string;
organizationSlug: string;
}; };
export type RenameWorkspaceDTO = { workspaceID: string; newWorkspaceName: string }; export type RenameWorkspaceDTO = { workspaceID: string; newWorkspaceName: string };
@@ -82,16 +81,16 @@ export type TUpdateWorkspaceUserRoleDTO = {
workspaceId: string; workspaceId: string;
roles: ( roles: (
| { | {
role: string; role: string;
isTemporary?: false; isTemporary?: false;
} }
| { | {
role: string; role: string;
isTemporary: true; isTemporary: true;
temporaryMode: ProjectUserMembershipTemporaryMode; temporaryMode: ProjectUserMembershipTemporaryMode;
temporaryRange: string; temporaryRange: string;
temporaryAccessStartTime: string; temporaryAccessStartTime: string;
} }
)[]; )[];
}; };
@@ -100,15 +99,15 @@ export type TUpdateWorkspaceIdentityRoleDTO = {
workspaceId: string; workspaceId: string;
roles: ( roles: (
| { | {
role: string; role: string;
isTemporary?: false; isTemporary?: false;
} }
| { | {
role: string; role: string;
isTemporary: true; isTemporary: true;
temporaryMode: ProjectUserMembershipTemporaryMode; temporaryMode: ProjectUserMembershipTemporaryMode;
temporaryRange: string; temporaryRange: string;
temporaryAccessStartTime: string; temporaryAccessStartTime: string;
} }
)[]; )[];
}; };

View File

@@ -236,7 +236,6 @@ export const AppLayout = ({ children }: LayoutProps) => {
project: { id: newProjectId } project: { id: newProjectId }
} }
} = await createWs.mutateAsync({ } = await createWs.mutateAsync({
organizationSlug: currentOrg.slug,
projectName: name projectName: name
}); });

View File

@@ -512,7 +512,6 @@ const OrganizationPage = withPermission(
project: { id: newProjectId } project: { id: newProjectId }
} }
} = await createWs.mutateAsync({ } = await createWs.mutateAsync({
organizationSlug: currentOrg.slug,
projectName: name projectName: name
}); });

View File

@@ -9,15 +9,8 @@ class ProjectService {
* @param {String} obj.projectName - name of new project * @param {String} obj.projectName - name of new project
* @returns {Project} project - new project * @returns {Project} project - new project
*/ */
static async initProject({ static async initProject({ projectName }: { projectName: string }) {
organizationSlug,
projectName
}: {
organizationSlug: string;
projectName: string;
}) {
return initProjectHelper({ return initProjectHelper({
organizationSlug,
projectName projectName
}); });
} }