Skip to content

Add global ID and type resolution callbacks#5

Merged
brunogaspar merged 1 commit into
mainfrom
feature/global-id-type-resolvers
Apr 25, 2026
Merged

Add global ID and type resolution callbacks#5
brunogaspar merged 1 commit into
mainfrom
feature/global-id-type-resolvers

Conversation

@brunogaspar

Copy link
Copy Markdown
Member

Register global callbacks via Resource::resolveIdUsing() and Resource::resolveTypeUsing() to customize how resource IDs and types are derived across all resources.

Useful for projects that use UUIDs, hashids, or custom type naming conventions. Register in a service provider:

Resource::resolveIdUsing(fn ($model) => $model->uuid);
Resource::resolveTypeUsing(fn ($model) => Str::snake(class_basename($model)));

Explicit $type property on a resource takes precedence over the global resolver. Resource::resetResolvers() clears both callbacks.

@brunogaspar brunogaspar self-assigned this Apr 25, 2026
@brunogaspar brunogaspar added the changelog:added New feature or addition label Apr 25, 2026
Register global callbacks via Resource::resolveIdUsing() and
Resource::resolveTypeUsing() to customize how resource IDs and
types are derived across all resources.

Useful for projects that use UUIDs, hashids, or custom type naming
conventions. Register in a service provider:

  Resource::resolveIdUsing(fn ($model) => $model->uuid);
  Resource::resolveTypeUsing(fn ($model) => Str::snake(class_basename($model)));

Explicit $type property on a resource takes precedence over the
global resolver. Resource::resetResolvers() clears both callbacks.
@brunogaspar brunogaspar force-pushed the feature/global-id-type-resolvers branch from 4dae5c2 to 1be89eb Compare April 25, 2026 18:12
@brunogaspar brunogaspar merged commit ac9d1e2 into main Apr 25, 2026
4 checks passed
@brunogaspar brunogaspar deleted the feature/global-id-type-resolvers branch April 25, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:added New feature or addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant