protected function updateExtensions(Package &$model, KeekoPackageSchema $pkg)
 {
     // remove all existing extensions from this package first
     ExtensionQuery::create()->filterByPackage($model)->delete();
     // add them one by one
     foreach ($pkg->getAllExtensions() as $key => $exts) {
         foreach ($exts as $data) {
             $ext = new Extension();
             $ext->setKey($key);
             $ext->setData(Json::encode($data, Json::UNESCAPED_SLASHES));
             $ext->setPackage($model);
             $ext->save();
         }
     }
 }
示例#2
0
 public function toArray()
 {
     $arr = parent::toArray();
     if ($this->actions->size() > 0) {
         $actions = [];
         foreach ($this->actions as $action) {
             $actions[$action->getName()] = $action->toArray();
         }
         $arr['actions'] = $actions;
     }
     // 		if ($this->commands->size() > 0) {
     // 			$commands = [];
     // 			foreach ($this->commands as $command) {
     // 				$commands[$command->getName()] = $command->toArray();
     // 			}
     // 			$arr['commands'] = $commands;
     // 		}
     return $arr;
 }