wip: live support chat
- add migration - setup models - generate phpdoc via helper
This commit is contained in:
parent
976ea01c89
commit
587893511c
@ -10,14 +10,12 @@
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\User|null $user
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereUpdatedAt($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Admin extends Model
|
||||
|
||||
@ -14,8 +14,10 @@
|
||||
* @property bool $verified
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Follow|null $pivot
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Customer> $followers
|
||||
* @property-read int|null $followers_count
|
||||
* @property-read \App\Models\User|null $user
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker query()
|
||||
@ -26,7 +28,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereVerified($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Broker extends Model
|
||||
|
||||
@ -5,6 +5,26 @@
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $text
|
||||
* @property int $deal_id
|
||||
* @property int $user_id
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Deal|null $deal
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereDealId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereText($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Comment whereUserId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Comment extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
|
||||
@ -13,8 +13,9 @@
|
||||
* @property string|null $phone
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Follow> $followings
|
||||
* @property-read int|null $followings_count
|
||||
* @property-read \App\Models\User|null $user
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer query()
|
||||
@ -24,7 +25,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer whereLocation($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer wherePhone($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer whereUpdatedAt($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Customer extends Model
|
||||
|
||||
@ -25,11 +25,12 @@
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\User|null $broker
|
||||
* @property-read \App\Models\DealCategory|null $category
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Comment> $comments
|
||||
* @property-read int|null $comments_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Interaction> $interactions
|
||||
* @property-read int|null $interactions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
||||
* @property-read int|null $reports_count
|
||||
*
|
||||
* @method static Builder<static>|Deal WithActiveDeals()
|
||||
* @method static Builder<static>|Deal WithCurrentUserInteractions()
|
||||
* @method static Builder<static>|Deal WithLikePerDeal()
|
||||
@ -50,8 +51,8 @@
|
||||
* @method static Builder<static>|Deal whereTitle($value)
|
||||
* @method static Builder<static>|Deal whereUpdatedAt($value)
|
||||
* @method static Builder<static>|Deal whereUserId($value)
|
||||
* @method static Builder<static>|Deal withIsFollowedByCurrentUser()
|
||||
* @method static Builder<static>|Deal withViewPerDeal()
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Deal extends Model
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||
* @property-read int|null $deals_count
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory query()
|
||||
@ -28,7 +27,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereOrder($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereSlug($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereUpdatedAt($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class DealCategory extends Model
|
||||
|
||||
@ -5,6 +5,24 @@
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property int $customer_id
|
||||
* @property int $broker_id
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Broker|null $broker
|
||||
* @property-read \App\Models\Customer|null $customer
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow whereBrokerId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow whereCustomerId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Follow whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Follow extends Pivot
|
||||
{
|
||||
protected $table = 'follows';
|
||||
|
||||
40
app/Models/Inbox.php
Normal file
40
app/Models/Inbox.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string|null $last_message
|
||||
* @property int|null $last_user_id
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\User|null $lastUser
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
|
||||
* @property-read int|null $users_count
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox whereLastMessage($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox whereLastUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Inbox whereUpdatedAt($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Inbox extends Model
|
||||
{
|
||||
protected $fillable = ['last_user_id', 'last_message'];
|
||||
public function users(): BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(User::class);
|
||||
}
|
||||
|
||||
public function lastUser(): HasOne
|
||||
{
|
||||
return $this->hasOne(User::class, 'id', 'last_user_id');
|
||||
}
|
||||
}
|
||||
@ -16,7 +16,6 @@
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\Deal|null $deal
|
||||
* @property-read \App\Models\Deal|null $user
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction query()
|
||||
@ -27,7 +26,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUserId($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Interaction extends Model
|
||||
|
||||
50
app/Models/Message.php
Normal file
50
app/Models/Message.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property int $user_id
|
||||
* @property int $inbox_id
|
||||
* @property string $message
|
||||
* @property string|null $read_at
|
||||
* @property string|null $delivered_at
|
||||
* @property string|null $deleted_at
|
||||
* @property string|null $failed_at
|
||||
* @property \Illuminate\Support\Carbon $created_at
|
||||
* @property-read \App\Models\Inbox|null $inbox
|
||||
* @property-read \App\Models\User|null $user
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message query()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereDeliveredAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereFailedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereInboxId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereMessage($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereReadAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Message whereUserId($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Message extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'inbox_id', 'user_id', 'message',
|
||||
'read_at', 'deleted_at', 'failed_at',
|
||||
'created_at', 'delivered_at'
|
||||
];
|
||||
public function inbox(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Inbox::class);
|
||||
}
|
||||
|
||||
public function user(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
}
|
||||
@ -6,12 +6,19 @@
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
/**
|
||||
* @property UserTypes $user_type
|
||||
*
|
||||
* @property int $id
|
||||
* @property int|null $user_id
|
||||
* @property string $page
|
||||
* @property UserTypes|null $user_type
|
||||
* @property string $created_at
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit query()
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit wherePage($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit whereUserId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit whereUserType($value)
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class PageVisit extends Model
|
||||
|
||||
@ -12,7 +12,6 @@
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property-read \App\Models\User|null $user
|
||||
*
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch newQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch query()
|
||||
@ -21,7 +20,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereQuery($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUpdatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUserId($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class RecentSearch extends Model
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||
* @property-read int|null $deals_count
|
||||
* @property-read \App\Models\User|null $user
|
||||
*
|
||||
* @method static Builder<static>|Report newModelQuery()
|
||||
* @method static Builder<static>|Report newQuery()
|
||||
* @method static Builder<static>|Report orderByStatus(array $statusOrder)
|
||||
@ -33,7 +32,6 @@
|
||||
* @method static Builder<static>|Report whereType($value)
|
||||
* @method static Builder<static>|Report whereUpdatedAt($value)
|
||||
* @method static Builder<static>|Report whereUserId($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class Report extends Model
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||
@ -25,22 +26,29 @@
|
||||
* @property string $role
|
||||
* @property string|null $role_type
|
||||
* @property int|null $role_id
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Comment> $comments
|
||||
* @property-read int|null $comments_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||
* @property-read int|null $deals_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Interaction> $dealsInteractions
|
||||
* @property-read int|null $deals_interactions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Inbox> $inboxes
|
||||
* @property-read int|null $inboxes_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $interactedDeals
|
||||
* @property-read int|null $interacted_deals_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, User> $interactions
|
||||
* @property-read int|null $interactions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Message> $messages
|
||||
* @property-read int|null $messages_count
|
||||
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
|
||||
* @property-read int|null $notifications_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \NotificationChannels\WebPush\PushSubscription> $pushSubscriptions
|
||||
* @property-read int|null $push_subscriptions_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecentSearch> $recentSearches
|
||||
* @property-read int|null $recent_searches_count
|
||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
||||
* @property-read int|null $reports_count
|
||||
* @property-read Model|\Eloquent|null $type
|
||||
*
|
||||
* @method static \Database\Factories\UserFactory factory($count = null, $state = [])
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User newModelQuery()
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User newQuery()
|
||||
@ -57,7 +65,6 @@
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereRoleType($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereStatus($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereUpdatedAt($value)
|
||||
*
|
||||
* @mixin \Eloquent
|
||||
*/
|
||||
class User extends Authenticatable
|
||||
@ -158,4 +165,14 @@ public function comments(): HasMany
|
||||
{
|
||||
return $this->hasMany(Comment::class);
|
||||
}
|
||||
|
||||
public function inboxes(): BelongsToMany
|
||||
{
|
||||
return $this->belongsToMany(Inbox::class);
|
||||
}
|
||||
|
||||
public function messages(): HasMany
|
||||
{
|
||||
return $this->hasMany(Message::class);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use App\Models\User;
|
||||
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('inboxes', function (Blueprint $table) {
|
||||
$table->id()->index();
|
||||
$table->text('last_message')->nullable();
|
||||
$table->foreignIdFor(User::class, 'last_user_id')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
$table->index(['last_user_id', 'created_at']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('inboxes');
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Inbox;
|
||||
use App\Models\User;
|
||||
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('messages', function (Blueprint $table) {
|
||||
$table->id()->index();
|
||||
$table->foreignIdFor(User::class)->index();
|
||||
$table->foreignIdFor(Inbox::class)->index();
|
||||
$table->text('message');
|
||||
$table->time('read_at')->nullable();
|
||||
$table->time('delivered_at')->nullable();
|
||||
$table->time('deleted_at')->nullable();
|
||||
$table->time('failed_at')->nullable();
|
||||
$table->time('created_at')->useCurrent()->index();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('messages');
|
||||
}
|
||||
};
|
||||
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Inbox;
|
||||
use App\Models\User;
|
||||
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('inbox_user', function (Blueprint $table) {
|
||||
$table->id()->index();
|
||||
$table->foreignIdFor(Inbox::class)->index();
|
||||
$table->foreignIdFor(User::class)->index();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('inbox_user');
|
||||
}
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user