From 10767e379caa331a64f1123e8ea071109e88676c Mon Sep 17 00:00:00 2001 From: makearmy Date: Fri, 3 Oct 2025 11:04:08 -0400 Subject: [PATCH] prod's registration fixes --- lib/directus.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/directus.ts b/lib/directus.ts index 14e915ab..27d73eec 100644 --- a/lib/directus.ts +++ b/lib/directus.ts @@ -166,6 +166,7 @@ export async function createSettingsItem( payload: any, bearer: string ): Promise<{ data: { id: string } }> { + // Note: callers are already using { data: ... } patterns when needed. return dxPOST<{ data: { id: string } }>(`/items/${collection}`, bearer, payload); } @@ -211,7 +212,8 @@ export async function createDirectusUser(input: { ? input.email.trim() : `${input.username}@noemail.local`; - const res = await directusAdminFetch<{ data: { id: string } }>(`/users`, { + // System endpoint `/users` expects raw fields (no { data } wrapper). + const res = await directusAdminFetch<{ data?: { id?: string } }>(`/users`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ @@ -223,7 +225,9 @@ export async function createDirectusUser(input: { }), }); - return { id: String(res?.data?.id) }; + const id = res?.data?.id as string | undefined; + if (!id) throw new Error("User create succeeded but no id returned"); + return { id: String(id) }; } export async function emailForUsername(username: string): Promise {