1+ import { ERROR_WHILE_FETCHING_REQUEST } from "../constants/requests" ;
2+ import { fetchUser } from "../models/users" ;
3+ import { userData } from "../types/global" ;
4+ import { OldOooRequest , OooStatusRequest } from "../types/oooRequest" ;
5+
16/**
27 * Calculates the new deadline based on the current date, the old end date, and the additional duration in milliseconds.
38 *
@@ -31,4 +36,64 @@ export const convertDateStringToMilliseconds = (date: string): { isDate: boolean
3136 isDate : true ,
3237 milliseconds,
3338 } ;
39+ } ;
40+
41+ export const transformGetOooRequest = async ( dev , allRequests ) => {
42+ const oooRequests = [ ] ;
43+
44+ if ( dev ) {
45+ for ( const request of allRequests ) {
46+ if ( request . status ) {
47+ const modifiedRequest : OldOooRequest = {
48+ id : request . id ,
49+ type : request . type ,
50+ from : request . from ,
51+ until : request . until ,
52+ message : request . reason ,
53+ state : request . status ,
54+ lastModifiedBy : request . lastModifiedBy ?? "" ,
55+ requestedBy : request . userId ,
56+ reason : request . comment ?? "" ,
57+ createdAt : request . createdAt ,
58+ updatedAt : request . updatedAt
59+ } ;
60+ oooRequests . push ( modifiedRequest ) ;
61+ } else {
62+ oooRequests . push ( request ) ;
63+ }
64+ }
65+ } else {
66+ for ( const request of allRequests ) {
67+ if ( request . state ) {
68+ try {
69+ const userResponse : any = await fetchUser ( { userId : request . requestedBy } ) ;
70+ const username = userResponse . user . username ;
71+
72+ const modifiedRequest : OooStatusRequest = {
73+ id : request . id ,
74+ type : request . type ,
75+ from : request . from ,
76+ until : request . until ,
77+ reason : request . message ,
78+ status : request . state ,
79+ lastModifiedBy : request . lastModifiedBy ?? null ,
80+ requestedBy : username ,
81+ comment : request . reason ?? null ,
82+ createdAt : request . createdAt ,
83+ updatedAt : request . updatedAt ,
84+ userId : request . requestedBy
85+ } ;
86+
87+ oooRequests . push ( modifiedRequest ) ;
88+ } catch ( error ) {
89+ logger . error ( ERROR_WHILE_FETCHING_REQUEST , error ) ;
90+ throw error ;
91+ }
92+ } else {
93+ oooRequests . push ( request ) ;
94+ }
95+ }
96+ }
97+
98+ return oooRequests ;
3499} ;
0 commit comments