Skip to content

Feat: release SDK version 2.0 to allow users to perform emails services management operations. #2

Merged
patienceigiraneza merged 2 commits intomainfrom
features
Jun 4, 2025
Merged

Feat: release SDK version 2.0 to allow users to perform emails services management operations. #2
patienceigiraneza merged 2 commits intomainfrom
features

Conversation

@patienceigiraneza
Copy link
Contributor

@patienceigiraneza patienceigiraneza commented Jun 4, 2025

PR Type

Enhancement, Documentation, Tests, Other


Description

  • Major refactor of all email management API endpoints to use strongly-typed Pydantic request and response models, improving type safety and clarity.

  • Introduced numerous new models (e.g., AliasDisplay, EmailDisplay, OrderDisplay, ChangeQuotaCreate200Response, SubscriptionInfoResponse, etc.) for representing API data structures.

  • Updated serialization and deserialization logic across APIs to support new models and JSON content handling.

  • Added and updated comprehensive documentation for all new and refactored endpoints and models, including usage examples and property descriptions.

  • Added unit test stubs for all new models to ensure instantiation and field validation.

  • Updated package metadata and version to 2.0.0, reflecting the significant API and model changes.

  • Improved OpenAPI generator configuration and tracked files to align with the expanded model and test set.

  • Enhanced README with new usage examples, installation instructions, and model documentation.


Changes walkthrough 📝

Relevant files
Enhancement
33 files
change_quota_api.py
Refactor change quota API for typed request and response handling

workplace_console_client/api/change_quota_api.py

  • Added import statements for new response and request models.
  • Updated all change_quota_create* methods to accept a data parameter of
    type ChangeEmailQuota and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    create_alias_api.py
    Refactor create alias API for typed request and response handling

    workplace_console_client/api/create_alias_api.py

  • Added import statements for new response and request models.
  • Updated all create_alias_create* methods to accept a data parameter of
    type EmailAlias and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    delete_alias_api.py
    Refactor delete alias API for typed request and response handling

    workplace_console_client/api/delete_alias_api.py

  • Added import statements for new response and request models.
  • Updated all delete_alias_create* methods to accept a data parameter of
    type DeleteAlias and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    delete_email_api.py
    Refactor delete email API for typed request and response handling

    workplace_console_client/api/delete_email_api.py

  • Added import statements for new response and request models.
  • Updated all delete_email_create* methods to accept a data parameter of
    type DeleteEmail and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    domain_alias_api.py
    Refactor domain alias API for typed request and response handling

    workplace_console_client/api/domain_alias_api.py

  • Added import statements for new response and request models.
  • Updated all domain_alias_create* methods to accept a data parameter of
    type Domain and return a list of AliasDisplay.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "List[AliasDisplay]".
  • +52/-11 
    domain_api.py
    Refactor domain API for typed request and response handling

    workplace_console_client/api/domain_api.py

  • Added import statements for new response and request models.
  • Updated all domain_create* methods to accept a data parameter of type
    DomainAction and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    domain_info_api.py
    Refactor domain info API for typed request and response handling

    workplace_console_client/api/domain_info_api.py

  • Added import statements for new response and request models.
  • Updated all domain_info_create* methods to accept a data parameter of
    type SubScriptionInfo and return a SubscriptionInfoResponse.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "SubscriptionInfoResponse".
  • +51/-11 
    import_api.py
    Refactor import API for typed request and response handling

    workplace_console_client/api/import_api.py

  • Added import statements for new response and request models.
  • Updated all import_create* methods to accept a data parameter of type
    ImportCreateRequest and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    reset_password_api.py
    Refactor reset password API for typed request and response handling

    workplace_console_client/api/reset_password_api.py

  • Added import statements for new response and request models.
  • Updated all reset_password_create* methods to accept a data parameter
    of type PasswordReset and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    subscription_info_api.py
    Refactor subscription info API for typed request and response handling

    workplace_console_client/api/subscription_info_api.py

  • Added import statements for new response and request models.
  • Updated all subscription_info_create* methods to accept a data
    parameter of type SubScriptionInfo and return a
    SubscriptionInfoCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "SubscriptionInfoCreate200Response".
  • +51/-11 
    subscriptions_api.py
    Major refactor of subscriptions API for typed request/response and new
    endpoints

    workplace_console_client/api/subscriptions_api.py

  • Added import statements for new response and request models.
  • Refactored subscriptions_create* methods to accept a data parameter of
    type OpenExchangeCreateAccount and return a
    ChangeQuotaCreate200Response.
  • Refactored subscriptions_list* methods to provide a list endpoint for
    subscriptions.
  • Introduced subscriptions_read* methods for retrieving subscription
    details by context ID, returning SubscriptionsRead200Response.
  • Added update_subscription_status* methods for updating subscription
    status, accepting ServiceAction and returning
    ChangeQuotaCreate200Response.
  • Updated serialization logic and response type mappings for all
    affected endpoints.
  • Updated docstrings to reflect new request and response types.
  • +166/-76
    upgrade_api.py
    Refactor upgrade API for typed request and response handling

    workplace_console_client/api/upgrade_api.py

  • Added import statements for new response and request models.
  • Updated all upgrade_create* methods to accept a data parameter of type
    SubScriptionInfo and return a ChangeQuotaCreate200Response.
  • Updated docstrings to reflect the new request and response types.
  • Modified serialization logic to handle the new request body and set
    appropriate headers for JSON content.
  • Changed response type mapping from '201': None to '200':
    "ChangeQuotaCreate200Response".
  • +51/-11 
    alias_display.py
    Add AliasDisplay model for alias representation                   

    workplace_console_client/models/alias_display.py

  • Added new model AliasDisplay for representing alias display data.
  • Includes fields for id, primary_email, and name, with serialization
    and deserialization helpers.
  • +97/-0   
    email_display.py
    Add EmailDisplay model for email representation                   

    workplace_console_client/models/email_display.py

  • Added new model EmailDisplay for representing email display data.
  • Includes fields for id, name, email_quota, max_quota, used_quota,
    email_id, display_name, and order, with serialization and
    deserialization helpers.
  • +120/-0 
    open_exchange_create_account.py
    Add OpenExchangeCreateAccount model for subscription creation

    workplace_console_client/models/open_exchange_create_account.py

  • Added new model OpenExchangeCreateAccount for creating new email
    subscriptions.
  • Includes fields for emails, domain_name, subscription, and
    new_subscription, with serialization and deserialization helpers.
  • +95/-0   
    order_display.py
    Add OrderDisplay model for subscription/order details       

    workplace_console_client/models/order_display.py

  • Added new model OrderDisplay for representing order/subscription
    details.
  • Includes various fields related to subscription and domain, with
    serialization and deserialization helpers.
  • +175/-0 
    subscription_info_create200_response.py
    Add SubscriptionInfoCreate200Response model for usage info responses

    workplace_console_client/models/subscription_info_create200_response.py

  • Added new model SubscriptionInfoCreate200Response for representing
    subscription usage info responses.
  • Includes fields for used_emails, remaining_quota, remaining_emails,
    allowed_emails, allowed_alias, remaining_alias, and allowed_quota,
    with serialization and deserialization helpers.
  • +100/-0 
    subscription_info_response.py
    Add SubscriptionInfoResponse model for detailed subscription info

    workplace_console_client/models/subscription_info_response.py

  • Added new model SubscriptionInfoResponse for representing detailed
    subscription info.
  • Includes fields for info (OrderDisplay) and emails (list of
    EmailDisplay), with serialization and deserialization helpers.
  • +102/-0 
    delete_alias.py
    Add DeleteAlias Pydantic model for alias deletion requests

    workplace_console_client/models/delete_alias.py

  • Added a new Pydantic model DeleteAlias for representing alias deletion
    requests.
  • Includes fields for email, alias, and domain with validation.
  • Provides serialization and deserialization methods (to_str, to_json,
    from_json, to_dict, from_dict).
  • +93/-0   
    email_alias.py
    Add EmailAlias Pydantic model for email alias creation     

    workplace_console_client/models/email_alias.py

  • Introduced a new Pydantic model EmailAlias for email alias creation.
  • Contains fields for email, domain, and alias with validation.
  • Implements serialization and deserialization utilities.
  • +93/-0   
    delete_email.py
    Add DeleteEmail Pydantic model for email deletion               

    workplace_console_client/models/delete_email.py

  • Added a new Pydantic model DeleteEmail for deleting email accounts.
  • Fields include email, domain, and subscription with type validation.
  • Includes methods for serialization and deserialization.
  • +93/-0   
    import_create_request.py
    Add ImportCreateRequest model for bulk email import           

    workplace_console_client/models/import_create_request.py

  • Added ImportCreateRequest Pydantic model for bulk email import
    requests.
  • Accepts a file (CSV, Excel) and a domain string.
  • Provides serialization and deserialization methods.
  • +90/-0   
    sub_scription_info.py
    Add SubScriptionInfo model for subscription information   

    workplace_console_client/models/sub_scription_info.py

  • Introduced SubScriptionInfo Pydantic model for subscription
    information.
  • Contains domain and subscription fields with validation.
  • Includes serialization and deserialization methods.
  • +91/-0   
    change_quota_create200_response.py
    Add ChangeQuotaCreate200Response model for quota change responses

    workplace_console_client/models/change_quota_create200_response.py

  • Added ChangeQuotaCreate200Response Pydantic model for quota change
    responses.
  • Includes optional message and error fields.
  • Implements serialization and deserialization utilities.
  • +90/-0   
    domain_action.py
    Add DomainAction model for domain action requests               

    workplace_console_client/models/domain_action.py

  • Added DomainAction Pydantic model for domain-related actions.
  • Fields: action and domain with validation.
  • Provides serialization and deserialization methods.
  • +91/-0   
    password_reset.py
    Add PasswordReset model for password reset requests           

    workplace_console_client/models/password_reset.py

  • Added PasswordReset Pydantic model for password reset requests.
  • Contains email and password fields with validation.
  • Includes serialization and deserialization methods.
  • +91/-0   
    change_email_quota.py
    Add ChangeEmailQuota model for email quota changes             

    workplace_console_client/models/change_email_quota.py

  • Added ChangeEmailQuota Pydantic model for changing email quota.
  • Fields: email and quota with validation.
  • Provides serialization and deserialization methods.
  • +91/-0   
    service_action.py
    Add ServiceAction model for service action requests           

    workplace_console_client/models/service_action.py

  • Added ServiceAction Pydantic model for service-level actions.
  • Contains a single action field with validation.
  • Implements serialization and deserialization methods.
  • +89/-0   
    domain.py
    Add Domain model for domain representation                             

    workplace_console_client/models/domain.py

  • Added Domain Pydantic model for domain representation.
  • Contains a domain field with validation.
  • Includes serialization and deserialization methods.
  • +89/-0   
    dns_info_create200_response.py
    Extend DnsInfoCreate200Response model with DNS details     

    workplace_console_client/models/dns_info_create200_response.py

  • Extended the DnsInfoCreate200Response model with new fields: domain,
    all_dns_score, found, total, missing_dns, other_missing_dns,
    found_dns, and error.
  • Changed score to accept both float and int.
  • Updated serialization/deserialization to handle new fields.
  • +21/-5   
    subscriptions_read200_response.py
    Add SubscriptionsRead200Response model for subscription details

    workplace_console_client/models/subscriptions_read200_response.py

  • Added SubscriptionsRead200Response Pydantic model for subscription
    read responses.
  • Fields: domain_context, user_emails, and email_aliases.
  • Provides serialization and deserialization methods.
  • +92/-0   
    __init__.py
    Import new models into models package                                       

    workplace_console_client/models/init.py

  • Imported new models into the models package: AliasDisplay,
    ChangeEmailQuota, ChangeQuotaCreate200Response, DeleteAlias,
    DeleteEmail, Domain, DomainAction, EmailAlias, EmailDisplay,
    ImportCreateRequest, OpenExchangeCreateAccount, OrderDisplay,
    PasswordReset, ServiceAction, SubScriptionInfo,
    SubscriptionInfoCreate200Response, SubscriptionInfoResponse,
    SubscriptionsRead200Response.
  • +18/-0   
    __init__.py
    Import new models into SDK package for external use           

    workplace_console_client/init.py

  • Imported new models into the SDK package for external use.
  • Models include: AliasDisplay, ChangeEmailQuota,
    ChangeQuotaCreate200Response, DeleteAlias, DeleteEmail, Domain,
    DomainAction, EmailAlias, EmailDisplay, ImportCreateRequest,
    OpenExchangeCreateAccount, OrderDisplay, PasswordReset, ServiceAction,
    SubScriptionInfo, SubscriptionInfoCreate200Response,
    SubscriptionInfoResponse, SubscriptionsRead200Response.
  • +18/-0   
    Tests
    20 files
    test_order_display.py
    Add unit test stub for OrderDisplay model                               

    test/test_order_display.py

  • Added unit test stub for the OrderDisplay model.
  • Provides a template for testing required and optional fields.
  • +75/-0   
    test_subscription_info_response.py
    Add unit test stub for SubscriptionInfoResponse model       

    test/test_subscription_info_response.py

  • Added unit test stub for the SubscriptionInfoResponse model.
  • Provides a template for testing required and optional fields.
  • +121/-0 
    test_alias_display.py
    Add unit test stub for AliasDisplay model                               

    test/test_alias_display.py

  • Added unit test stub for the AliasDisplay model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_change_email_quota.py
    Add unit test stub for ChangeEmailQuota model                       

    test/test_change_email_quota.py

  • Added unit test stub for the ChangeEmailQuota model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_change_quota_create200_response.py
    Add unit test stub for ChangeQuotaCreate200Response model

    test/test_change_quota_create200_response.py

  • Added unit test stub for the ChangeQuotaCreate200Response model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +53/-0   
    test_delete_alias.py
    Add unit test stub for DeleteAlias model                                 

    test/test_delete_alias.py

  • Added unit test stub for the DeleteAlias model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +57/-0   
    test_delete_email.py
    Add unit test stub for DeleteEmail model                                 

    test/test_delete_email.py

  • Added unit test stub for the DeleteEmail model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +57/-0   
    test_domain.py
    Add unit test stub for Domain model                                           

    test/test_domain.py

  • Added unit test stub for the Domain model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +53/-0   
    test_domain_action.py
    Add unit test stub for DomainAction model                               

    test/test_domain_action.py

  • Added unit test stub for the DomainAction model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_email_alias.py
    Add unit test stub for EmailAlias model                                   

    test/test_email_alias.py

  • Added unit test stub for the EmailAlias model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +57/-0   
    test_email_display.py
    Add unit test stub for EmailDisplay model                               

    test/test_email_display.py

  • Added unit test stub for the EmailDisplay model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +60/-0   
    test_import_create_request.py
    Add unit test stub for ImportCreateRequest model                 

    test/test_import_create_request.py

  • Added unit test stub for the ImportCreateRequest model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_open_exchange_create_account.py
    Add unit test stub for OpenExchangeCreateAccount model     

    test/test_open_exchange_create_account.py

  • Added unit test stub for the OpenExchangeCreateAccount model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +63/-0   
    test_order_display.py
    Add unit test stub for OrderDisplay model                               

    test/test_order_display.py

  • Added unit test stub for the OrderDisplay model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +75/-0   
    test_password_reset.py
    Add unit test stub for PasswordReset model                             

    test/test_password_reset.py

  • Added unit test stub for the PasswordReset model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_service_action.py
    Add unit test stub for ServiceAction model                             

    test/test_service_action.py

  • Added unit test stub for the ServiceAction model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +53/-0   
    test_sub_scription_info.py
    Add unit test stub for SubScriptionInfo model                       

    test/test_sub_scription_info.py

  • Added unit test stub for the SubScriptionInfo model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +55/-0   
    test_subscription_info_create200_response.py
    Add unit test stub for SubscriptionInfoCreate200Response model

    test/test_subscription_info_create200_response.py

  • Added unit test stub for the SubscriptionInfoCreate200Response model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +58/-0   
    test_subscription_info_response.py
    Add unit test stub for SubscriptionInfoResponse model       

    test/test_subscription_info_response.py

  • Added unit test stub for the SubscriptionInfoResponse model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +121/-0 
    test_subscriptions_read200_response.py
    Add unit test stub for SubscriptionsRead200Response model

    test/test_subscriptions_read200_response.py

  • Added unit test stub for the SubscriptionsRead200Response model.
  • Provides a structure for testing model instantiation with and without
    optional parameters.
  • +56/-0   
    Configuration changes
    2 files
    setup.py
    Update package metadata and version for v2.0.0 release     

    setup.py

  • Updated package version from 1.0.1 to 2.0.0.
  • Changed author and license information.
  • Updated package metadata to reflect OpenAPI Generator as the author
    and BSD License.
  • Adjusted URL and removed some classifiers.
  • +4/-13   
    FILES
    Update OpenAPI generator tracked files for new models and tests

    .openapi-generator/FILES

  • Updated the tracked files list to include new models, tests, and
    documentation files.
  • Removed references to old test files and added new ones for the
    expanded model set.
  • +54/-20 
    Documentation
    32 files
    SubscriptionsApi.md
    Update SubscriptionsApi documentation for new endpoints and models

    docs/SubscriptionsApi.md

  • Updated documentation for the Subscriptions API endpoints.
  • Added/clarified descriptions, parameters, and return types for new and
    existing endpoints.
  • Documented new endpoints: update_subscription_status.
  • Improved examples and HTTP response details.
  • +68/-36 
    ChangeQuotaApi.md
    Update ChangeQuotaApi documentation for new request/response models

    docs/ChangeQuotaApi.md

  • Updated documentation for the ChangeQuota API.
  • Added details for the change_quota_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    DomainApi.md
    Update DomainApi documentation for new request/response models

    docs/DomainApi.md

  • Updated documentation for the Domain API.
  • Added details for the domain_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    DomainAliasApi.md
    Update DomainAliasApi documentation for new request/response models

    docs/DomainAliasApi.md

  • Updated documentation for the DomainAlias API.
  • Added details for the domain_alias_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    DomainInfoApi.md
    Update DomainInfoApi documentation for new request/response models

    docs/DomainInfoApi.md

  • Updated documentation for the DomainInfo API.
  • Added details for the domain_info_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    CreateAliasApi.md
    Update CreateAliasApi documentation for new request/response models

    docs/CreateAliasApi.md

  • Updated documentation for the CreateAlias API.
  • Added details for the create_alias_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    DeleteAliasApi.md
    Update DeleteAliasApi documentation for new request/response models

    docs/DeleteAliasApi.md

  • Updated documentation for the DeleteAlias API.
  • Added details for the delete_alias_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    DeleteEmailApi.md
    Update DeleteEmailApi documentation for new request/response models

    docs/DeleteEmailApi.md

  • Updated documentation for the DeleteEmail API.
  • Added details for the delete_email_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    ImportApi.md
    Update ImportApi documentation for new request/response models

    docs/ImportApi.md

  • Updated documentation for the Import API.
  • Added details for the import_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    ResetPasswordApi.md
    Update ResetPasswordApi documentation for new request/response models

    docs/ResetPasswordApi.md

  • Updated documentation for the ResetPassword API.
  • Added details for the reset_password_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    SubscriptionInfoApi.md
    Update SubscriptionInfoApi documentation for new request/response
    models

    docs/SubscriptionInfoApi.md

  • Updated documentation for the SubscriptionInfo API.
  • Added details for the subscription_info_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    UpgradeApi.md
    Update UpgradeApi documentation for new request/response models

    docs/UpgradeApi.md

  • Updated documentation for the Upgrade API.
  • Added details for the upgrade_create endpoint, including
    request/response models and examples.
  • Clarified HTTP headers and response codes.
  • +21/-8   
    OrderDisplay.md
    Add documentation for OrderDisplay model                                 

    docs/OrderDisplay.md

  • Added documentation for the OrderDisplay model, listing its properties
    and example usage.
  • +51/-0   
    EmailDisplay.md
    Add documentation for EmailDisplay model                                 

    docs/EmailDisplay.md

  • Added documentation for the EmailDisplay model, listing its properties
    and example usage.
  • +36/-0   
    SubscriptionsRead200Response.md
    Add documentation for SubscriptionsRead200Response model 

    docs/SubscriptionsRead200Response.md

  • Added documentation for the SubscriptionsRead200Response model,
    listing its properties and example usage.
  • +31/-0   
    OpenExchangeCreateAccount.md
    Add documentation for OpenExchangeCreateAccount model       

    docs/OpenExchangeCreateAccount.md

  • Added documentation for the OpenExchangeCreateAccount model, listing
    its properties and example usage.
  • +32/-0   
    SubscriptionInfoCreate200Response.md
    Add documentation for SubscriptionInfoCreate200Response model

    docs/SubscriptionInfoCreate200Response.md

  • Added documentation for the SubscriptionInfoCreate200Response model,
    listing its properties and example usage.
  • +35/-0   
    README.md
    Update README for v2.0.0 with new models and endpoints     

    README.md

  • Updated project README to reflect new models, endpoints, and usage
    examples.
  • Updated installation instructions and API/class documentation.
  • Added new models to the documentation list.
  • +43/-20 
    ChangeQuotaCreate200Response.md
    Add documentation for ChangeQuotaCreate200Response response model

    docs/ChangeQuotaCreate200Response.md

  • Added new documentation for the ChangeQuotaCreate200Response model.
  • Describes properties message and error.
  • Provides example usage for serialization and deserialization.
  • Includes navigation links for related documentation.
  • +30/-0   
    SubscriptionInfoResponse.md
    Add documentation for SubscriptionInfoResponse model         

    docs/SubscriptionInfoResponse.md

  • Introduced documentation for the SubscriptionInfoResponse model.
  • Details properties info and emails with references to related models.
  • Example code for model usage included.
  • Navigation links to related documentation added.
  • +30/-0   
    SubScriptionInfo.md
    Add documentation for SubScriptionInfo model                         

    docs/SubScriptionInfo.md

  • Added documentation for the SubScriptionInfo model.
  • Lists properties domain and subscription.
  • Provides example code for model instantiation and conversion.
  • Includes navigation links to other documentation sections.
  • +30/-0   
    AliasDisplay.md
    Add documentation for AliasDisplay model                                 

    docs/AliasDisplay.md

  • Added documentation for the AliasDisplay model.
  • Documents properties id, primary_email, and name.
  • Example code for serialization/deserialization provided.
  • Navigation links for model and API documentation included.
  • +31/-0   
    ImportCreateRequest.md
    Add documentation for ImportCreateRequest model                   

    docs/ImportCreateRequest.md

  • Introduced documentation for the ImportCreateRequest model.
  • Describes file and domain properties.
  • Example code for model usage included.
  • Navigation links to related documentation provided.
  • +30/-0   
    ChangeEmailQuota.md
    Add documentation for ChangeEmailQuota model                         

    docs/ChangeEmailQuota.md

  • Added documentation for the ChangeEmailQuota model.
  • Details properties email and quota.
  • Provides example usage for serialization and deserialization.
  • Includes navigation links to related documentation.
  • +30/-0   
    EmailAlias.md
    Add documentation for EmailAlias model                                     

    docs/EmailAlias.md

  • Introduced documentation for the EmailAlias model.
  • Documents properties email, domain, and alias.
  • Example code for model instantiation and conversion included.
  • Navigation links to related documentation provided.
  • +31/-0   
    DeleteAlias.md
    Add documentation for DeleteAlias model                                   

    docs/DeleteAlias.md

  • Added documentation for the DeleteAlias model.
  • Lists properties email, alias, and domain.
  • Example code for serialization/deserialization provided.
  • Navigation links to related documentation included.
  • +31/-0   
    DeleteEmail.md
    Add documentation for DeleteEmail model                                   

    docs/DeleteEmail.md

  • Introduced documentation for the DeleteEmail model.
  • Documents properties email, domain, and subscription.
  • Example code for model usage included.
  • Navigation links to related documentation provided.
  • +31/-0   
    DomainAction.md
    Add documentation for DomainAction model                                 

    docs/DomainAction.md

  • Added documentation for the DomainAction model.
  • Details properties action and domain.
  • Example code for serialization/deserialization included.
  • Navigation links to related documentation provided.
  • +30/-0   
    PasswordReset.md
    Add documentation for PasswordReset model                               

    docs/PasswordReset.md

  • Introduced documentation for the PasswordReset model.
  • Documents properties email and password.
  • Example code for model instantiation and conversion included.
  • Navigation links to related documentation provided.
  • +30/-0   
    ServiceAction.md
    Add documentation for ServiceAction model                               

    docs/ServiceAction.md

  • Added documentation for the ServiceAction model.
  • Details the action property.
  • Example code for serialization/deserialization included.
  • Navigation links to related documentation provided.
  • +29/-0   
    DnsInfoCreate200Response.md
    Update and expand DnsInfoCreate200Response model documentation

    docs/DnsInfoCreate200Response.md

  • Updated the documentation for the DnsInfoCreate200Response model.
  • Changed the type of score from int to float and made it required.
  • Added new properties: domain, all_dns_score, found, total,
    missing_dns, other_missing_dns, found_dns, and error.
  • Expanded property descriptions and updated the example section.
  • +9/-1     
    Domain.md
    Add documentation for Domain model                                             

    docs/Domain.md

  • Added documentation for the Domain model.
  • Documents the domain property.
  • Provides example code for model usage.
  • Includes navigation links to related documentation.
  • +29/-0   

    Need help?
  • Type /help how to ... in the comments thread for any questions about Qodo Merge usage.
  • Check out the documentation for more information.
  • @qodo-code-review
    Copy link

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 4 🔵🔵🔵🔵⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    API Response Handling

    The API methods have been updated to return specific response types, but there's inconsistency in how response codes are handled. Some methods expect 200 responses but the original code expected 201 responses.

        _host_index=_host_index
    )
    Method Renaming

    Several methods have been renamed (e.g., subscriptions_create_0 to subscriptions_list) which could break backward compatibility for existing client code.

    def subscriptions_list(
        self,
    Content Type Handling

    New code adds content type handling for JSON requests and responses, but doesn't handle potential content negotiation failures or invalid content types.

        _body_params = data
    
    
    # set the HTTP header `Accept`
    if 'Accept' not in _header_params:
        _header_params['Accept'] = self.api_client.select_header_accept(
            [
                'application/json'
            ]
        )
    
    # set the HTTP header `Content-Type`
    if _content_type:
        _header_params['Content-Type'] = _content_type
    else:
        _default_content_type = (
            self.api_client.select_header_content_type(
                [
                    'application/json'
                ]
            )
        )
        if _default_content_type is not None:
            _header_params['Content-Type'] = _default_content_type

    @qodo-code-review
    Copy link

    qodo-code-review bot commented Jun 4, 2025

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Impact
    Possible issue
    Make required field optional

    The score field is required but doesn't have a default value. Since this is a
    response model, it should handle cases where the API might not return a score.
    Make the field optional to prevent deserialization errors when the API response
    doesn't include a score.

    workplace_console_client/models/dns_info_create200_response.py [30-31]

    -score: Union[StrictFloat, StrictInt]
    +score: Optional[Union[StrictFloat, StrictInt]] = None
     message: Optional[StrictStr] = None

    [To ensure code accuracy, apply this suggestion manually]

    Suggestion importance[1-10]: 5

    __

    Why: The suggestion correctly identifies that making score optional could improve robustness when handling API responses that might not include this field. However, this changes the API contract and may not be necessary if the API consistently returns a score value. The change is reasonable but not critical.

    Low
    General
    Remove trailing comma

    Remove the trailing comma after the last parameter in the return
    SubScriptionInfo() constructor. While Python allows trailing commas in function
    calls, maintaining consistent style without unnecessary commas improves
    readability.

    test/test_sub_scription_info.py [43-46]

             return SubScriptionInfo(
                 domain = '0',
    -            subscription = 56,
    +            subscription = 56
         )
    • Apply / Chat
    Suggestion importance[1-10]: 3

    __

    Why: The suggestion correctly identifies a trailing comma that can be removed for style consistency. However, this is a very minor cosmetic change with minimal impact on code quality or functionality.

    Low
    • Update

    @patienceigiraneza patienceigiraneza changed the title Feat: realizing the version 2.0 to allow users to perform emails services management operations. Feat: release SDK version 2.0 to allow users to perform emails services management operations. Jun 4, 2025
    @patienceigiraneza patienceigiraneza merged commit da3aa1f into main Jun 4, 2025
    10 checks passed
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Projects

    None yet

    Development

    Successfully merging this pull request may close these issues.

    1 participant