public function sendSmsTemplate(Request $request) { $data = $request->all(); $validator = Validator::make($data, ['token' => 'required', 'template' => 'required', 'number' => 'required']); if ($validator->fails()) { return validatorError($validator->errors()); } $token = $this->getToken($data['token']); if ($token == null) { return errorResponse("token_invalid", 403); } if (!$token->enabled) { return errorResponse("token_disabled", 403); } if (!$token->validDayLimit()) { return errorResponse('day_limit_reached', 403); } if (!$token->validMonthLimit()) { return errorResponse('month_limit_reached', 403); } $template = SmsTemplate::where('sms_id', $data['template'])->first(); if ($template == null) { return errorResponse('template_not_found', 404); } $forFill = $data; unset($forFill['token']); unset($forFill['template']); $template->fillData($forFill); $this->sendApiRequest($data['number'], $template->getFilled(), $token->owner->id); return successResponse('sent'); }
public function valid(Request $request) { $data = $request->only(['number', 'token', 'code']); $validator = Validator::make($data, ['number' => 'required', 'code' => 'required']); if ($validator->fails()) { return validatorError($validator->errors()); } $verification = Verification::where('code', $data['code'])->where('phone_number', $data['number'])->first(); if ($verification == null) { return successResponse('invalid'); } if ($verification->isValid()) { return successResponse('valid'); } return successResponse('invalid'); }