npm.io
0.1.0 • Published 3d ago

@classytic/arc-party

Licence
MIT
Version
0.1.0
Deps
0
Size
12 kB
Vulns
0
Weekly
0

@classytic/arc-party

Arc module for @classytic/party — the Business-Partner identity spine as ONE composable Arc resource.

BYO engine: the host creates the @classytic/party engine and passes it in. The engine is exported at fastify.arc.modules.party so facet domains (finance, CRM, loyalty, payout) resolve identity container-free.

import { createParty } from '@classytic/party';
import { createPartyModule } from '@classytic/arc-party';
import { createApp } from '@classytic/arc/factory';

const party = await createParty({ connection, multiTenant: false });

const app = await createApp({
  modules: [
    createPartyModule({
      engine: party,
      permissions: { view: requireAuth(), manage: requireRoles('admin') },
      tenantField: false, // company-wide identity
    }),
  ],
});

Surface

Route Verb Purpose
GET /parties, GET /parties/:id adapter reads + QueryParser filters (kind, roles, status, identityKeys, externalRefs)
POST /parties/resolve resolveOrCreate race-safe identity dedup
POST /parties/:id/action add-role / remove-role / link-user / attach-external-ref / merge / archive / restore identity-safe domain verbs

Direct adapter create / update / delete are disabled — every write routes through a kernel verb so the dedup, merge-redirect, and lifecycle guarantees can't be bypassed. The actor is always the authenticated user, never the body.

License

MIT

Keywords