|
|
@@ -119,6 +119,22 @@ class AppointmentService
|
|
|
return $model->fresh(['user', 'partnerAgreement', 'partnerAgreementService']);
|
|
|
}
|
|
|
|
|
|
+ public function approveByPartner(int $id, int $userId): ?Appointment
|
|
|
+ {
|
|
|
+ $model = Appointment::whereHas('partnerAgreement', fn($q) => $q->where('user_id', $userId))->find($id);
|
|
|
+ if (!$model) return null;
|
|
|
+ $model->update(['status' => AppointmentStatusEnum::CONFIRMADO]);
|
|
|
+ return $model->fresh(['user', 'partnerAgreement', 'partnerAgreementService']);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function rejectByPartner(int $id, int $userId): ?Appointment
|
|
|
+ {
|
|
|
+ $model = Appointment::whereHas('partnerAgreement', fn($q) => $q->where('user_id', $userId))->find($id);
|
|
|
+ if (!$model) return null;
|
|
|
+ $model->update(['status' => AppointmentStatusEnum::RECUSADO]);
|
|
|
+ return $model->fresh(['user', 'partnerAgreement', 'partnerAgreementService']);
|
|
|
+ }
|
|
|
+
|
|
|
private function generateOrderNumber(): string
|
|
|
{
|
|
|
do {
|