type
MutationOptions
Authorization, optimistic concurrency, response population, create status, and locale controls for one write.
Properties
| Property | Type | Description |
|---|---|---|
ID | string | ID supplies a caller-owned document ID for create operations when Config.AllowIDOnCreate is enabled. Other mutations ignore it. |
Actor | *store.Document | Actor used by access rules. |
ActorCollection | schema.CollectionSlug | Exact auth collection owning Actor. |
System | bool | System runs the call as trusted server code: collection, field, draft and reference access rules are skipped. Validation, hooks, versions and reference integrity still apply, and Actor, when set, still reaches hooks. Only Go code can set it; REST and GraphQL never do. |
ExpectedRevision | int | Expected current revision for optimistic concurrency. |
Populate | []query.Population | Populate only the returned document inside the write transaction. |
OutputFields | []query.Path | Limit output-field resolution in the returned document. |
Draft | *bool | Select draft or published status for versioned creates. |
Locale | schema.LocaleCode | Selected content locale. |
FallbackLocales | []schema.LocaleCode | Optional replacement fallback chain. |
DisableFallback | bool | Disable locale fallbacks. |
AllLocales | bool | Request all localized values. |
How it works
The root package re-exports this type as ridu.MutationOptions. Updates preserve status so publish and unpublish hooks cannot be bypassed. Populate affects only the response, never validation or stored values.
Full signature
type MutationOptions struct {
// ID supplies a caller-owned document ID for create operations when
// Config.AllowIDOnCreate is enabled. Other mutations ignore it.
ID string
Actor *store.Document
ActorCollection schema.CollectionSlug
// System runs the call as trusted server code: collection, field, draft
// and reference access rules are skipped. Validation, hooks, versions and
// reference integrity still apply, and Actor, when set, still reaches
// hooks. Only Go code can set it; REST and GraphQL never do.
System bool
ExpectedRevision int
Populate []query.Population
// OutputFields limits computed and inverse-join resolution in the returned
// document. Nil resolves all; a non-nil empty slice resolves none.
OutputFields []query.Path
// Draft selects draft (true) or published (false) status for versioned
// creates. Draft:true on Update stages working changes beside live content.
Draft *bool
Locale schema.LocaleCode
FallbackLocales []schema.LocaleCode
DisableFallback bool
AllLocales bool
}