parent
2385347434
commit
41dccd395a
6 changed files with 201 additions and 0 deletions
@ -0,0 +1,65 @@ |
||||
<?php |
||||
|
||||
namespace App\Http\Controllers; |
||||
|
||||
use App\Models\Document; |
||||
use Illuminate\Http\Request; |
||||
|
||||
class DocumentController extends Controller |
||||
{ |
||||
/** |
||||
* Display a listing of the resource. |
||||
*/ |
||||
public function index() |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Show the form for creating a new resource. |
||||
*/ |
||||
public function create() |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Store a newly created resource in storage. |
||||
*/ |
||||
public function store(Request $request) |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Display the specified resource. |
||||
*/ |
||||
public function show(Document $document) |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Show the form for editing the specified resource. |
||||
*/ |
||||
public function edit(Document $document) |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Update the specified resource in storage. |
||||
*/ |
||||
public function update(Request $request, Document $document) |
||||
{ |
||||
// |
||||
} |
||||
|
||||
/** |
||||
* Remove the specified resource from storage. |
||||
*/ |
||||
public function destroy(Document $document) |
||||
{ |
||||
// |
||||
} |
||||
} |
@ -0,0 +1,39 @@ |
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
|
||||
class Document extends Model |
||||
{ |
||||
protected $fillable = [ |
||||
'uuid', |
||||
'title', |
||||
'html', |
||||
'json', |
||||
'document_state_id', |
||||
'user_id' |
||||
]; |
||||
|
||||
public function jsonSerialize():array |
||||
{ |
||||
return [ |
||||
'uuid' => $this->uuid, |
||||
'title' => $this->title, |
||||
'html' => $this->html, |
||||
'json' => $this->json, |
||||
'state' => $this->state, |
||||
'user' => $this->user, |
||||
]; |
||||
} |
||||
|
||||
public function state() |
||||
{ |
||||
return $this->belongsTo(DocumentState::class); |
||||
} |
||||
|
||||
public function user() |
||||
{ |
||||
return $this->belongsTo(User::class); |
||||
} |
||||
} |
@ -0,0 +1,26 @@ |
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
|
||||
class DocumentState extends Model |
||||
{ |
||||
protected $fillable = [ |
||||
'id', |
||||
'name', |
||||
]; |
||||
|
||||
public function jsonSerialize():array |
||||
{ |
||||
return [ |
||||
'id' => $this->uuid, |
||||
'name' => $this->name, |
||||
]; |
||||
} |
||||
|
||||
public function documents() |
||||
{ |
||||
return $this->hasMany(Document::class); |
||||
} |
||||
} |
@ -0,0 +1,35 @@ |
||||
<?php |
||||
|
||||
use App\Models\Document; |
||||
use App\Models\DocumentState; |
||||
use Illuminate\Database\Migrations\Migration; |
||||
use Illuminate\Database\Schema\Blueprint; |
||||
use Illuminate\Support\Facades\Schema; |
||||
use Illumite\Support\Facades\DB; |
||||
|
||||
return new class extends Migration |
||||
{ |
||||
/** |
||||
* Run the migrations. |
||||
*/ |
||||
public function up(): void |
||||
{ |
||||
Schema::create('document_states', function (Blueprint $table) { |
||||
$table->id(); |
||||
$table->string("name"); |
||||
$table->timestamps(); |
||||
}); |
||||
|
||||
DocumentState::create(["name"=> "Brouillon"]); |
||||
DocumentState::create(["name"=> "Public"]); |
||||
DocumentState::create(["name"=> "Privé"]); |
||||
} |
||||
|
||||
/** |
||||
* Reverse the migrations. |
||||
*/ |
||||
public function down(): void |
||||
{ |
||||
Schema::dropIfExists('document_states'); |
||||
} |
||||
}; |
@ -0,0 +1,36 @@ |
||||
<?php |
||||
|
||||
use Illuminate\Database\Migrations\Migration; |
||||
use Illuminate\Database\Schema\Blueprint; |
||||
use Illuminate\Support\Facades\Schema; |
||||
|
||||
return new class extends Migration |
||||
{ |
||||
/** |
||||
* Run the migrations. |
||||
*/ |
||||
public function up(): void |
||||
{ |
||||
Schema::create('documents', function (Blueprint $table) { |
||||
$table->id(); |
||||
$table->uuid('uuid')->unique(); |
||||
$table->string("title"); |
||||
$table->text("html"); |
||||
$table->json("json"); |
||||
$table->unsignedBigInteger("document_state_id"); |
||||
$table->unsignedBigInteger("user_id"); |
||||
$table->timestamps(); |
||||
|
||||
$table->foreign("user_id")->references("id")->on("users"); |
||||
$table->foreign("document_state_id")->references("id")->on("document_states"); |
||||
}); |
||||
} |
||||
|
||||
/** |
||||
* Reverse the migrations. |
||||
*/ |
||||
public function down(): void |
||||
{ |
||||
Schema::dropIfExists('documents'); |
||||
} |
||||
}; |
After Width: | Height: | Size: 201 KiB |
Loading…
Reference in New Issue