Migrate CompanyUsersRestApi and CompanyUserAuthRestApi to API Platform
Edit on GitHubThis document describes how to migrate the CompanyUsersRestApi and CompanyUserAuthRestApi Glue modules to the API Platform CompanyUser module.
Prerequisites
Complete the cross-cutting changes described in Migrate Glue REST API to API Platform before proceeding.
Migrating these modules requires Migrate AuthRestApi to be completed first, because the company user access token endpoint builds on the authentication stack.
Overview
These two modules provided the following storefront endpoints:
| Endpoint | Operation | Old plugin | Source module |
|---|---|---|---|
GET /company-users |
List company users | CompanyUsersResourceRoutePlugin |
CompanyUsersRestApi |
GET /company-users/{id} |
Get company user | CompanyUsersResourceRoutePlugin |
CompanyUsersRestApi |
POST /company-user-access-tokens |
Create company user access token | CompanyUserAccessTokensResourceRoutePlugin |
CompanyUserAuthRestApi |
These are now served by the API Platform CompanyUser module.
1. Update module dependencies
composer require spryker/company-user:"^X.Y.Z"
Use the version that includes the API Platform resources. Check the module changelog for the exact version.
2. Remove route plugins from GlueApplicationDependencyProvider
In src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php, remove the following plugins from getResourceRoutePlugins():
| Plugin to remove | Fully qualified class name |
|---|---|
CompanyUsersResourceRoutePlugin |
Spryker\Glue\CompanyUsersRestApi\Plugin\GlueApplication\CompanyUsersResourceRoutePlugin |
CompanyUserAccessTokensResourceRoutePlugin |
Spryker\Glue\CompanyUserAuthRestApi\Plugin\GlueApplication\CompanyUserAccessTokensResourceRoutePlugin |
3. Regenerate transfers and API resources
docker/sdk cli console transfer:generate
docker/sdk cli glue api:generate
docker/sdk cli glue cache:clear
Relationship plugin status
| Plugin | Registered on resource | Status | Notes |
|---|---|---|---|
CompanyByCompanyUserResourceRelationshipPlugin |
company-users |
Remains | Registered on company-users for the legacy company endpoint still served by CompanyRolesRestApi/CompanyBusinessUnitsRestApi. Do not remove until those modules are migrated. |
CompanyBusinessUnitByCompanyUserResourceRelationshipPlugin |
company-users |
Remains | Same reasoning as above. Do not remove yet. |
CompanyRoleByCompanyUserResourceRelationshipPlugin |
company-users |
Remains | Same reasoning as above. Do not remove yet. |
CustomerByCompanyUserResourceRelationshipPlugin |
company-users |
Remains | Registered to expose customer data via the legacy company-users relationship. Do not remove yet. |
Thank you!
For submitting the form