Add HumanResources scope support#521
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 897df1307f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| use Bitrix24\SDK\Core\Credentials\Scope; | ||
| use Bitrix24\SDK\Services\AbstractServiceBuilder; | ||
|
|
||
| #[ApiServiceBuilderMetadata(new Scope(['humanresources']))] |
There was a problem hiding this comment.
Register the humanresources scope code
When this metadata is instantiated (for example by AttributesParser/coverage tooling or by consumers declaring an ApplicationProfile for the new scope), Scope validates the code against Scope::$availableScope, which currently includes humanresources.hcmlink but not humanresources. That makes the new HumanResources scope throw UnknownScopeCodeException during metadata parsing or scope construction, so the SDK cannot actually advertise/request the scope added by this change until the allowed-scope list is updated.
Useful? React with 👍 / 👎.
Adds typed REST v3 SDK support for the
humanresources.*scope.The PR introduces
Services\HumanResources\HumanResourcesServiceBuilderand service wrappers for employees, org-structure nodes, node communications, and node members. Field metadata endpoints are implemented as dedicated services (EmployeeField,NodeField,NodeMemberField) so future*.field.getand*.field.listwork follows the same pattern.Result wrappers and item annotations are added for the supported response shapes, with unit coverage for exact REST method names, parameters, and
ApiVersion::v3.Test plan
make lint-cs-fixer— passedmake lint-rector— passedmake lint-phpstan— passedmake lint-deptrac— passedmake test-unit— passed (1003 tests, 2853 assertions)make test-integration-scope-humanresources BITRIX24_WEBHOOK=...— passed with 12 skipped because the current test portal lacks thehumanresourcesscope (BITRIX_REST_V3_EXCEPTION_INSUFFICIENTSCOPEEXCEPTION)Closes #517