-
Notifications
You must be signed in to change notification settings - Fork 0
[SSF-108] Pantry food request management backend updates #82
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
base: main
Are you sure you want to change the base?
Conversation
dburkhart07
left a comment
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.
Few initial things, but looks pretty good so far
…-request-management-backend-route
Yurika-Kan
left a comment
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.
left a nit comment but approving! looks good awesome job:)
| requestId: number, | ||
| ): Promise<OrderDetails[]> { | ||
| return this.axiosInstance | ||
| .get(`api/requests/get-all-order-details/${requestId}`) |
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.
nit but let's make the routes uniform to have the leading "/" before api
dburkhart07
left a comment
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.
Few small things, also see slack comments.
| import { FoodRequest } from './request.entity'; | ||
| import { validateId } from '../utils/validation.utils'; | ||
| import { RequestSize } from './types'; | ||
| import { OrderStatus } from '../orders/types'; |
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.
Can we removed this, since its unused?
| }, | ||
| }); | ||
|
|
||
| if (!orders.length) { |
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 think we should check to make sure orders exists first here, and then check the length. I think, if it also doesnt exist, perhaps we should throw an error instead that there are no orders associated with this request.
| <Dialog.Content maxW={650}> | ||
| <Dialog.Header pb={0} mt={2}> | ||
| <Dialog.Title fontSize="lg" fontWeight={700} fontFamily="inter"> | ||
| {readOnly |
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 wonder if we need these readOnly attributes. Seems like every single use of this puts readOnly to false, so none of this info is actually being processed.
ℹ️ Issue
Closes https://vidushimisra.atlassian.net/browse/SSF-108
📝 Description
In terms of code changes it was mainly defining the new backend route and writing tests for that. The backend route I added is:
@get('/get-all-order-details/:requestId'). I also had to do some refactoring to transition from one associated order to a list of them.
Also, right now the request management page is outdated. For one, it is still associating one order with one request and for another, request management and order management is now being split into to pages. I had to refactor this outdated page for the updated request type and I chose to simply use the first order in the orders list (orders[0]) and have everything else be the same. Thus, this page does not work as intended but it can still be loaded. This change is just a placeholder for now, the new design pages will take over. The associated route is: request-form/:pantryId
✔️ Verification
I used swagger to verify my backend route worked as expected and I wrote some jest tests to ensure this. I added controller and service tests for the @get('/get-all-order-details/:requestId') route.
🏕️ (Optional) Future Work / Notes
The request form frontend is outdated and my refactoring of it to account for the orders list is just a placeholder. This will be overwritten in the future.