-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup typeorm #7
base: main
Are you sure you want to change the base?
Conversation
Thanks for contributing! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple questions about how stuff is gonna work
import { ApplicationStatus, UserAccessType } from '../types/Enums'; | ||
|
||
@Entity() | ||
export class UserModel { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason you aren't doing the extends BaseEntity with the Model? How are you planning to handle create/merge functions without it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I found that there were two types of patterns we mixed in the membership portal for querying: Active Record, where the database query methods are part of the Model (in TypeORM this requires extending BaseEntity), and Data Mapper, where the query methods are part of a separate repository. I thought it was unnecessary to include both as all the functions are the same, so creating and merging would be done by accessing the repository instead.
private transactionsManager: TransactionsManager; | ||
|
||
constructor(transactionsManager: TransactionsManager) { | ||
this.transactionsManager = transactionsManager; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will all the services share a TransactionsManager? Or is it possible to put the DataSource into the constructor and use a new transactionsManager which would be a little closer to the membership portal currently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, all services will be injected with the same TransactionsManager. It is also possible to take the DataSource as an argument in the constructor and create a new TransactionsManager each time. I don't really have a strong opinion on this so if you think it would be better to match the membership portal I can change it.
Info
Closes #6.
Description
What changes did you make? List all distinct problems that this PR addresses. Explain any relevant
motivation or context.
[description]
Changes
Type of Change
expected)
workflows, linting, etc.)
If you've selected Patch, Minor, or Major as your change type, make sure to bump the version before merging in
package.json
!Testing
I have tested that my changes fully resolve the linked issue ...
Checklist
package.json
file.Screenshots
Please include a screenshot of your Postman testing passing successfully.