ClientPaymentMethod.php 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. /**
  8. * @property int $id
  9. * @property int $client_id
  10. * @property string|null $card_number
  11. * @property string $holder_name
  12. * @property string $expiration
  13. * @property string|null $cvv
  14. * @property string|null $card_name
  15. * @property string|null $brand
  16. * @property string $last_four_digits
  17. * @property bool $is_active
  18. * @property \Illuminate\Support\Carbon|null $created_at
  19. * @property \Illuminate\Support\Carbon|null $updated_at
  20. * @property \Illuminate\Support\Carbon|null $deleted_at
  21. * @property string|null $token
  22. * @property string|null $gateway_card_id
  23. * @property-read \App\Models\Client $client
  24. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod newModelQuery()
  25. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod newQuery()
  26. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod onlyTrashed()
  27. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod query()
  28. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereBrand($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCardName($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCardNumber($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereClientId($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCreatedAt($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCvv($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereDeletedAt($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereExpiration($value)
  36. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereGatewayCardId($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereHolderName($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereId($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereIsActive($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereLastFourDigits($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereToken($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereUpdatedAt($value)
  43. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withTrashed(bool $withTrashed = true)
  44. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withoutTrashed()
  45. * @mixin \Eloquent
  46. */
  47. class ClientPaymentMethod extends Model
  48. {
  49. use HasFactory, SoftDeletes;
  50. protected $fillable = [
  51. 'client_id',
  52. 'token',
  53. 'gateway_card_id',
  54. 'card_number',
  55. 'holder_name',
  56. 'expiration',
  57. 'cvv',
  58. 'card_name',
  59. 'brand',
  60. 'last_four_digits',
  61. 'is_active',
  62. ];
  63. protected $casts = [
  64. 'token' => 'encrypted',
  65. 'card_number' => 'encrypted',
  66. 'cvv' => 'encrypted',
  67. 'is_active' => 'boolean',
  68. 'created_at' => 'datetime',
  69. 'updated_at' => 'datetime',
  70. 'deleted_at' => 'datetime',
  71. ];
  72. protected $hidden = [
  73. 'token',
  74. 'gateway_card_id',
  75. 'card_number',
  76. 'cvv',
  77. ];
  78. public function client(): BelongsTo
  79. {
  80. return $this->belongsTo(Client::class);
  81. }
  82. }