Guard / foldkit-guard

Attach

type · packages/guard/src/attach.ts:105

type Attach<User, Set extends string, E extends AnyEntity> = {
  readonly row?: {
    readonly Read?: ReadonlyArray<
      RuleFor<User, Set, E['name']> | Inherit<OneRelations<E>>
    >
    readonly Create?: WriteSlot<RuleFor<User, Set, E['name']>>
    readonly Update?: WriteSlot<RuleFor<User, Set, E['name']>>
    readonly Delete?: WriteSlot<RuleFor<User, Set, E['name']>>
    readonly Write?: WriteSlot<RuleFor<User, Set, E['name']>>
  }
  readonly interactions?: {
    readonly [K: InteractionKey]: WriteSlot<RuleFor<User, Set, E['name']>>
  }
  readonly members?: {
    readonly [K in MemberKeys<E>]?: {
      readonly Read?: Slot<RuleFor<User, Set, E['name']>, Redact<TypeOf<E, K>>>
      readonly Create?: WriteSlot<RuleFor<User, Set, E['name']>>
      readonly Update?: WriteSlot<RuleFor<User, Set, E['name']>>
    }
  }
  readonly relations?: {
    readonly [K in keyof E['relations']]?: {
      readonly Read?: ReadonlyArray<RuleFor<User, Set, E['name']>>
      readonly Link?: WriteSlot<RuleFor<User, Set, E['name']>>
      readonly Unlink?: WriteSlot<RuleFor<User, Set, E['name']>>
    }
  }
  readonly always?: ReadonlyArray<RuleFor<User, Set, E['name']>>
}

What Guards.attach takes for the Entity E, every key checked against it.