я бы это в модели делал