Features:
- Moved to python3.10
- Moved to latest modular-sdk (5.1.1)
- Changed API responses. In case api return one object the response json looks like this: {"data": {...}}, i.e data with one object instead of a list with one object
- Moved all logically connected constants to enums: Permission, Endpoints, Envs.
- Added uppercase names for existing envs
- Changed some endpoints (see swagger for the current list of available endpoints)
- Global validation using Pydantic v2
- Swagger for ON-prem and deployment-resources generator from inner endpoints collection. Request and response models for each endpoint. Added openapi v3 spec generator
- Authentication to ON-prem
- Customer scope for users. Now there are two types of users: system user and standard user. Standard users can perform actions only for their customers. System users can perform actions on behalf of other customers
- Added pagination to all the endpoints that do query
- Entrypoint main.py script with some useful actions
- Added endpoints for creating different types of applications: AWS_ROLE, AWS_CREDENTIALS, etc
- Added minimal unittests
- Restricted symbols that are allowed by the password generator
- Write logs to stderr instead of stdout
- Added an ability to specify the system user password for python main.py init
- Added refresh token support
- Added logs_expiration attribute for modular_api_handler lambda in lambda config
- Added application_id GSI to Parent DynamoDB table meta
- Renamed:
- ModularRoles to ModularServiceRoles,
- ModularPolicies to ModularServicePolicies,
- ModularSettings to ModularServiceSettings
- Added in deployment_resources.json:
- ModularAudit, ModularJobs, ModularGroup, ModularUser, ModularPolicy
- Updated the project to enable Role-Based Access Control (RBAC)
Deletions:
- removed all not-used code & requirements & constants
- removed the Settings model because it was useless