Code Duplication    Length = 18-19 lines in 2 locations

app/Models/Validators/DiscussConversationValidator.php 2 locations

@@ 19-36 (lines=18) @@
16
     *
17
     * @return \Illuminate\Validation\Validator
18
     */
19
    public static function create(array $data): Validator
20
    {
21
        $categories = DiscussCategory::pluckLocked('id');
22
23
        $rules = [
24
            'title' => 'required|min:5',
25
            'category_id' => [
26
                'required',
27
                'integer',
28
                Rule::in($categories->toArray())
29
            ],
30
            'slug' => 'unique:discuss_conversations',
31
            'content' => 'required|min:10'
32
        ];
33
        $data['slug'] = Slug::fromTitle($data['title']);
34
35
        return FacadeValidator::make($data, $rules);
36
    }
37
38
    /**
39
     * Get a validator for an incoming update request.
@@ 46-64 (lines=19) @@
43
     *
44
     * @return \Illuminate\Validation\Validator
45
     */
46
    public static function update(array $data, int $id): Validator
47
    {
48
        $categories = DiscussCategory::pluckLocked('id');
49
50
        $rules = [
51
            'title' => 'required|min:5',
52
            'category_id' => [
53
                'required',
54
                'integer',
55
                Rule::in($categories->toArray())
56
            ],
57
            'slug' => [
58
                Rule::unique('discuss_conversations')->ignore($id)
59
            ]
60
        ];
61
        $data['slug'] = Slug::fromTitle($data['title']);
62
63
        return FacadeValidator::make($data, $rules);
64
    }
65
}
66