@@ -242,16 +242,22 @@ public function updateModule($data)
242242 $ this ->addResponse ('Error updating Module ' , 1 );
243243 }
244244
245- // public function removeModule($data)
246- // {
247- // $module = $this->getById($data['id']);
245+ public function removeModule ($ data )
246+ {
247+ if ($ data ['module_type ' ] !== 'core ' ) {
248+ $ module = $ this ->modules ->{$ data ['module_type ' ]}->getById ($ data ['id ' ]);
249+ } else {
250+ $ this ->addResponse ('Cannot remove Core!. ' , 1 );
248251
249- // if ($this->remove($module['id'])) {
250- // $this->addResponse('Removed module ' . $module['name']);
251- // } else {
252- // $this->addResponse('Error removing module.', 1);
253- // }
254- // }
252+ return false ;
253+ }
254+
255+ if ($ this ->modules ->{$ data ['module_type ' ]}->remove ($ module ['id ' ])) {
256+ $ this ->addResponse ('Removed module ' . $ module ['display_name ' ] . ' from DB. Remove files manually... ' );
257+ } else {
258+ $ this ->addResponse ('Error removing module. ' , 1 );
259+ }
260+ }
255261
256262 protected function checkAppType ($ data )
257263 {
@@ -401,7 +407,7 @@ protected function checkModuleTypeAndCategory($data)
401407 }
402408
403409 if ($ data ['module_type ' ] === 'packages ' ) {//Possible error can happen when cloning core modules.
404- if ($ data ['category ' ] === 'basepackages ' || $ data ['category ' ] === 'providers ' ) {
410+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) || $ data ['category ' ] === 'providers ' ) {
405411 $ data ['app_type ' ] = 'core ' ;
406412 }
407413 }
@@ -623,10 +629,10 @@ protected function getModuleJsonFileLocation(&$data)
623629 $ moduleLocation = 'apps/ ' . ucfirst ($ data ['app_type ' ]) . '/Components/ ' ;
624630 } else if ($ data ['module_type ' ] === 'packages ' ) {
625631 if ($ data ['app_type ' ] === 'core ' &&
626- ($ data ['category ' ] === 'basepackages ' ||
632+ (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ||
627633 $ data ['category ' ] === 'providers ' )
628634 ) {
629- if ($ data ['category ' ] === 'basepackages ' ) {
635+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
630636 $ moduleLocation = 'system/Base/Installer/Packages/Setup/Register/Modules/Packages/Basepackages/ ' ;
631637 } else if ($ data ['category ' ] === 'providers ' ) {
632638 $ moduleLocation = 'system/Base/Installer/Packages/Setup/Register/Modules/Packages/Providers/ ' ;
@@ -641,8 +647,8 @@ protected function getModuleJsonFileLocation(&$data)
641647 }
642648
643649 if ($ data ['module_type ' ] === 'packages ' &&
644- ($ data ['category ' ] === 'basepackages ' ||
645- $ data ['category ' ] === 'providers ' )
650+ (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ||
651+ $ data ['category ' ] === 'providers ' )
646652 ) {
647653 return
648654 $ moduleLocation .
@@ -709,11 +715,13 @@ protected function getNewFilesLocation($data, $public = false)
709715 $ moduleLocation = 'apps/ ' . ucfirst ($ data ['app_type ' ]) . '/Components/ ' ;
710716 } else if ($ data ['module_type ' ] === 'packages ' ) {
711717 if ($ data ['app_type ' ] === 'core ' &&
712- ($ data ['category ' ] === 'basepackages ' ||
718+ (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ||
713719 $ data ['category ' ] === 'providers ' )
714720 ) {
715- if ($ data ['category ' ] === 'basepackages ' ) {
721+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
716722 $ moduleLocation = 'system/Base/Providers/BasepackagesServiceProvider/Packages/ ' ;
723+ } else if ($ data ['category ' ] === 'basepackages_apis ' ) {
724+ $ moduleLocation = 'system/Base/Providers/BasepackagesServiceProvider/Packages/ApiClientServices/Apis/ ' ;
717725 } else if ($ data ['category ' ] === 'providers ' ) {
718726 $ moduleLocation = 'system/Base/Providers/ ' ;
719727 }
@@ -733,10 +741,9 @@ protected function getNewFilesLocation($data, $public = false)
733741 }
734742
735743 if ($ data ['module_type ' ] === 'packages ' &&
736- ($ data ['category ' ] === 'basepackages ' ||
737- $ data ['category ' ] === 'providers ' )
744+ (str_starts_with ($ data ['category ' ], 'basepackages ' ) || $ data ['category ' ] === 'providers ' )
738745 ) {
739- if ($ data ['category ' ] === 'basepackages ' ) {
746+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
740747 $ pathArr = preg_split ('/(?=[A-Z])/ ' , $ data ['name ' ], -1 , PREG_SPLIT_NO_EMPTY );
741748
742749 unset($ pathArr [$ this ->helper ->lastKey ($ pathArr )]);
@@ -883,13 +890,15 @@ protected function generateNewPackagesFiles($moduleFilesLocation, $data)
883890 $ file = str_replace ('"PACKAGENAME" ' , $ data ['name ' ], $ file );
884891 $ file = str_replace ('"PACKAGENAMELC" ' , strtolower ($ data ['name ' ]), $ file );
885892
886- if ($ data ['category ' ] === 'basepackages ' ) {
893+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
887894 $ fileName = $ moduleFilesLocation . $ this ->helper ->last (preg_split ('/(?=[A-Z])/ ' , $ data ['name ' ], -1 , PREG_SPLIT_NO_EMPTY )) . '.php ' ;
888895 } else {
889896 $ fileName = $ moduleFilesLocation . $ data ['name ' ] . '.php ' ;
890897 }
898+
891899 try {
892900 $ this ->localContent ->write ($ fileName , $ file );
901+
893902 array_push ($ this ->newFiles , $ fileName );
894903 } catch (FilesystemException | UnableToWriteFile $ exception ) {
895904 $ this ->addResponse ('Unable to write module component file ' );
@@ -912,7 +921,8 @@ protected function generateNewPackagesInstallFiles($data, $moduleFilesLocation)
912921 return false ;
913922 }
914923
915- if ($ data ['category ' ] === 'basepackages ' || $ data ['category ' ] === 'providers ' ) {
924+ if (str_starts_with ($ data ['category ' ], 'basepackages ' ) || $ data ['category ' ] === 'providers ' ) {
925+ // str_starts_with($data['category'], 'basepackages')
916926 $ moduleFilesLocation = $ this ->getModuleJsonFileLocation ($ data );
917927 $ moduleFilesLocation = str_replace ('Register/Modules/Packages ' , 'Schema ' , $ moduleFilesLocation );
918928 $ moduleFilesLocation = rtrim (str_replace ('package.json ' , '' , $ moduleFilesLocation ), '/ ' );
@@ -949,7 +959,7 @@ protected function generateNewPackagesInstallFiles($data, $moduleFilesLocation)
949959 return false ;
950960 }
951961
952- if ($ data ['category ' ] !== ' basepackages ' && $ data ['category ' ] !== 'providers ' ) {
962+ if ($ data ['category ' ] !== str_starts_with ( $ data [ ' category ' ], ' basepackages ') && $ data ['category ' ] !== 'providers ' ) {
953963 $ moduleFilesLocation = str_replace ('/Schema ' , '' , ucfirst ($ moduleFilesLocation ));
954964 $ fileName = $ moduleFilesLocation . '/ ' . 'Package.php ' ;
955965 $ moduleFilesLocationClass = str_replace ('/ ' , '\\' , ucfirst ($ moduleFilesLocation ));
@@ -982,10 +992,10 @@ protected function generateNewPackagesModelFiles($data, $moduleFilesLocation)
982992 return false ;
983993 }
984994
985- if ($ data ['category ' ] === 'basepackages ' || $ data ['category ' ] === 'providers ' ) {
995+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) || $ data ['category ' ] === 'providers ' ) {
986996 $ nameArr = preg_split ('/(?=[A-Z])/ ' , $ data ['name ' ], -1 , PREG_SPLIT_NO_EMPTY );
987997
988- if ($ data ['category ' ] === 'basepackages ' ) {
998+ if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
989999 $ moduleFilesLocation = 'system/Base/Providers/BasepackagesServiceProvider/Packages/Model/ ' ;
9901000
9911001 if (count ($ nameArr ) === 1 ) {
@@ -2041,7 +2051,7 @@ public function generateModuleClass($data)
20412051
20422052 if ($ data ['category ' ] === 'providers ' ) {
20432053 $ class .= 'System\Base\Providers \\' . ucfirst ($ data ['name ' ]) . 'ServiceProvider ' . '\\' . ucfirst ($ data ['name ' ]);
2044- } else if ($ data ['category ' ] === 'basepackages ' ) {
2054+ } else if (str_starts_with ( $ data ['category ' ], 'basepackages ' ) ) {
20452055 $ class .= 'System\Base\Providers\BasepackagesServiceProvider\Packages \\' . ucfirst ($ data ['name ' ]);
20462056 } else {
20472057 $ name = lcfirst ($ data ['name ' ]);
@@ -2207,11 +2217,14 @@ public function getAvailableApis($getAll = false, $returnApis = true)
22072217 foreach ($ apisArr as $ api ) {
22082218 if ($ api ['category ' ] === 'repos ' ) {
22092219 $ useApi = $ this ->basepackages ->apiClientServices ->useApi ($ api ['id ' ], true );
2210- $ apiConfig = $ useApi ->getApiConfig ();
22112220
2212- $ apis [$ api ['id ' ]]['id ' ] = $ apiConfig ['id ' ];
2213- $ apis [$ api ['id ' ]]['name ' ] = $ apiConfig ['name ' ];
2214- $ apis [$ api ['id ' ]]['data ' ]['url ' ] = $ apiConfig ['repo_url ' ];
2221+ if ($ useApi ) {
2222+ $ apiConfig = $ useApi ->getApiConfig ();
2223+
2224+ $ apis [$ api ['id ' ]]['id ' ] = $ apiConfig ['id ' ];
2225+ $ apis [$ api ['id ' ]]['name ' ] = $ apiConfig ['name ' ];
2226+ $ apis [$ api ['id ' ]]['data ' ]['url ' ] = $ apiConfig ['repo_url ' ];
2227+ }
22152228 }
22162229 }
22172230 }
0 commit comments