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
+
1
6
/**
2
7
* Calculates the new deadline based on the current date, the old end date, and the additional duration in milliseconds.
3
8
*
@@ -31,4 +36,64 @@ export const convertDateStringToMilliseconds = (date: string): { isDate: boolean
31
36
isDate : true ,
32
37
milliseconds,
33
38
} ;
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 ;
34
99
} ;
0 commit comments