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 $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \App\Models\User|null $user
|
* @property-read \App\Models\User|null $user
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin query()
|
* @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 whereCreatedAt($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereId($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereId($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Admin whereUpdatedAt($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Admin extends Model
|
class Admin extends Model
|
||||||
|
|||||||
@ -14,8 +14,10 @@
|
|||||||
* @property bool $verified
|
* @property bool $verified
|
||||||
* @property \Illuminate\Support\Carbon|null $created_at
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_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
|
* @property-read \App\Models\User|null $user
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker query()
|
* @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 wherePhone($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereUpdatedAt($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereVerified($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Broker whereVerified($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Broker extends Model
|
class Broker extends Model
|
||||||
|
|||||||
@ -5,6 +5,26 @@
|
|||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
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
|
class Comment extends Model
|
||||||
{
|
{
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
|
|||||||
@ -13,8 +13,9 @@
|
|||||||
* @property string|null $phone
|
* @property string|null $phone
|
||||||
* @property \Illuminate\Support\Carbon|null $created_at
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_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
|
* @property-read \App\Models\User|null $user
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer query()
|
* @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 whereLocation($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer wherePhone($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer wherePhone($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Customer whereUpdatedAt($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Customer extends Model
|
class Customer extends Model
|
||||||
|
|||||||
@ -25,11 +25,12 @@
|
|||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \App\Models\User|null $broker
|
* @property-read \App\Models\User|null $broker
|
||||||
* @property-read \App\Models\DealCategory|null $category
|
* @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 \Illuminate\Database\Eloquent\Collection<int, \App\Models\Interaction> $interactions
|
||||||
* @property-read int|null $interactions_count
|
* @property-read int|null $interactions_count
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
||||||
* @property-read int|null $reports_count
|
* @property-read int|null $reports_count
|
||||||
*
|
|
||||||
* @method static Builder<static>|Deal WithActiveDeals()
|
* @method static Builder<static>|Deal WithActiveDeals()
|
||||||
* @method static Builder<static>|Deal WithCurrentUserInteractions()
|
* @method static Builder<static>|Deal WithCurrentUserInteractions()
|
||||||
* @method static Builder<static>|Deal WithLikePerDeal()
|
* @method static Builder<static>|Deal WithLikePerDeal()
|
||||||
@ -50,8 +51,8 @@
|
|||||||
* @method static Builder<static>|Deal whereTitle($value)
|
* @method static Builder<static>|Deal whereTitle($value)
|
||||||
* @method static Builder<static>|Deal whereUpdatedAt($value)
|
* @method static Builder<static>|Deal whereUpdatedAt($value)
|
||||||
* @method static Builder<static>|Deal whereUserId($value)
|
* @method static Builder<static>|Deal whereUserId($value)
|
||||||
|
* @method static Builder<static>|Deal withIsFollowedByCurrentUser()
|
||||||
* @method static Builder<static>|Deal withViewPerDeal()
|
* @method static Builder<static>|Deal withViewPerDeal()
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Deal extends Model
|
class Deal extends Model
|
||||||
|
|||||||
@ -16,7 +16,6 @@
|
|||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||||
* @property-read int|null $deals_count
|
* @property-read int|null $deals_count
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory query()
|
* @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 whereOrder($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereSlug($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereSlug($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|DealCategory whereUpdatedAt($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class DealCategory extends Model
|
class DealCategory extends Model
|
||||||
|
|||||||
@ -5,6 +5,24 @@
|
|||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
use Illuminate\Database\Eloquent\Relations\Pivot;
|
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
|
class Follow extends Pivot
|
||||||
{
|
{
|
||||||
protected $table = 'follows';
|
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 \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \App\Models\Deal|null $deal
|
* @property-read \App\Models\Deal|null $deal
|
||||||
* @property-read \App\Models\Deal|null $user
|
* @property-read \App\Models\Deal|null $user
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction query()
|
* @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 whereType($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUpdatedAt($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUserId($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|Interaction whereUserId($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Interaction extends Model
|
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;
|
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 newModelQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|PageVisit newQuery()
|
* @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 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
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class PageVisit extends Model
|
class PageVisit extends Model
|
||||||
|
|||||||
@ -12,7 +12,6 @@
|
|||||||
* @property \Illuminate\Support\Carbon|null $created_at
|
* @property \Illuminate\Support\Carbon|null $created_at
|
||||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||||
* @property-read \App\Models\User|null $user
|
* @property-read \App\Models\User|null $user
|
||||||
*
|
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch newModelQuery()
|
* @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 newQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch query()
|
* @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 whereQuery($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUpdatedAt($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUserId($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|RecentSearch whereUserId($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class RecentSearch extends Model
|
class RecentSearch extends Model
|
||||||
|
|||||||
@ -21,7 +21,6 @@
|
|||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||||
* @property-read int|null $deals_count
|
* @property-read int|null $deals_count
|
||||||
* @property-read \App\Models\User|null $user
|
* @property-read \App\Models\User|null $user
|
||||||
*
|
|
||||||
* @method static Builder<static>|Report newModelQuery()
|
* @method static Builder<static>|Report newModelQuery()
|
||||||
* @method static Builder<static>|Report newQuery()
|
* @method static Builder<static>|Report newQuery()
|
||||||
* @method static Builder<static>|Report orderByStatus(array $statusOrder)
|
* @method static Builder<static>|Report orderByStatus(array $statusOrder)
|
||||||
@ -33,7 +32,6 @@
|
|||||||
* @method static Builder<static>|Report whereType($value)
|
* @method static Builder<static>|Report whereType($value)
|
||||||
* @method static Builder<static>|Report whereUpdatedAt($value)
|
* @method static Builder<static>|Report whereUpdatedAt($value)
|
||||||
* @method static Builder<static>|Report whereUserId($value)
|
* @method static Builder<static>|Report whereUserId($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class Report extends Model
|
class Report extends Model
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||||
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
|
||||||
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
use Illuminate\Database\Eloquent\Relations\MorphTo;
|
||||||
@ -25,22 +26,29 @@
|
|||||||
* @property string $role
|
* @property string $role
|
||||||
* @property string|null $role_type
|
* @property string|null $role_type
|
||||||
* @property int|null $role_id
|
* @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 \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $deals
|
||||||
* @property-read int|null $deals_count
|
* @property-read int|null $deals_count
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Interaction> $dealsInteractions
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Interaction> $dealsInteractions
|
||||||
* @property-read int|null $deals_interactions_count
|
* @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 \Illuminate\Database\Eloquent\Collection<int, \App\Models\Deal> $interactedDeals
|
||||||
* @property-read int|null $interacted_deals_count
|
* @property-read int|null $interacted_deals_count
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, User> $interactions
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, User> $interactions
|
||||||
* @property-read int|null $interactions_count
|
* @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 \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
|
||||||
* @property-read int|null $notifications_count
|
* @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 \Illuminate\Database\Eloquent\Collection<int, \App\Models\RecentSearch> $recentSearches
|
||||||
* @property-read int|null $recent_searches_count
|
* @property-read int|null $recent_searches_count
|
||||||
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Report> $reports
|
||||||
* @property-read int|null $reports_count
|
* @property-read int|null $reports_count
|
||||||
* @property-read Model|\Eloquent|null $type
|
* @property-read Model|\Eloquent|null $type
|
||||||
*
|
|
||||||
* @method static \Database\Factories\UserFactory factory($count = null, $state = [])
|
* @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 newModelQuery()
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User newQuery()
|
* @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 whereRoleType($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereStatus($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereStatus($value)
|
||||||
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereUpdatedAt($value)
|
* @method static \Illuminate\Database\Eloquent\Builder<static>|User whereUpdatedAt($value)
|
||||||
*
|
|
||||||
* @mixin \Eloquent
|
* @mixin \Eloquent
|
||||||
*/
|
*/
|
||||||
class User extends Authenticatable
|
class User extends Authenticatable
|
||||||
@ -158,4 +165,14 @@ public function comments(): HasMany
|
|||||||
{
|
{
|
||||||
return $this->hasMany(Comment::class);
|
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