Skip to content

DB interface to allow multiple implementations of the modules. Personality Interface.#1802

Merged
thesocialdev merged 13 commits intostagefrom
feature/multi-db-nestjs-personality
Jan 30, 2025
Merged

DB interface to allow multiple implementations of the modules. Personality Interface.#1802
thesocialdev merged 13 commits intostagefrom
feature/multi-db-nestjs-personality

Conversation

@caneppelevitor
Copy link
Collaborator

Description

Summary of the changes and the related issue. List any dependencies that are required for this change.

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Existing feature enhancement (non-breaking change which modifies existing functionality)

Testing

Provide relevant testing instructions. What scenarios are impacted? What build may be necessary to test this change?

Developer Checklist

General

  • Code is appropriately commented, particularly in hard-to-understand areas
  • Repository documentation has been updated (Readme.md) with additional steps required for a local environment setup.
  • No console.log or related logging is added.
  • No code is repeated/duplicated in violation of DRY. The exception to this is for new (MVP/Prototype) functionality where the abstraction layer may not be clear (comments should be added to explain the violation of DRY in these scenarios).
  • Documented with TSDoc all library and controller new functions

Frontend Changes

  • No new styling is added through CSS files (Unless it's a bugfix/hotfix)
  • All types are added correctly

Backend Changes

  • All endpoints are appropriately secured with Middleware authentication
  • All new endpoints have a interface schema defined

Tests

  • All existing unit and end to end tests pass across all services
  • Unit and end to end tests have been added to ensure backend APIs behave as expected

Merge Request Review Checklist

  • An issue is linked to this PR and these changes meet the requirements outlined in the linked issue(s)
  • High risk and core workflows have been tested and verified in a local environment.
  • Enhancements or opportunities to improve performance, stability, security or code readability have been noted and documented in JIRA issues if not being addressed.
  • Any dependent changes have been merged and published in downstream modules
  • Changes to multiple services can be deployed in parallel and independently. If not, changes should be broken out into separate merge requests and deployed in order.

- Adapted the app module to accept multi-DB logic
- Created a new config variable and config file to set up DB type
- Adapted personality files to support multi-DB
- Created a personality provider to manage service selection
- Created interfaces (personality and service) using Zod
- Created a mongo folder to hold files for MongoDB logic
- Fixed a spelling error in "skipped"
- Removed unused env variable
- Removed ConfigModule and ThrottlerModule from if
- Exported in the declaration of interfaces
- Properly organized personality module
- Removed forgotten test lines on personality service
- Removed duplication on stats service
- Removed TODOS
@sonarqubecloud
Copy link

@thesocialdev thesocialdev merged commit 454a14e into stage Jan 30, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: QA

Development

Successfully merging this pull request may close these issues.

2 participants