Issues (48)

src/Models/Contracts/CouponContract.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MichaelRubel\Couponables\Models\Contracts;
6
7
use Carbon\CarbonInterface;
0 ignored issues
show
The type Carbon\CarbonInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
use Illuminate\Database\Eloquent\Collection;
9
use MichaelRubel\Couponables\Models\Coupon;
10
11
/**
12
 * @see Coupon
13
 *
14
 * @property string $code
15
 * @property string|null $type
16
 * @property string|null $value
17
 * @property bool $is_enabled
18
 * @property Collection|null $data
19
 * @property int|null $quantity
20
 * @property int|null $limit
21
 * @property string|null $redeemer_type
22
 * @property int|null $redeemer_id
23
 * @property CarbonInterface|null $expires_at
24
 *
25
 * @method Coupon|null firstWhere(string $column, string|null $value)
26
 */
27
interface CouponContract
28
{
29
    /*
30
    | Coupon type definitions.
31
    |
32
    | These keys are used to determine the calculation strategy.
33
    */
34
35
    /**
36
     * @var string
37
     */
38
    public const TYPE_SUBTRACTION = 'subtraction';
39
40
    /**
41
     * @var string
42
     */
43
    public const TYPE_PERCENTAGE = 'percentage';
44
45
    /**
46
     * @var string
47
     */
48
    public const TYPE_FIXED = 'fixed';
49
50
    /*
51
    | Column definitions.
52
    |
53
    | For package's internal purposes.
54
    */
55
56
    public function getCodeColumn(): string;
57
58
    public function getTypeColumn(): string;
59
60
    public function getValueColumn(): string;
61
62
    public function getIsEnabledColumn(): string;
63
64
    public function getDataColumn(): string;
65
66
    public function getQuantityColumn(): string;
67
68
    public function getLimitColumn(): string;
69
70
    public function getRedeemerTypeColumn(): string;
71
72
    public function getRedeemerIdColumn(): string;
73
74
    public function getExpiresAtColumn(): string;
75
}
76