| 255 | // inviteCode }`); Better Auth reads the body loosely, so a non-schema field |
| 256 | // survives to the create hook's endpoint context. |
| 257 | const inviteCodeFrom = (context: { body?: unknown }): string | undefined => { |
| 258 | const body = context.body; |
| 259 | if (body && typeof body === "object" && "inviteCode" in body) { |
| 260 | const code = (body as { inviteCode?: unknown }).inviteCode; |
| 261 | if (typeof code === "string" && code.trim().length > 0) return code; |
| 262 | } |
| 263 | return undefined; |
| 264 | }; |
| 265 | |
| 266 | // Count org members via Better Auth's OWN adapter. Now that auth shares |
| 267 | // SelfHostDb's libSQL client (one connection), this no longer guards against a |