1 | <?php |
||||||
2 | |||||||
3 | namespace Epesi\FileStorage\Models; |
||||||
4 | |||||||
5 | use Illuminate\Support\Facades\Auth; |
||||||
6 | use atk4\data\Model; |
||||||
7 | use Epesi\Core\Data\HasEpesiConnection; |
||||||
0 ignored issues
–
show
|
|||||||
8 | use Epesi\Core\System\User\Database\Models\atk4\User; |
||||||
9 | |||||||
10 | class FileRemoteAccess extends Model |
||||||
11 | { |
||||||
12 | use HasEpesiConnection; |
||||||
13 | |||||||
14 | const DEFAULT_PERIOD = '1 week'; |
||||||
15 | |||||||
16 | public $table = 'filestorage_remote_access'; |
||||||
17 | |||||||
18 | public function init() |
||||||
19 | { |
||||||
20 | parent::init(); |
||||||
21 | |||||||
22 | $this->addFields([ |
||||||
23 | 'token', |
||||||
24 | 'expires_at' => ['type' => 'datetime'], |
||||||
25 | ]); |
||||||
26 | |||||||
27 | $this->hasOne('file_id', File::class)->addTitle(['field' => 'file', 'caption' => __('File Name')]); |
||||||
0 ignored issues
–
show
Epesi\FileStorage\Models\File::class of type string is incompatible with the type array expected by parameter $defaults of atk4\data\Model::hasOne() .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() The method
addTitle() does not exist on atk4\data\Reference . It seems like you code against a sub-type of atk4\data\Reference such as atk4\data\Reference\HasOne_SQL .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||||
28 | $this->hasOne('created_by', User::class)->addTitle(['field' => 'created_by_user', 'caption' => __('Created By')]); |
||||||
29 | |||||||
30 | $this->addCalculatedField('href', [[__CLASS__, 'getHrefField']]); |
||||||
31 | } |
||||||
32 | |||||||
33 | public static function check($fileId, $token) |
||||||
34 | { |
||||||
35 | return (bool) self::create() |
||||||
36 | ->addCrits([ |
||||||
37 | ['file_id', $fileId], |
||||||
38 | ['token', $token], |
||||||
39 | ['expires_at', '>', date('Y-m-d H:i:s')] |
||||||
40 | ]) |
||||||
41 | ->action('count')->getOne(); |
||||||
42 | } |
||||||
43 | |||||||
44 | public static function grant($file, $expires = self::DEFAULT_PERIOD) |
||||||
45 | { |
||||||
46 | return self::create()->insert([ |
||||||
47 | 'file_id' => is_numeric($file)? $file: $file->id, |
||||||
48 | 'token' => md5(uniqid(rand(), true)), |
||||||
49 | 'created_by' => Auth::id()?: 0, |
||||||
50 | 'expires_at' => date('Y-m-d H:i:s', strtotime($expires)), |
||||||
51 | ]); |
||||||
52 | } |
||||||
53 | |||||||
54 | public static function getHrefField($model) |
||||||
55 | { |
||||||
56 | return url('file') . '?' . http_build_query(['id' => $model['file_id'], 'token' => $model['token']]); |
||||||
57 | } |
||||||
58 | } |
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:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths