ClientPaymentMethod.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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-read \App\Models\Client $client
  23. *
  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 whereHolderName($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereId($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereIsActive($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereLastFourDigits($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereToken($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereUpdatedAt($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withTrashed(bool $withTrashed = true)
  43. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withoutTrashed()
  44. *
  45. * @mixin \Eloquent
  46. */
  47. class ClientPaymentMethod extends Model
  48. {
  49. use HasFactory, SoftDeletes;
  50. protected $fillable = [
  51. 'client_id',
  52. 'token',
  53. 'card_number',
  54. 'holder_name',
  55. 'expiration',
  56. 'cvv',
  57. 'card_name',
  58. 'brand',
  59. 'last_four_digits',
  60. 'is_active',
  61. ];
  62. protected $casts = [
  63. 'token' => 'encrypted',
  64. 'card_number' => 'encrypted',
  65. 'cvv' => 'encrypted',
  66. 'is_active' => 'boolean',
  67. 'created_at' => 'datetime',
  68. 'updated_at' => 'datetime',
  69. 'deleted_at' => 'datetime',
  70. ];
  71. protected $hidden = [
  72. 'token',
  73. 'card_number',
  74. 'cvv',
  75. ];
  76. public function client(): BelongsTo
  77. {
  78. return $this->belongsTo(Client::class);
  79. }
  80. }