Skip to content

Refactor ldap protocol schema#952

Merged
Naksen merged 7 commits intodevfrom
refactor_ldap_protocol_schema
Mar 3, 2026
Merged

Refactor ldap protocol schema#952
Naksen merged 7 commits intodevfrom
refactor_ldap_protocol_schema

Conversation

@Misha-Shvets
Copy link
Collaborator

@Misha-Shvets Misha-Shvets commented Mar 2, 2026

Задача: https://tracker.yandex.ru/MULTIDIRECTORY-916

Перенес все модели, относящиеся к слою отображения, в api
p.s. Осталось только в ldap запросах, т.к. под них нет адаптеров и т.д.

@milov-dmitriy milov-dmitriy requested a review from Copilot March 2, 2026 10:41
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors LDAP-protocol “schema” usage by moving view-layer models into the api package and introducing DTOs where appropriate, updating imports across API, services, and tests.

Changes:

  • Updated API routers/adapters and tests to import request/response schemas from api.*.schemas instead of ldap_protocol.*.schemas.
  • Split DHCP Kea API request dataclasses out of ldap_protocol.dhcp.schemas into a new ldap_protocol.dhcp.dtos module and updated call sites.
  • Migrated some LDAP-protocol response models from dataclass to pydantic.BaseModel and introduced new DTOs (e.g., OAuth2FormDTO).

Reviewed changes

Copilot reviewed 25 out of 25 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tests/test_api/test_dhcp/test_adapter.py Switches DHCP schema imports to api.dhcp.schemas for tests.
tests/test_api/test_audit/test_router.py Switches audit schema imports to api.audit.schemas for tests.
interface Updates subproject commit pointer.
app/ldap_protocol/policies/audit/schemas.py Converts audit response models from dataclasses to Pydantic models and updates module docstring.
app/ldap_protocol/policies/audit/monitor.py Replaces OAuth2 form type dependency with a new DTO.
app/ldap_protocol/policies/audit/dataclasses.py Adds OAuth2FormDTO dataclass.
app/ldap_protocol/kerberos/template_render.py Switches render context import/type to KDCContextDTO from a dtos module.
app/ldap_protocol/kerberos/service.py Switches multiple types/imports to *DTO classes from a dtos module.
app/ldap_protocol/kerberos/schemas.py Renames kerberos dataclasses to *DTO variants.
app/ldap_protocol/dhcp/schemas.py Removes Kea DHCP API request dataclasses from schemas module; keeps Pydantic request models.
app/ldap_protocol/dhcp/retorts.py Points retorts at new DHCP DTO module.
app/ldap_protocol/dhcp/kea_dhcp_repository.py Updates repository to use DTOs for Kea API request payloads.
app/ldap_protocol/dhcp/dtos.py New module containing Kea DHCP API request dataclasses.
app/ldap_protocol/dhcp/init.py Stops re-exporting DHCP schemas from ldap_protocol.dhcp.
app/ldap_protocol/auth/schemas.py Renames/reshapes auth response model(s) and removes session content schema.
app/ldap_protocol/auth/mfa_manager.py Uses MFA schemas from api.auth.schemas instead of LDAP protocol schemas.
app/ldap_protocol/auth/auth_manager.py Uses LoginResponse / OAuth2Form from api.auth.schemas and updates return structure.
app/api/dhcp/router.py Uses DHCP schemas from api.dhcp.schemas in API layer.
app/api/dhcp/adapter.py Uses DHCP schemas from api.dhcp.schemas in adapter.
app/api/auth/router_mfa.py Uses MFA schemas from api.auth.schemas in API layer.
app/api/auth/router_auth.py Uses auth schemas from api.auth.schemas in API layer.
app/api/auth/adapters/mfa.py Uses MFA schemas from api.auth.schemas in adapter.
app/api/auth/adapters/auth.py Uses auth schemas from api.auth.schemas in adapter.
app/api/audit/router.py Uses audit schemas from api.audit.schemas in API layer.
app/api/audit/adapter.py Uses audit schemas from api.audit.schemas in adapter and removes a type: ignore.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Naksen Naksen merged commit 222dd28 into dev Mar 3, 2026
6 checks passed
@Naksen Naksen deleted the refactor_ldap_protocol_schema branch March 3, 2026 07:35
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.

4 participants