55 getSubmittedResponseDTO ,
66 resumeResponseDTO ,
77} from "../../types/form-response" ;
8- import { requireAuth } from "../auth/requireAuth" ;
8+ import { optionalAuth , requireAuth } from "../auth/requireAuth" ;
99import {
1010 getAllReceivedResponses ,
1111 getAllUserResponses ,
@@ -15,12 +15,19 @@ import {
1515 submitResponse ,
1616} from "./controller" ;
1717
18- export const formResponseRoutes = new Elysia ( { prefix : "/responses" } )
19- . use ( requireAuth )
18+ const publicResponseRoutes = new Elysia ( )
19+ . use ( optionalAuth )
2020 . post ( "/submit/:formId" , submitResponse , formResponseDTO )
21- . post ( "/draft/:formId" , submitResponse , formResponseDTO )
21+ . post ( "/draft/:formId" , submitResponse , formResponseDTO ) ;
22+
23+ const protectedResponseRoutes = new Elysia ( )
24+ . use ( requireAuth )
2225 . put ( "/resume/:responseId" , resumeResponse , resumeResponseDTO )
2326 . get ( "/my" , getAllUserResponses )
2427 . get ( "/received" , getAllReceivedResponses )
2528 . get ( "/:formId" , getResponseForFormOwner , formResponseForFormOwnerDTO )
2629 . get ( "/user/:formId" , getSubmittedResponse , getSubmittedResponseDTO ) ;
30+
31+ export const formResponseRoutes = new Elysia ( { prefix : "/responses" } )
32+ . use ( publicResponseRoutes )
33+ . use ( protectedResponseRoutes ) ;
0 commit comments