Víctor Fernández Poyatos
24857eaa7f
feat/PRWLR-4002 add /scans endpoints (without SDK integration) ( #33 )
...
* feat(Backend): PRWLR-4992 add Scan db model
* feat(API): PRWLR-4002 add viewset and required tools for /scans endpoint
* feat(API): PRWLR-4002 improve /scans filters
* feat(API): PRWLR-4002 add relationships links
* feat(API): PRWLR-4002 implement POST /scan custom logic
* fix(API): PRWLR-4002 fix Scan.type keyword usage
* feat(API): PRWLR-4002 implement PATCH /scans
* feat(API): PRWLR-4002 refactor serializers for write operations
* fix(API): PRWLR-4002 fix providers on ScanSerializer
* test(API): PRWLR-4002 add unit tests for /scans
* feat(Backend, Test): PRWLR-4002 refactor routing and unit tests db connections
* build(CI): PRWLR-4002 update CI env vars for postgres
* fix(Tests): PRWLR-4002 fix close_db_connections fixture
* feat(Backend, API): PRWLR-4002 apply requested changes to Scan model and filters
* chore(Tests): PRWLR-4002 rename pytest fixtures
* feat(Backend): PRWLR-4002 remove unique constraint from Scan model
* fix(Backend, Tests): PRWLR-4002 fix db routing and migration mechanism for tests
* chore(deps): PRWLR-4002 add uuid6 to poetry deps
* chore(Backend): PRWLR-4002 refactor filter methods
* fix(Tests): PRWLR-4002 fix wrong postgres credentials for testing
* feat(API): PRWLR-4002 implement merging mechanism for Scans.scanner_args
* feat(API): PRWLR-4002 implement merging mechanism for Scans.scanner_args
* feat(Backend): PRWLR-4002 add indexes to Scan model
* feat(Backend): PRWLR-4002 remove id index from Scan model (redundant)
* feat(API): PRWLR-4002 add datetime fields to Scan serializer
2024-08-30 14:32:13 -04:00
Víctor Fernández Poyatos
8f2bd45872
feat/PRWLR-4413 Add Postgres Enums for Django and update Provider.provider field ( #28 )
...
* feat(db): PRWLR-4413 add Provider Postgres Enum type for Django
* fix(Backend): PRWLR-4413 Fix initial migration for Providers
* feat(Backend): PRWLR-4413 add provider enum to Provider model
* fix(Backend, API): PRWLR-4413 fix ProviderEnum representation
* chore(Backend): PRWLR-4413 remove max_length constraint from provider enum
* chore(Backend): PRWLR-4413 refactor postgres enum creation to avoid boilerplate
* chore(Backend): PRWLR-4413 improve comments
2024-08-21 18:02:46 +02:00
Víctor Fernández Poyatos
4371ad1535
feat/PRWLR-3999 Implement providers endpoints ( #21 )
...
* feat(Backend): PRWLR-3989 add RLS to postgresql db and base models
* feat(API): PRWLR-3989 add TenantMiddleware
* chore(API, Backend): PRWLR-3989 create new db user without RLS bypass on migrations
* chore(Backend): PRWLR-3989 fix RLS bypasser for POST requests
* fix(Backend): PRWLR-3989 fix user permissions when migrating new models
* chore(Backend): PRWLR-3989 add testing view for RLS manual tests
* feat(API): PRWLR-3989 add tenant_id to API logging
* chore(API, Backend): PRWLR-3989 add TODOs
* test(API): PRWLR-3989 add new middleware unit tests
* chore(API): PRWLR-3989 refactor RLS code
* fix(tests): PRWLR-3989 fix testing db connector
* chore: PRWLR-3989 add references to JIRA tickets
* fix: PRWLR-3989 remove bypass logic and fix serializers
* fix: PRWLR-3989 improve drop SQL query for RLS models
* feat(Backend): PRWLR-3989 add specific permissions on each model
* fix(Backend): PRWLR-3989 fix database routing and grant select perms
* fix(test): PRWLR-3989 fix routing issues with unit tests
* chore: PRWLR-3989 remove references to JIRA tickets
* feat(Backend): PRWLR-3999 add Provider model
* feat: PRWLR-3999 add providers view logic
* fix: PRWLR-3999 fix unique index fields
* feat(API): PRWLR-3999 add custom exception handlers
* feat(API): PRWLR-3999 add /providers/{provider_id}/connection endpoint
* test(API): PRWLR-3999 add base unit tests for providers
* fix(API, Backend): PRWLR-3999 fix bugs after rebase
* chore(API, docker): PRWLR-3999 add dev feats for demo
* feat(API): PRWLR-3999 add drf-spectacular-jsonapi and improve docs
* test(API): PRWLR-3999 add providers unit tests
* chore(Backend): PRWLR-3989 adjust privileges for user on table tenant
* chore: PRWLR-3999 rename model custom validation error
* chore: PRWLR-3999 remove Test references
* chore: PRWLR-3999 update API v1 spec
* fix: PRWLR-3999 apply requested changes to filter and models
* feat: PRWLR-3999 add validation to PATCH /providers payload
* fix: PRWLR-3999 fix providers enum description
* chore: add more providers fixtures
* fix: PRWLR-3999 make providers.alias optional
2024-08-06 12:39:08 -04:00
Víctor Fernández Poyatos
e1a12bcb14
feat/PRWLR-3989 Add RLS full implementation ( #18 )
...
* feat(Backend): PRWLR-3989 add RLS to postgresql db and base models
* feat(API): PRWLR-3989 add TenantMiddleware
* chore(API, Backend): PRWLR-3989 create new db user without RLS bypass on migrations
* chore(Backend): PRWLR-3989 fix RLS bypasser for POST requests
* fix(Backend): PRWLR-3989 fix user permissions when migrating new models
* chore(Backend): PRWLR-3989 add testing view for RLS manual tests
* feat(API): PRWLR-3989 add tenant_id to API logging
* chore(API, Backend): PRWLR-3989 add TODOs
* test(API): PRWLR-3989 add new middleware unit tests
* chore(API): PRWLR-3989 refactor RLS code
* fix(tests): PRWLR-3989 fix testing db connector
* chore: PRWLR-3989 add references to JIRA tickets
* fix: PRWLR-3989 remove bypass logic and fix serializers
* fix: PRWLR-3989 improve drop SQL query for RLS models
* feat(Backend): PRWLR-3989 add specific permissions on each model
* fix(Backend): PRWLR-3989 fix database routing and grant select perms
* fix(test): PRWLR-3989 fix routing issues with unit tests
* chore: PRWLR-3989 remove references to JIRA tickets
* chore(Backend): PRWLR-3989 adjust privileges for user on table tenant
* chore: PRWLR-3989 add comments on migrations
2024-08-02 11:29:05 -04:00
Víctor Fernández Poyatos
7cb3a4e16e
feat/PRWLR-3996 implement /tenants endpoint and basic filters logic ( #14 )
...
* chore: PRWLR-3996 add drf-jsonapi library to project
* feat: PRWLR-3996 implement /tenants endpoint and basic JSON:API spec
* feat: PRWLR-3996 implement new middleware to ingest metadata on API responses
* chore: PRWLR-3996 annotate views with drf-spectacular
* feat: PRWLR-3996 add cache-control to tenants endpoints
* feat: PRWLR-3996 update views filters
* chore: PRWLR-3996 remove meta middleware in favour of meta fields in serializers
* test(API): PRWLR-3996 add unit tests for /tenants
* chore: PRWLR-3996 turn DEBUG on on devel environment
* test: PRWLR-3996 rework tenants unit tests
* chore: PRWLR-3996 refactor filter classes
* fix(Backend,API): PRWLR-3996 use correct filter backend
2024-07-22 16:06:57 -04:00
Jon Young and Víctor Fernández Poyatos
cd7d7c303a
PRWLR-3997: fix(Models): create BaseModel & TenantModel ( #13 )
...
* fix(Models): create BaseModel & TenantModel
* update description to match class
Co-authored-by: Víctor Fernández Poyatos <victor@prowler.com >
* fix(Tenants): rename TenantModel to Tenant
---------
Co-authored-by: Víctor Fernández Poyatos <victor@prowler.com >
2024-07-16 15:44:59 +02:00
Víctor Fernández Poyatos
3a502c5b3d
feat(Backend): PRWLR-3990 Add custom logging ( #6 )
...
* chore: PRWLR-4022 add django-cors-headers
* chore: PRWLR-4022 configure basic CORS
* feat: PRWLR-4022 add drf-spectacular and spec/docs endpoints
* build: PRWLR-4022 add basic docker development deployment
* chore: PRWLR-4022 update schema generation
* chore: PRWLR-4022 bump required Python version to 3.12
* feat: PRWLR-3990 add basic custom Django logging
* feat: PRWLR-3990 add tasks logger
* chore: PRWLR-3990 update API logging middleware to follow updated syntax
* docs: PRWLR-3990 add docstring for APILoggingMiddleware class
* chore: PRWLR-3990 add testing dependencies to poetry
* test(API): PRWLR-3990 add new middleware unit tests and base setup
* feat(API, Backend): PRWLR-3990 add NDJSONFormatter and transaction_id
* feat(API): PRWLR-3990 add dev/test model, views and urls
* chore(backend): PRWLR-3990 refactor logging settings and modules
* chore(backend): PRWLR-3990 add BackendLogger enum and refactor logging modules
* chore(backend): PRWLR-3990 refactor module importing
* style(backend): PRWLR-3990 remove extra endlines
* chore: PRWLR-3990 update poetry.lock
* chore: PRWLR-3990 run pre-commit
2024-07-05 10:13:04 -04:00
Jon Young
7e194407f6
chore(CI): PRWLR-3897: add Continuous Integration workflows ( #3 )
...
* chore(CI): import pre-commit-config.yaml from prowler-cloud/prowler
* chore(CI): import pre-commit-config.yaml from prowler-cloud/prowler
* chore(CI): add safety package to pre-commit
* chore(CI): use poetry run to access venv for local checks
* docs(repo): add community focused docs
* chore(GitHub): add ISSUE_TEMPLATEs
same as prowler-cloud/prowler repo
* chore(CI): add pull-request.yml workflow
runs on PRs and pushes to main
* chore(CI): add additional workflows
same as those on prowler-cloud/prowler
* fix(CI): use correct path
* fix(API): fix flake8 F401 failures
* fix(API, Backend): format with black
* fix( Backend): format with black
* fix(CI): use correct path
* fix(CI): move pyproject.toml
* fix(CI): simplify tools with ruff
* fix(CI): use ruff instead of flake8, black
* fix(CI): change ruff commands for GHA
* fix(CI): use correct ruff command name
* fix(Backend): ruff format
* fix(CI): ignore safety jinja2 vuln id 70612
and add mypy for future usage
* fix(CI): set file path for hadolint
* fix(CI): add dockle
* fix(CI): update dockle version
* fix(CI): fix hadolint errors
* fix(CI): add simple tests for CI
* fix(Docker): multi-stage docker build
* docs(README): update docs for poetry location
2024-07-05 09:01:02 -04:00
Víctor Fernández Poyatos
7ff6d860ce
feat(backend): PRWLR-4022 Basic Django and DRF setup and dev tools ( #4 )
...
* chore: PRWLR-4022 add django-cors-headers
* chore: PRWLR-4022 configure basic CORS
* feat: PRWLR-4022 add drf-spectacular and spec/docs endpoints
* build: PRWLR-4022 add basic docker development deployment
* chore: PRWLR-4022 update schema generation
* chore: PRWLR-4022 bump required Python version to 3.12
2024-07-03 09:34:29 -04:00