addType('appid', 'string'); $this->addType('name', 'string'); $this->addType('displayName', 'string'); $this->addType('mime', 'string'); $this->addType('permissions', 'string'); $this->addType('order', 'integer'); $this->addType('icon', 'string'); $this->addType('actionHandler', 'string'); $this->addType('version', 'string'); if (isset($params['id'])) { $this->setId($params['id']); } if (isset($params['appid'])) { $this->setAppid($params['appid']); } if (isset($params['name'])) { $this->setName($params['name']); } if (isset($params['display_name'])) { $this->setDisplayName($params['display_name']); } if (isset($params['mime'])) { $this->setMime($params['mime']); } if (isset($params['permissions'])) { $this->setPermissions($params['permissions']); } if (isset($params['order'])) { $this->setOrder($params['order']); } if (isset($params['icon'])) { $this->setIcon($params['icon']); } if (isset($params['action_handler'])) { $this->setActionHandler($params['action_handler']); } if (isset($params['version'])) { $this->setVersion($params['version']); } } public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'appid' => $this->getAppid(), 'name' => $this->getName(), 'display_name' => $this->getDisplayName(), 'mime' => $this->getMime(), 'permissions' => $this->getPermissions(), 'order' => $this->getOrder(), 'icon' => $this->getIcon(), 'action_handler' => $this->getActionHandler(), 'version' => $this->getVersion(), ]; } }