Skip to content

feat!: new query helpers and muteEvent hook#38

Merged
fratzinger merged 1 commit into
mainfrom
feat/mutEvent-setQueryDefaults-queryDefaults-queryHasProperty
Jun 24, 2026
Merged

feat!: new query helpers and muteEvent hook#38
fratzinger merged 1 commit into
mainfrom
feat/mutEvent-setQueryDefaults-queryDefaults-queryHasProperty

Conversation

@fratzinger

Copy link
Copy Markdown
Member
  • muteEvent(options?): hook that suppresses the service event by setting context.event to null, optionally gated by a when boolean/predicate (before/after/around).
  • queryHasProperty(query, name | names): util to detect a property anywhere in a query, including nested in $and/$or/$nor.
  • walkQuery: walker options gain stop() to end traversal early.
  • queryDefaults(query, defaults): util that adds default query fields only for fields the query does not already constrain (nested-aware) — the query counterpart of the defaults data transformer.
  • setQueryDefaults(defaults): before/around hook applying queryDefaults to context.params.query (e.g. filter out template rows by default).
  • softDelete: new allowQueryOverride option; its query filter now goes through queryDefaults.

BREAKING CHANGE: by default softDelete no longer always appends deletedQuery. When the incoming query already references a deletedQuery field (e.g. deletedAt, including nested in $and/$or/$nor), that filter is now skipped so callers can read soft-deleted rows; remove still soft-deletes. Set allowQueryOverride: false to restore the previous always-enforce behavior.

- muteEvent(options?): hook that suppresses the service event by setting
  context.event to null, optionally gated by a when boolean/predicate
  (before/after/around).
- queryHasProperty(query, name | names): util to detect a property anywhere in
  a query, including nested in $and/$or/$nor.
- walkQuery: walker options gain stop() to end traversal early.
- queryDefaults(query, defaults): util that adds default query fields only for
  fields the query does not already constrain (nested-aware) — the query
  counterpart of the defaults data transformer.
- setQueryDefaults(defaults): before/around hook applying queryDefaults to
  context.params.query (e.g. filter out template rows by default).
- softDelete: new allowQueryOverride option; its query filter now goes through
  queryDefaults.

BREAKING CHANGE: by default softDelete no longer always appends deletedQuery.
When the incoming query already references a deletedQuery field (e.g. deletedAt,
including nested in $and/$or/$nor), that filter is now skipped so callers can
read soft-deleted rows; remove still soft-deletes. Set allowQueryOverride: false
to restore the previous always-enforce behavior.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying feathers-utils with  Cloudflare Pages  Cloudflare Pages

Latest commit: bfe981e
Status: ✅  Deploy successful!
Preview URL: https://54ae98ba.feathers-utils.pages.dev
Branch Preview URL: https://feat-mutevent-setquerydefaul.feathers-utils.pages.dev

View logs

@fratzinger
fratzinger merged commit 68808c1 into main Jun 24, 2026
9 checks passed
@fratzinger
fratzinger deleted the feat/mutEvent-setQueryDefaults-queryDefaults-queryHasProperty branch June 24, 2026 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant