-
Notifications
You must be signed in to change notification settings - Fork 46
Closed
Description
Hey, thanks for creating this great implementation! It's sped up development for my backend services and I'm really grateful!
I've been running into issues for a little while now while trying to integrate laravel-permission. For a code example, I'll just focus on one relationship. The User -> roles.
Code Snippets
// App\Models\User.php
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}// App\Models\Role.php
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Permission\Models\Role as SpatieRole;
class Role extends SpatieRole
{
use HasFactory;
}// Spatie\Permission\Traits\HasRoles.php
trait HasRoles {
public function roles(): BelongsToMany
{
return $this->morphToMany(
config('permission.models.role'),
'model',
config('permission.table_names.model_has_roles'),
config('permission.column_names.model_morph_key'),
'role_id'
);
}
}// Spatie\Permission\Models\Role.php
class Role extends Model implements RoleContract
{
use HasPermissions;
public function permissions(): BelongsToMany
{
return $this->belongsToMany(
config('permission.models.permission'),
config('permission.table_names.role_has_permissions'),
'role_id',
'permission_id'
);
}
}In my UserSchema, I've tried both:
BelongsToMany::make('roles'), and HasMany::make('roles'),
As with my RoleSchema, I've tried both:
BelongsToMany::make('users') and HasMany::make('users'),
Error Response
The error I get is the following error:
{
...
"errors": [
{
"detail": "Unable to encode compound document.",
"meta": {}
}
]
...
}Expected Result
I expect to see a toMany relationship with the User including that returned from the Role. The /roles response for example returns this:
{
"data": [
{
"type": "roles",
"id": "Mk2LbKanG6ap4dAyVEZ1",
"attributes": {
"name": "spp/subscriber",
"createdAt": "2022-06-14T20:57:03.000000Z",
"updatedAt": "2022-06-14T20:57:03.000000Z"
},
"relationships": {
"users": {
"links": {
"related": "http://localhost:8888/v1/roles/Mk2LbKanG6ap4dAyVEZ1/users",
"self": "http://localhost:8888/v1/roles/Mk2LbKanG6ap4dAyVEZ1/relationships/users"
}
}
},
"links": {
"self": "http://localhost:8888/v1/roles/Mk2LbKanG6ap4dAyVEZ1"
}
}
...
]
}Stack Trace
Here is a detailed stack trace from laravel.log
[2022-07-22 02:50:48] local.ERROR: Unable to encode compound document. {"userId":1,"exception":"[object] (LogicException(code: 0): Unable to encode compound document. at E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\encoder-neomerx\\src\\Document.php:193)
[stacktrace]
#0 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\Internal\\ResourceResponse.php(116): LaravelJsonApi\\Encoder\\Neomerx\\Document->toJson(0)
#1 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\DataResponse.php(120): LaravelJsonApi\\Core\\Responses\\Internal\\ResourceResponse->toResponse(Object(Illuminate\\Http\\Request))
#2 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(802): LaravelJsonApi\\Core\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
#3 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(789): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#4 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(721): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#5 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#6 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\passport\\src\\Http\\Middleware\\CheckCredentials.php(69): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#7 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Laravel\\Passport\\Http\\Middleware\\CheckCredentials->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#8 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\laravel\\src\\Http\\Middleware\\BootJsonApi.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#9 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): LaravelJsonApi\\Laravel\\Http\\Middleware\\BootJsonApi->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'v1')
#10 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#11 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(63): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#12 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), '60', '1')
#13 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#15 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#16 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#17 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#18 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#19 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#20 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 E:\\projects\\spp\\spp-core-api\\vendor\\fruitcake\\laravel-cors\\src\\HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 E:\\projects\\spp\\spp-core-api\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#36 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#37 E:\\projects\\spp\\spp-core-api\\public\\index.php(59): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#38 {main}
[previous exception] [object] (LogicException(code: 0): Failed to build a JSON:API resource for model Spatie\\Permission\\Models\\Role. at E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Factory.php:68)
[stacktrace]
#0 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Container.php(86): LaravelJsonApi\\Core\\Resources\\Factory->createResource(Object(Spatie\\Permission\\Models\\Role))
#1 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Container.php(113): LaravelJsonApi\\Core\\Resources\\Container->create(Object(Spatie\\Permission\\Models\\Role))
#2 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Parser\\RelationshipData\\RelationshipDataIsCollection.php(132): LaravelJsonApi\\Core\\Resources\\Container->cursor(Object(Illuminate\\Database\\Eloquent\\Collection))
#3 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(238): Neomerx\\JsonApi\\Parser\\RelationshipData\\RelationshipDataIsCollection->getResources()
#4 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(214): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipDataRepresentation(Object(Neomerx\\JsonApi\\Parser\\RelationshipData\\RelationshipDataIsCollection))
#5 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(192): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipRepresentation(Object(class@anonymous))
#6 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(279): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipsRepresentation(Object(Generator))
#7 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(68): Neomerx\\JsonApi\\Representation\\DocumentWriter->getResourceRepresentation(Object(LaravelJsonApi\\Encoder\\Neomerx\\Parser\\IdentifierAndResource), Object(Neomerx\\JsonApi\\Representation\\FieldSetFilter))
#8 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Encoder\\Encoder.php(198): Neomerx\\JsonApi\\Representation\\DocumentWriter->addResourceToData(Object(LaravelJsonApi\\Encoder\\Neomerx\\Parser\\IdentifierAndResource), Object(Neomerx\\JsonApi\\Representation\\FieldSetFilter))
#9 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Encoder\\Encoder.php(106): Neomerx\\JsonApi\\Encoder\\Encoder->encodeDataToArray(Object(LaravelJsonApi\\Core\\Resources\\JsonApiResource))
#10 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\encoder-neomerx\\src\\CompoundDocument.php(61): Neomerx\\JsonApi\\Encoder\\Encoder->encodeData(Object(LaravelJsonApi\\Core\\Resources\\JsonApiResource))
#11 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\encoder-neomerx\\src\\Document.php(191): LaravelJsonApi\\Encoder\\Neomerx\\CompoundDocument->encode()
#12 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\Internal\\ResourceResponse.php(116): LaravelJsonApi\\Encoder\\Neomerx\\Document->toJson(0)
#13 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\DataResponse.php(120): LaravelJsonApi\\Core\\Responses\\Internal\\ResourceResponse->toResponse(Object(Illuminate\\Http\\Request))
#14 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(802): LaravelJsonApi\\Core\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
#15 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(789): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#16 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(721): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#17 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#18 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\passport\\src\\Http\\Middleware\\CheckCredentials.php(69): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Laravel\\Passport\\Http\\Middleware\\CheckCredentials->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\laravel\\src\\Http\\Middleware\\BootJsonApi.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): LaravelJsonApi\\Laravel\\Http\\Middleware\\BootJsonApi->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'v1')
#22 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(63): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#24 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), '60', '1')
#25 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#27 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#28 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#29 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#30 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#31 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#32 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 E:\\projects\\spp\\spp-core-api\\vendor\\fruitcake\\laravel-cors\\src\\HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#43 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#44 E:\\projects\\spp\\spp-core-api\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#45 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#46 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#47 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#48 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#49 E:\\projects\\spp\\spp-core-api\\public\\index.php(59): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#50 {main}
[previous exception] [object] (LogicException(code: 0): No JSON:API schema for model Spatie\\Permission\\Models\\Role. at E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Schema\\Container.php:127)
[stacktrace]
#0 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Factory.php(64): LaravelJsonApi\\Core\\Schema\\Container->schemaForModel(Object(Spatie\\Permission\\Models\\Role))
#1 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Container.php(86): LaravelJsonApi\\Core\\Resources\\Factory->createResource(Object(Spatie\\Permission\\Models\\Role))
#2 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Resources\\Container.php(113): LaravelJsonApi\\Core\\Resources\\Container->create(Object(Spatie\\Permission\\Models\\Role))
#3 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Parser\\RelationshipData\\RelationshipDataIsCollection.php(132): LaravelJsonApi\\Core\\Resources\\Container->cursor(Object(Illuminate\\Database\\Eloquent\\Collection))
#4 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(238): Neomerx\\JsonApi\\Parser\\RelationshipData\\RelationshipDataIsCollection->getResources()
#5 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(214): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipDataRepresentation(Object(Neomerx\\JsonApi\\Parser\\RelationshipData\\RelationshipDataIsCollection))
#6 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(192): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipRepresentation(Object(class@anonymous))
#7 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(279): Neomerx\\JsonApi\\Representation\\DocumentWriter->getRelationshipsRepresentation(Object(Generator))
#8 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Representation\\DocumentWriter.php(68): Neomerx\\JsonApi\\Representation\\DocumentWriter->getResourceRepresentation(Object(LaravelJsonApi\\Encoder\\Neomerx\\Parser\\IdentifierAndResource), Object(Neomerx\\JsonApi\\Representation\\FieldSetFilter))
#9 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Encoder\\Encoder.php(198): Neomerx\\JsonApi\\Representation\\DocumentWriter->addResourceToData(Object(LaravelJsonApi\\Encoder\\Neomerx\\Parser\\IdentifierAndResource), Object(Neomerx\\JsonApi\\Representation\\FieldSetFilter))
#10 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\
eomerx-json-api\\src\\Encoder\\Encoder.php(106): Neomerx\\JsonApi\\Encoder\\Encoder->encodeDataToArray(Object(LaravelJsonApi\\Core\\Resources\\JsonApiResource))
#11 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\encoder-neomerx\\src\\CompoundDocument.php(61): Neomerx\\JsonApi\\Encoder\\Encoder->encodeData(Object(LaravelJsonApi\\Core\\Resources\\JsonApiResource))
#12 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\encoder-neomerx\\src\\Document.php(191): LaravelJsonApi\\Encoder\\Neomerx\\CompoundDocument->encode()
#13 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\Internal\\ResourceResponse.php(116): LaravelJsonApi\\Encoder\\Neomerx\\Document->toJson(0)
#14 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\core\\src\\Core\\Responses\\DataResponse.php(120): LaravelJsonApi\\Core\\Responses\\Internal\\ResourceResponse->toResponse(Object(Illuminate\\Http\\Request))
#15 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(802): LaravelJsonApi\\Core\\Responses\\DataResponse->toResponse(Object(Illuminate\\Http\\Request))
#16 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(789): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#17 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(721): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(LaravelJsonApi\\Core\\Responses\\DataResponse))
#18 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#19 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\passport\\src\\Http\\Middleware\\CheckCredentials.php(69): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Laravel\\Passport\\Http\\Middleware\\CheckCredentials->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 E:\\projects\\spp\\spp-core-api\\vendor\\laravel-json-api\\laravel\\src\\Http\\Middleware\\BootJsonApi.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): LaravelJsonApi\\Laravel\\Http\\Middleware\\BootJsonApi->handle(Object(Illuminate\\Http\\Request), Object(Closure), 'v1')
#23 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\ThrottleRequests.php(63): Illuminate\\Routing\\Middleware\\ThrottleRequests->handleRequest(Object(Illuminate\\Http\\Request), Object(Closure), Array)
#25 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Routing\\Middleware\\ThrottleRequests->handle(Object(Illuminate\\Http\\Request), Object(Closure), '60', '1')
#26 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#28 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#29 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#30 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#31 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#32 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#33 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 E:\\projects\\spp\\spp-core-api\\vendor\\fruitcake\\laravel-cors\\src\\HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#45 E:\\projects\\spp\\spp-core-api\\vendor\\fideloper\\proxy\\src\\TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#46 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#47 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#49 E:\\projects\\spp\\spp-core-api\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#50 E:\\projects\\spp\\spp-core-api\\public\\index.php(59): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#51 {main}
"}
Metadata
Metadata
Assignees
Labels
No labels