/** * @param string $clientIdentifier * @param string $scope |null * @return boolean */ public function removeClientScope($clientIdentifier, $scope = null) { $condition = ['client_id' => $clientIdentifier]; if ($scope) { $condition['scope_id'] = $scope; } $scopes = ClientScopesModel::findAll($condition); $db = CommonModel::getDb(); $transaction = $db->beginTransaction(); try { foreach ($scopes as $scope) { $scope->delete(); } $transaction->commit(); return true; } catch (\Exception $e) { $transaction->rollBack(); return false; } }
/** * @param $clientId * @param ActiveQuery|null $query * @return ActiveQuery */ public static function findByClientId($clientId, ActiveQuery $query = null) { $query = $query ?: static::find(); return $query->andWhere(['id' => ClientScopesModel::findByClientId($clientId)->select(['scope_id'])]); }