ClientPaymentMethod.php 3.6 KB

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