Working interface and parsed symfony cast data to a database.

This commit is contained in:
Krzysztof Płaczek
2022-08-23 08:09:14 +02:00
parent 119b94470f
commit a92c75c1dd
22 changed files with 488 additions and 224 deletions

36
app/Models/Chapter.php Normal file
View File

@@ -0,0 +1,36 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* @property int $order
* @property string $link
* @property string $video_link
* @property integer $video_size
* @property string $title
* @property string $duration
* @property integer $course_id
*/
class Chapter extends Model
{
use HasFactory;
protected $fillable = [
'order',
'link',
'video_link',
'video_size',
'title',
'duration',
'course_id',
];
public function course(): BelongsTo
{
return $this->belongsTo(Course::class);
}
}

42
app/Models/Course.php Normal file
View File

@@ -0,0 +1,42 @@
<?php
namespace App\Models;
use Carbon\Traits\Date;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
/**
* @property int $course_id
* @property string $name
* @property string $thumbnail
* @property string $link
* @property string $status
* @property integer $numberofchapters
* @property integer $timeswatched
* @property Date $published_at
*/
class Course extends Model
{
use HasFactory;
protected $fillable = [
'name',
'thumbnail',
'link',
'status',
'numberofchapters',
'timeswatched',
'published_at',
];
protected $dates = [
'published_at'
];
public function chapters(): HasMany
{
return $this->hasMany(Chapter::class);
}
}

View File

@@ -1,44 +0,0 @@
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}