mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 19:51:07 +03:30
feat: add factory for models
This commit is contained in:
@@ -117,6 +117,15 @@ class MedicalCenterController extends Controller
|
||||
$cycle->delete();
|
||||
}
|
||||
|
||||
foreach ( $user->galleries as $gallery ) {
|
||||
if (count($gallery->uploadables)) {
|
||||
foreach ($gallery->uploadables as $item) {
|
||||
$item->delete();
|
||||
}
|
||||
}
|
||||
$gallery->delete();
|
||||
}
|
||||
|
||||
// delete user
|
||||
$user->delete();
|
||||
}
|
||||
|
||||
@@ -153,6 +153,11 @@ class UserController extends Controller
|
||||
}
|
||||
|
||||
foreach ( $User->galleries as $gallery ) {
|
||||
if (count($gallery->uploadables)) {
|
||||
foreach ($gallery->uploadables as $item) {
|
||||
$item->delete();
|
||||
}
|
||||
}
|
||||
$gallery->delete();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
|
||||
class Cycle extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
public $fillable = [
|
||||
'date', 'user_id', 'cycle_number', 'sterilizer_id', 'note', 'verified', 'unique_id'
|
||||
];
|
||||
|
||||
@@ -2,12 +2,18 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Gallery extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = ['user_id', 'path'];
|
||||
public $timestamps = false;
|
||||
|
||||
public function uploadables()
|
||||
{
|
||||
return $this->hasMany(Uploadable::class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
||||
class Input extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = [
|
||||
'name', 'type', 'size', 'test_type_id', 'parent_id', 'require_scanner'
|
||||
];
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class InputValue extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = [
|
||||
'value', 'test_result_id', 'input_id', 'option_id'
|
||||
];
|
||||
|
||||
+2
-2
@@ -4,17 +4,17 @@ namespace App\Models;
|
||||
|
||||
use App\Constants\StatusTypeEnum;
|
||||
use App\Services\Media\HasMediaTrait;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphMany;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphOne;
|
||||
use Spatie\Image\Exceptions\InvalidManipulation;
|
||||
use Spatie\MediaLibrary\HasMedia;
|
||||
use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
||||
|
||||
class Item extends Model implements HasMedia
|
||||
{
|
||||
use HasMediaTrait;
|
||||
use HasMediaTrait, HasFactory;
|
||||
|
||||
public $fillable = [
|
||||
'name', 'size', 'unique_id', 'specific', 'note', 'user_id', 'udi', 'status', 'repair',
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
|
||||
class Label extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = [
|
||||
'sterile_date', 'expire_date', 'sterilizer_id', 'cycle_number', 'lot_number', 'user_id',
|
||||
'package_id'
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
||||
class MedicalCenter extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = ['name', 'city_id', 'address', 'phone_number'];
|
||||
|
||||
public function users(): HasMany
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Message extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
use SoftDeletes,HasFactory;
|
||||
|
||||
public $fillable = ['title', 'text', 'status', 'recipient_user_id', 'sender_user_id'];
|
||||
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
|
||||
class Option extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = ['title', 'input_id'];
|
||||
|
||||
public function input(): BelongsTo
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Models;
|
||||
|
||||
use App\Constants\StatusTypeEnum;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
@@ -11,6 +12,8 @@ use Illuminate\Database\Eloquent\Relations\MorphOne;
|
||||
|
||||
class Package extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public $fillable = ['name', 'user_id', 'note', 'status', 'creator_id'];
|
||||
|
||||
public function user(): BelongsTo
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Models;
|
||||
|
||||
use App\Services\Media\HasMediaTrait;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
@@ -12,7 +13,7 @@ use Spatie\MediaLibrary\MediaCollections\Models\Media;
|
||||
|
||||
class TestResult extends Model implements HasMedia
|
||||
{
|
||||
use HasMediaTrait;
|
||||
use HasMediaTrait,HasFactory;
|
||||
|
||||
public $fillable = ['result', 'verified', 'test_type_id', 'user_id', 'device_id', 'cycle_number', 'date'];
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
@@ -9,7 +10,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class TestType extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
use SoftDeletes,HasFactory;
|
||||
|
||||
public $fillable = ['name', 'unique_code', 'user_id', 'bar_code', 'device_label'];
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||
@@ -9,7 +10,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
|
||||
class Transfer extends Model
|
||||
{
|
||||
use SoftDeletes;
|
||||
use SoftDeletes,HasFactory;
|
||||
|
||||
public $fillable = ['user_id', 'to_date', 'from_date', 'status', 'user_transfer_id'];
|
||||
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class Uploadable extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
protected $fillable = [
|
||||
'uploadable_id', 'uploadable_type', 'gallery_id', 'image_role', 'batch_id'
|
||||
|
||||
+2
-1
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
@@ -11,7 +12,7 @@ use Spatie\Permission\Traits\HasRoles;
|
||||
|
||||
class User extends Authenticatable
|
||||
{
|
||||
use Notifiable, HasApiTokens, HasRoles;
|
||||
use Notifiable, HasApiTokens, HasRoles, HasFactory;
|
||||
|
||||
protected $fillable = [
|
||||
'name', 'email', 'cell_number', 'password', 'status', 'medical_center_id', 'address',
|
||||
|
||||
+4
-6
@@ -47,12 +47,10 @@
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"App\\": "app/",
|
||||
"Packages\\": "packages/"
|
||||
},
|
||||
"classmap": [
|
||||
"database/seeds",
|
||||
"database/factories"
|
||||
]
|
||||
"Packages\\": "packages/",
|
||||
"Database\\Factories\\": "database/factories/",
|
||||
"Database\\Seeders\\": "database/seeders/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Cycle;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<Cycle>
|
||||
*/
|
||||
class CycleFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'unique_id' => $this->faker->uuid,
|
||||
'date' => $this->faker->date,
|
||||
'sterilizer_id' => $this->faker->uuid,
|
||||
'cycle_number' => $this->faker->numerify('Cycle-####'),
|
||||
'note' => $this->faker->word,
|
||||
'verified' => $this->faker->randomElement(['Verified', 'NotVerified']),
|
||||
'user_id' => \App\Models\User::factory(),
|
||||
];
|
||||
|
||||
}
|
||||
}
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Label;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Model>
|
||||
*/
|
||||
class CycleLabelFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'label_id' => \App\Models\Label::factory(),
|
||||
'cycle_id' => \App\Models\Cycle::factory(),
|
||||
'count' => $this->faker->numberBetween(1, 10),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Gallery>
|
||||
*/
|
||||
class GalleryFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'user_id' => \App\Models\User::factory(),
|
||||
'path' => $this->faker->imageUrl(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Input>
|
||||
*/
|
||||
class InputFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->word,
|
||||
'type' => $this->faker->randomElement(['Text', 'Form', 'Checkbox', 'Select']),
|
||||
'test_type_id' => \App\Models\TestType::factory(),
|
||||
'parent_id' => null,
|
||||
'size' => $this->faker->word,
|
||||
'value' => $this->faker->word,
|
||||
'require_scanner' => $this->faker->boolean,
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\InputValue>
|
||||
*/
|
||||
class InputValueFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'value' => $this->faker->word,
|
||||
'option_id' => \App\Models\Option::factory(),
|
||||
'input_id' => \App\Models\Input::factory(),
|
||||
'test_result_id' => \App\Models\TestResult::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Item>
|
||||
*/
|
||||
class ItemFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'package_id' => \App\Models\Package::factory(),
|
||||
'name' => $this->faker->word,
|
||||
'size' => $this->faker->word,
|
||||
'unique_id' => $this->faker->uuid,
|
||||
'specific' => $this->faker->word,
|
||||
'note' => $this->faker->word,
|
||||
'user_id' => \App\Models\User::factory(),
|
||||
'udi' => $this->faker->uuid,
|
||||
'repair' => $this->faker->boolean,
|
||||
'creator_id' => \App\Models\User::factory(),
|
||||
'status' => $this->faker->randomElement(['approved', 'rejected', 'suspended']),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Label>
|
||||
*/
|
||||
class LabelFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->word,
|
||||
'sterile_date' => $this->faker->date,
|
||||
'expire_date' => $this->faker->date,
|
||||
'sterilizer_id' => $this->faker->uuid,
|
||||
'cycle_number' => $this->faker->numerify('Cycle-####'),
|
||||
'lot_number' => $this->faker->word,
|
||||
'department' => $this->faker->word,
|
||||
'note' => $this->faker->word,
|
||||
'user_id' => \App\Models\User::factory(),
|
||||
'package_id' => \App\Models\Package::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\MedicalCenter;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends Factory<MedicalCenter>
|
||||
*/
|
||||
class MedicalCenterFactory extends Factory
|
||||
{
|
||||
protected $model = MedicalCenter::class;
|
||||
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->company,
|
||||
'address' => $this->faker->address,
|
||||
'phone_number' => $this->faker->phoneNumber,
|
||||
'city_id' => 1,
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Message>
|
||||
*/
|
||||
class MessageFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'title' => $this->faker->word,
|
||||
'text' => $this->faker->word,
|
||||
'sender_user_id' => User::factory(),
|
||||
'recipient_user_id' => User::factory(),
|
||||
'status' => $this->faker->randomElement(['Read', 'UnRead']),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Input;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Option>
|
||||
*/
|
||||
class OptionFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'title' => $this->faker->word,
|
||||
'input_id' => Input::factory(),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Model>
|
||||
*/
|
||||
class PackageFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => $this->faker->word,
|
||||
'note' => $this->faker->optional()->word,
|
||||
'user_id' => User::factory(), // ایجاد کاربر به طور خودکار
|
||||
'bar_code' => $this->faker->optional()->word,
|
||||
'qr_code' => $this->faker->optional()->word,
|
||||
'creator_id' => User::factory(), // ایجاد کاربر دیگر به عنوان creator
|
||||
'status' => $this->faker->randomElement(['approved', 'rejected', 'suspended']),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\TestType;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\TestResult>
|
||||
*/
|
||||
class TestResultFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'info' => $this->faker->name,
|
||||
'cycle_number' => $this->faker->numberBetween(1000, 9999),
|
||||
'date' => $this->faker->date(),
|
||||
'result' => $this->faker->randomElement(['Accept', 'Reject']),
|
||||
'description' => $this->faker->word,
|
||||
'verified' => $this->faker->randomElement(['Verified', 'NotVerified', 'None']),
|
||||
'device_id' => $this->faker->uuid(),
|
||||
'user_id' => User::factory(),
|
||||
'test_type_id' => TestType::factory(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\TestType>
|
||||
*/
|
||||
class TestTypeFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'name' => Str::random(20),
|
||||
'unique_code' => Str::random(20),
|
||||
'bar_code' => $this->faker->word,
|
||||
'user_id' => User::factory(),
|
||||
'device_label' => $this->faker->randomElement([
|
||||
'AutoclaveID', 'WasherID', 'SterilizerID', 'WasherMachineID',
|
||||
'SealMachineID', 'PatientID', 'Set/PackID', 'MDID', 'ORID',
|
||||
'InstrumentID', 'ID', 'PersonalID'
|
||||
]),
|
||||
];
|
||||
}
|
||||
}
|
||||
Executable
+81
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use App\Models\User;
|
||||
|
||||
class TransferFactory extends Factory
|
||||
{
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
// Get a random model for polymorphic relationship
|
||||
$transferableModels = [
|
||||
\App\Models\Package::class,
|
||||
\App\Models\Item::class,
|
||||
];
|
||||
|
||||
$transferableType = $this->faker->randomElement($transferableModels);
|
||||
$transferable = $transferableType::factory()->create();
|
||||
|
||||
// Generate from_date and ensure to_date is after from_date
|
||||
$fromDate = $this->faker->dateTimeBetween('-1 year', 'now');
|
||||
$toDate = $this->faker->dateTimeBetween($fromDate, '+1 year');
|
||||
|
||||
return [
|
||||
'transferable_type' => $transferableType,
|
||||
'transferable_id' => $transferable->id,
|
||||
'user_id' => User::factory(),
|
||||
'from_date' => $fromDate,
|
||||
'to_date' => $toDate,
|
||||
'status' => $this->faker->randomElement(['approved', 'rejected', 'suspended']),
|
||||
'user_transfer_id' => User::factory(),
|
||||
'deleted_at' => null,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the transfer is approved.
|
||||
*/
|
||||
public function approved(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => 'approved',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the transfer is rejected.
|
||||
*/
|
||||
public function rejected(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => 'rejected',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the transfer is suspended.
|
||||
*/
|
||||
public function suspended(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'status' => 'suspended',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicate that the transfer is soft deleted.
|
||||
*/
|
||||
public function deleted(): static
|
||||
{
|
||||
return $this->state(fn (array $attributes) => [
|
||||
'deleted_at' => now(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\Gallery;
|
||||
use App\Models\Uploadable;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
|
||||
/**
|
||||
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Model>
|
||||
*/
|
||||
class UploadableFactory extends Factory
|
||||
{
|
||||
protected $model = Uploadable::class;
|
||||
/**
|
||||
* Define the model's default state.
|
||||
*
|
||||
* @return array<string, mixed>
|
||||
*/
|
||||
public function definition(): array
|
||||
{
|
||||
return [
|
||||
'uploadable_id' => $this->faker->numberBetween(1, 100), // شناسهی تصادفی برای uploadable
|
||||
'uploadable_type' => $this->faker->word, // نوع تصادفی uploadable
|
||||
'gallery_id' => Gallery::factory(), // شناسهی تصادفی برای gallery (در صورتی که گالریها وجود داشته باشند)
|
||||
'image_role' => $this->faker->word, // نقش تصادفی برای تصویر (مثل 'thumbnail' یا 'featured')
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Models\MedicalCenter;
|
||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
@@ -17,9 +18,17 @@ class UserFactory extends Factory
|
||||
return [
|
||||
'name' => $this->faker->name,
|
||||
'email' => $this->faker->unique()->safeEmail,
|
||||
'email_verified_at' => now(),
|
||||
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||
'country_code' => '0098',
|
||||
'cell_number' => $this->faker->phoneNumber,
|
||||
'gender' => $this->faker->randomElement(['Male', 'FeMale']),
|
||||
'verified' => $this->faker->randomElement(['Verified', 'NotVerified']),
|
||||
'status' => $this->faker->randomElement(['Active', 'Suspended']),
|
||||
'medical_center_id' => MedicalCenter::factory(), // ایجاد مرکز پزشکی به طور خودکار
|
||||
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
||||
'address' => $this->faker->optional()->address,
|
||||
'remember_token' => Str::random(10),
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
@@ -11,6 +14,8 @@ class DatabaseSeeder extends Seeder
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
// $this->call(UserTableSeeder::class);
|
||||
$this->call([
|
||||
TableSeeder::class
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class TableSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Seed the application's database.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
\App\Models\MedicalCenter::factory(10)->create();
|
||||
\App\Models\User::factory(10)->create();
|
||||
\App\Models\TestType::factory(10)->create();
|
||||
\App\Models\TestResult::factory(10)->create();
|
||||
\App\Models\Input::factory(10)->create();
|
||||
\App\Models\Option::factory(10)->create();
|
||||
\App\Models\InputValue::factory(10)->create();
|
||||
\App\Models\Gallery::factory(10)->create();
|
||||
\App\Models\Uploadable::factory(10)->create();
|
||||
\App\Models\Package::factory(10)->create();
|
||||
\App\Models\Item::factory(10)->create();
|
||||
\App\Models\Label::factory(10)->create();
|
||||
\App\Models\Cycle::factory(10)->create();
|
||||
\App\Models\Message::factory(10)->create();
|
||||
\App\Models\Transfer::factory(10)->create();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user