diff --git a/apps/app/src/composables/api/useAdmin.ts b/apps/app/src/composables/api/useAdmin.ts index a187dde6..2fa98d23 100644 --- a/apps/app/src/composables/api/useAdmin.ts +++ b/apps/app/src/composables/api/useAdmin.ts @@ -7,6 +7,7 @@ import type { AdminOrganisationDetail, AdminOrganisationMember, AdminUser, + CreateOrganisationPayload, ImpersonationResponse, InviteMemberPayload, PlatformStats, @@ -77,6 +78,23 @@ export function useUpdateAdminOrganisation() { }) } +export function useCreateOrganisation() { + const queryClient = useQueryClient() + + return useMutation({ + mutationFn: async (payload: CreateOrganisationPayload) => { + const { data } = await apiClient.post>( + '/organisations', + payload, + ) + return data.data + }, + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['admin', 'organisations'] }) + }, + }) +} + export function useDeleteAdminOrganisation() { const queryClient = useQueryClient() diff --git a/apps/app/src/pages/platform/organisations/index.vue b/apps/app/src/pages/platform/organisations/index.vue index 2f54df23..d5f2436e 100644 --- a/apps/app/src/pages/platform/organisations/index.vue +++ b/apps/app/src/pages/platform/organisations/index.vue @@ -1,6 +1,6 @@ + + + + + + + {{ createError }} + + + + + + + + + + + + + + Annuleren + + + Aanmaken + + + + diff --git a/apps/app/src/types/admin.ts b/apps/app/src/types/admin.ts index daa5b5cc..67a2136f 100644 --- a/apps/app/src/types/admin.ts +++ b/apps/app/src/types/admin.ts @@ -96,6 +96,12 @@ export interface UpdateMemberRolePayload { role: string } +export interface CreateOrganisationPayload { + name: string + slug: string + billing_status?: BillingStatus +} + export interface UpdateAdminOrganisationPayload { name?: string slug?: string