* webhook: refactor update.
This commit is contained in:
+10
-45
@@ -212,68 +212,33 @@ class webhookModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑webhook。
|
||||
* Update a webhook.
|
||||
*
|
||||
* @param int $id
|
||||
* @param object $webhook
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function update($id)
|
||||
public function update(int $id, object $webhook): bool
|
||||
{
|
||||
$webhook = fixer::input('post')
|
||||
->add('editedBy', $this->app->user->account)
|
||||
->add('editedDate', helper::now())
|
||||
->setDefault('products', '')
|
||||
->setDefault('executions', '')
|
||||
->join('products', ',')
|
||||
->join('executions', ',')
|
||||
->skipSpecial('url')
|
||||
->trim('agentId,appKey,appSecret,wechatAgentId,wechatCorpId,wechatCorpSecret,feishuAppId,feishuAppSecret')
|
||||
->remove('allParams, allActions')
|
||||
->get();
|
||||
$webhook->domain = trim($webhook->domain, '/');
|
||||
$webhook->params = $this->post->params ? implode(',', $this->post->params) : 'text';
|
||||
$webhook->editedBy = $this->app->user->account;
|
||||
$webhook->editedDate = helper::now();
|
||||
$webhook->domain = trim($webhook->domain, '/');
|
||||
$webhook->params = $this->post->params ? implode(',', $this->post->params) : 'text';
|
||||
if(!str_contains($webhook->params, 'text')) $webhook->params .= ',text';
|
||||
|
||||
if($webhook->type == 'dinguser')
|
||||
{
|
||||
$webhook->secret = array();
|
||||
$webhook->secret['agentId'] = $webhook->agentId;
|
||||
$webhook->secret['appKey'] = $webhook->appKey;
|
||||
$webhook->secret['appSecret'] = $webhook->appSecret;
|
||||
|
||||
if(empty($webhook->agentId)) dao::$errors['agentId'] = sprintf($this->lang->error->notempty, $this->lang->webhook->dingAgentId);
|
||||
if(empty($webhook->appKey)) dao::$errors['appKey'] = sprintf($this->lang->error->notempty, $this->lang->webhook->dingAppKey);
|
||||
if(empty($webhook->appSecret)) dao::$errors['appSecret'] = sprintf($this->lang->error->notempty, $this->lang->webhook->dingAppSecret);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$webhook->secret = json_encode($webhook->secret);
|
||||
$webhook = $this->webhookTao->getDingdingSecret($webhook);
|
||||
}
|
||||
elseif($webhook->type == 'wechatuser')
|
||||
{
|
||||
$webhook->secret = array();
|
||||
$webhook->secret['agentId'] = $webhook->wechatAgentId;
|
||||
$webhook->secret['appKey'] = $webhook->wechatCorpId;
|
||||
$webhook->secret['appSecret'] = $webhook->wechatCorpSecret;
|
||||
|
||||
if(empty($webhook->wechatCorpId)) dao::$errors['wechatCorpId'] = sprintf($this->lang->error->notempty, $this->lang->webhook->wechatCorpId);
|
||||
if(empty($webhook->wechatCorpSecret)) dao::$errors['wechatCorpSecret'] = sprintf($this->lang->error->notempty, $this->lang->webhook->wechatCorpSecret);
|
||||
if(empty($webhook->wechatAgentId)) dao::$errors['wechatAgentId'] = sprintf($this->lang->error->notempty, $this->lang->webhook->wechatAgentId);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$webhook->secret = json_encode($webhook->secret);
|
||||
$webhook = $this->webhookTao->getWeixinSecret($webhook);
|
||||
}
|
||||
elseif($webhook->type == 'feishuuser')
|
||||
{
|
||||
$webhook->secret = array();
|
||||
$webhook->secret['appId'] = $webhook->feishuAppId;
|
||||
$webhook->secret['appSecret'] = $webhook->feishuAppSecret;
|
||||
|
||||
if(empty($webhook->feishuAppId)) dao::$errors['feishuAppId'] = sprintf($this->lang->error->notempty, $this->lang->webhook->feishuAppId);
|
||||
if(empty($webhook->feishuAppSecret)) dao::$errors['feishuAppSecret'] = sprintf($this->lang->error->notempty, $this->lang->webhook->feishuAppSecret);
|
||||
if(dao::isError()) return false;
|
||||
|
||||
$webhook->secret = json_encode($webhook->secret);
|
||||
$webhook = $this->webhookTao->getFeishuSecret($webhook);
|
||||
}
|
||||
|
||||
$this->dao->update(TABLE_WEBHOOK)->data($webhook, 'agentId,appKey,appSecret,wechatCorpId,wechatCorpSecret,wechatAgentId,feishuAppId,feishuAppSecret')
|
||||
|
||||
Reference in New Issue
Block a user