auth/actor_search_actions.ts view source
ActorSearchActionDeps import type {ActorSearchActionDeps} from '@fuzdev/fuz_app/auth/actor_search_actions.js'; Dependencies for create_actor_search_actions.
log
type Logger
actor_search RPC handler.
Pure read — no audit, no side effects. Auth (account: 'required',
actor: 'none') + rate-limit (account-grain) enforced at the spec
layer; see auth/actor_search_action_specs.ts for the info-leak audit
and threat model.
The handler adds two checks the spec layer can't express:
scope_ids — unbounded global search is
admin-only. Non-admin callers without a scope_ids filter are
rejected with invalid_params carrying actor_search_scope_required.
The admin check is account-grain (any actor on the caller's account
holds a global admin role_grant) since the actor: 'none' posture
doesn't load auth.role_grants for an in-memory check.display_name is omitted (not null) when actor.name is blank,
matching the wire shape ActorLookupEntryJson.display_name? — same
convention as auth/actor_lookup_actions.ts.
2 declarations
auth/actor_search_actions.ts view source
ActorSearchActionDeps import type {ActorSearchActionDeps} from '@fuzdev/fuz_app/auth/actor_search_actions.js'; Dependencies for create_actor_search_actions.
logtype Logger
auth/actor_search_actions.ts view source
(_deps: ActorSearchActionDeps): RpcAction[] import {create_actor_search_actions} from '@fuzdev/fuz_app/auth/actor_search_actions.js'; _depsRpcAction[]