33use App \Enums \BuildPackTypes ;
44use App \Enums \RedirectTypes ;
55use App \Enums \StaticImageTypes ;
6+ use App \Models \Environment ;
67use App \Rules \ValidGitBranch ;
78use App \Support \ValidationPatterns ;
89use Illuminate \Database \Eloquent \Collection ;
910use Illuminate \Database \Eloquent \Model ;
11+ use Illuminate \Http \JsonResponse ;
1012use Illuminate \Http \Request ;
1113use Illuminate \Support \Facades \Gate ;
14+ use Illuminate \Support \Facades \Validator ;
1215use Illuminate \Validation \Rule ;
1316
1417function getTeamIdFromToken ()
@@ -173,10 +176,10 @@ function sharedDataApplications()
173176 ];
174177}
175178
176- function moveResourceToEnvironment (Request $ request , $ resource , string $ resourceType , int $ teamId ): \ Illuminate \ Http \ JsonResponse
179+ function moveResourceToEnvironment (Request $ request , $ resource , string $ resourceType , int $ teamId ): JsonResponse
177180{
178181
179- $ validator = \ Illuminate \ Support \ Facades \ Validator::make ($ request ->all (), [
182+ $ validator = Validator::make ($ request ->all (), [
180183 'environment_uuid ' => 'required|string ' ,
181184 ]);
182185
@@ -195,7 +198,7 @@ function moveResourceToEnvironment(Request $request, $resource, string $resource
195198 ], 422 );
196199 }
197200
198- $ newEnvironment = \ App \ Models \ Environment::ownedByCurrentTeamAPI ($ teamId )
201+ $ newEnvironment = Environment::ownedByCurrentTeamAPI ($ teamId )
199202 ->whereUuid ($ request ->environment_uuid )
200203 ->first ();
201204
@@ -209,8 +212,20 @@ function moveResourceToEnvironment(Request $request, $resource, string $resource
209212 return response ()->json (['message ' => "$ resourceType is already in this environment. " ], 400 );
210213 }
211214
215+ $ oldEnvironment = $ resource ->environment ()->with ('project ' )->first ();
216+
212217 $ resource ->update (['environment_id ' => $ newEnvironment ->id ]);
213218
219+ auditLog ('api. ' .str ($ resourceType )->lower ()->value ().'.moved ' , [
220+ 'team_id ' => $ teamId ,
221+ 'resource_uuid ' => $ resource ->uuid ,
222+ 'resource_type ' => str ($ resourceType )->lower ()->value (),
223+ 'from_project_uuid ' => $ oldEnvironment ?->project?->uuid,
224+ 'from_environment_uuid ' => $ oldEnvironment ?->uuid,
225+ 'to_project_uuid ' => $ newEnvironment ->project ->uuid ,
226+ 'to_environment_uuid ' => $ newEnvironment ->uuid ,
227+ ]);
228+
214229 return response ()->json ([
215230 'message ' => "$ resourceType moved successfully. " ,
216231 'uuid ' => $ resource ->uuid ,
0 commit comments