@@ -653,9 +653,81 @@ public function getPegawaiInfoV2FromUserId(ManagerRegistry $doctrine, Request $r
653653 ]
654654 ], 200 );
655655 }
656- foreach ($ getJabatanPegawai as $ jabatanPegawai ) {
657- $ levelUnit = $ jabatanPegawai ->getUnit ()->getLevel ();
658656
657+ $ output = $ this ->getArrayPegawaiInfo ($ doctrine , $ getJabatanPegawai );
658+
659+ return $ this ->json ([
660+ 'status ' => 'success ' ,
661+ 'code ' => 'DATA_FOUND ' ,
662+ 'message ' => 'Data ditemukan ' ,
663+ 'data ' => $ output
664+ ]);
665+ }
666+
667+ /**
668+ * @param ManagerRegistry $doctrine
669+ * @param Request $request
670+ * @return JsonResponse
671+ * @throws JsonException
672+ */
673+ #[Route('/api/pegawais/v3/info/from-iam-token ' , methods: ['POST ' ])]
674+ public function getPegawaiInfoV3FromUserId (ManagerRegistry $ doctrine , Request $ request ): JsonResponse
675+ {
676+ $ user = $ this ->getUser ();
677+ $ userNya = $ doctrine
678+ ->getRepository (User::class)
679+ ->findOneBy (['id ' => $ user ->getId ()]);
680+
681+ // If no data found, return
682+ if (null === $ userNya ) {
683+ return $ this ->json ([
684+ 'status ' => 'fail ' ,
685+ 'code ' => 'DATA_NOT_FOUND ' ,
686+ 'message ' => 'There is no User found with the associated id. ' ,
687+ 'data ' => [
688+ 'additionalInfo ' => $ userNya
689+ ]
690+ ], 200 );
691+ }
692+
693+ $ output = [
694+ 'pegawaiId ' => $ userNya ->getPegawai ()->getId (),
695+ 'nip9 ' => $ userNya ->getPegawai ()->getNip9 (),
696+ 'nip18 ' => $ userNya ->getPegawai ()->getNip18 (),
697+ 'nama ' => $ userNya ->getPegawai ()->getNama (),
698+ 'pangkat ' => $ userNya ->getPegawai ()->getPangkat (),
699+ 'username ' => $ userNya ->getUsername ()
700+ ];
701+
702+ $ getJabatanPegawai = $ userNya ->getPegawai ()->getJabatanPegawais ();
703+
704+ // If no data found, return
705+ if (null === $ getJabatanPegawai ) {
706+ return $ this ->json ([
707+ 'status ' => 'fail ' ,
708+ 'code ' => 'DATA_NOT_FOUND ' ,
709+ 'message ' => 'There is no Pegawai found with the associated id. ' ,
710+ 'data ' => [
711+ 'additionalInfo ' => $ userNya
712+ ]
713+ ], 200 );
714+ }
715+
716+ $ output = $ this ->getArrayPegawaiInfo ($ doctrine , $ getJabatanPegawai );
717+
718+ return $ this ->json ([
719+ 'status ' => 'success ' ,
720+ 'code ' => 'DATA_FOUND ' ,
721+ 'message ' => 'Data ditemukan ' ,
722+ 'data ' => $ output
723+ ]);
724+ }
725+
726+ private function getArrayPegawaiInfo ($ doctrine , $ jabatanPegawais ): array
727+ {
728+ foreach ($ jabatanPegawais as $ jabatanPegawai ) {
729+ //get level unit
730+ $ levelUnit = $ jabatanPegawai ->getUnit ()->getLevel ();
659731 //get role by jabatan pegawai object
660732 $ rolesJabatan = RoleHelper::getPlainRolesNameFromJabatanPegawai (
661733 $ doctrine ->getManager (),
@@ -748,12 +820,7 @@ public function getPegawaiInfoV2FromUserId(ManagerRegistry $doctrine, Request $r
748820 $ output ['jabatanPegawai ' ][] = $ jp ;
749821 }
750822
751- return $ this ->json ([
752- 'status ' => 'success ' ,
753- 'code ' => 'DATA_FOUND ' ,
754- 'message ' => 'Data ditemukan ' ,
755- 'data ' => $ output
756- ]);
823+ return $ output ;
757824 }
758825
759826 private function getUnitEsArray ($ unit , $ level ): array {
0 commit comments