Code Duplication    Length = 23-24 lines in 2 locations

src/actions/DeleteRelationshipAction.php 1 location

@@ 37-60 (lines=24) @@
34
     * @throws NotFoundHttpException
35
     * @throws \yii\base\InvalidConfigException
36
     */
37
    public function run($id, $name)
38
    {
39
        /** @var BaseActiveRecord $model */
40
        $model = $this->findModel($id);
41
42
        if (!$related = $model->getRelation($name, false)) {
43
            throw new NotFoundHttpException('Relationship does not exist');
44
        }
45
46
        if (!$related->multiple) {
47
            throw new ForbiddenHttpException('Unsupported request to update relationship');
48
        }
49
50
        if ($this->checkAccess) {
51
            call_user_func($this->checkAccess, $this->id, $model, $name);
52
        }
53
54
        $this->unlinkRelationships($model, [$name => Yii::$app->getRequest()->getBodyParams()]);
55
56
57
        return new ActiveDataProvider([
58
            'query' => $related
59
        ]);
60
    }
61
62
    /**
63
     * Removes the relationships from primary model.

src/actions/UpdateRelationshipAction.php 1 location

@@ 28-50 (lines=23) @@
25
     * @throws BadRequestHttpException
26
     * @throws NotFoundHttpException
27
     */
28
    public function run($id, $name)
29
    {
30
        /** @var BaseActiveRecord $model */
31
        $model = $this->findModel($id);
32
33
        if (!$related = $model->getRelation($name, false)) {
34
            throw new NotFoundHttpException('Relationship does not exist');
35
        }
36
37
        if ($this->checkAccess) {
38
            call_user_func($this->checkAccess, $this->id, $model, $name);
39
        }
40
41
        $this->linkRelationships($model, [$name => Yii::$app->getRequest()->getBodyParams()]);
42
43
        if ($related->multiple) {
44
            return new ActiveDataProvider([
45
                'query' => $related
46
            ]);
47
        } else {
48
            return $related->one();
49
        }
50
    }
51
}