You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
770B

  1. <?php
  2. namespace App\Models;
  3. use App\Models\Feature\UserId;
  4. use App\Util\DateUtil;
  5. use Illuminate\Database\Eloquent\Builder;
  6. class EmailChangeToken extends AppModel
  7. {
  8. use UserId;
  9. const COL_NAME_USER_ID = ColumnName::USER_ID;
  10. const COL_NAME_NEW_EMAIL = 'new_email';
  11. const COL_NAME_TOKEN = 'token';
  12. const COL_NAME_EXPIRES_AT = 'expires_at';
  13. protected $casts = [
  14. self::COL_NAME_EXPIRES_AT => 'datetime',
  15. ];
  16. public function getHistory(): ?HistoryModel
  17. {
  18. return null;
  19. }
  20. public function getModelName(): string
  21. {
  22. return "Email変更トークン";
  23. }
  24. public function scopeExpiresIn(Builder $query)
  25. {
  26. return $query->where(self::COL_NAME_EXPIRES_AT, '>', DateUtil::now());
  27. }
  28. }