feat(db): mesh data model — meshes, members, invites, audit log
- pgSchema "mesh" with 4 tables isolating the peer mesh domain - Enums: visibility, transport, tier, role - audit_log is metadata-only (E2E encryption enforced at broker/client) - Cascade on mesh delete, soft-delete via archivedAt/revokedAt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
39
packages/auth/src/client/mobile.ts
Normal file
39
packages/auth/src/client/mobile.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { expoClient } from "@better-auth/expo/client";
|
||||
import { lastLoginMethodClient } from "@better-auth/expo/plugins";
|
||||
import {
|
||||
magicLinkClient,
|
||||
twoFactorClient,
|
||||
anonymousClient,
|
||||
adminClient,
|
||||
organizationClient,
|
||||
inferAdditionalFields,
|
||||
} from "better-auth/client/plugins";
|
||||
import { createAuthClient } from "better-auth/react";
|
||||
|
||||
import type { AuthMobileClientOptions } from "..";
|
||||
import type { auth } from "../server";
|
||||
import type { AuthClientOptions } from "../types";
|
||||
import type { LastLoginMethodClientConfig } from "@better-auth/expo/plugins";
|
||||
|
||||
export const createClient = ({
|
||||
mobile,
|
||||
lastLoginMethod,
|
||||
...options
|
||||
}: AuthClientOptions & {
|
||||
mobile: AuthMobileClientOptions;
|
||||
lastLoginMethod: LastLoginMethodClientConfig;
|
||||
}) =>
|
||||
createAuthClient({
|
||||
...options,
|
||||
plugins: [
|
||||
...(options.plugins ?? []),
|
||||
anonymousClient(),
|
||||
magicLinkClient(),
|
||||
twoFactorClient(),
|
||||
adminClient(),
|
||||
organizationClient(),
|
||||
lastLoginMethodClient(lastLoginMethod),
|
||||
inferAdditionalFields<typeof auth>(),
|
||||
expoClient(mobile),
|
||||
],
|
||||
});
|
||||
30
packages/auth/src/client/web.ts
Normal file
30
packages/auth/src/client/web.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { passkeyClient } from "@better-auth/passkey/client";
|
||||
import {
|
||||
magicLinkClient,
|
||||
twoFactorClient,
|
||||
anonymousClient,
|
||||
adminClient,
|
||||
organizationClient,
|
||||
inferAdditionalFields,
|
||||
lastLoginMethodClient,
|
||||
} from "better-auth/client/plugins";
|
||||
import { createAuthClient } from "better-auth/react";
|
||||
|
||||
import type { auth } from "../server";
|
||||
import type { AuthClientOptions } from "../types";
|
||||
|
||||
export const createClient = (options?: AuthClientOptions) =>
|
||||
createAuthClient({
|
||||
...options,
|
||||
plugins: [
|
||||
...(options?.plugins ?? []),
|
||||
passkeyClient(),
|
||||
anonymousClient(),
|
||||
magicLinkClient(),
|
||||
twoFactorClient(),
|
||||
adminClient(),
|
||||
organizationClient(),
|
||||
lastLoginMethodClient(),
|
||||
inferAdditionalFields<typeof auth>(),
|
||||
],
|
||||
});
|
||||
Reference in New Issue
Block a user