Replies: 1 comment
-
@stephencelis @mbrandonw issue cant be in VaporRoute SPM ## from server create new all work as expected
app.post("device_check_and_login") { request async throws -> SendUserVerificationResponse in
let input = try request.content.decode(VerifySMSIn.self)
do {
_ = try await input.phoneNumber.varifyMobileNumber()
} catch {
print("\(error)")
}
do {
let res = try await deviceCheckHandler(request: request, route: .validatreDeviceToken(input.deviceCheckdata))
if try await res.encodeResponse(for: request).status != .ok {
let msg = "deviceCheckHandler failded for validatreDeviceToken authenticationHandler"
request.application.logger.notice("\(msg)")
throw Abort(.forbidden, reason: "\(msg)")
} else {
print(#line, try await res.encodeResponse(for: request).status)
}
} catch {
print(#line, "\(error.localizedDescription)")
}
let verification = input
let phoneNumber = verification.phoneNumber.removingInvalidCharacters
let code = String.randomDigits(ofLength: 6)
let message = "Hello there! Your verification code is \(code)"
guard let SENDER_NUMBER = Environment.get("SENDER_NUMBER") else {
fatalError("No value was found at the given public key environment 'SENDER_NUMBER'")
}
let sms = OutgoingSMS(body: message, from: SENDER_NUMBER, to: phoneNumber)
request.logger.notice("SMS is \(message)")
switch request.application.environment {
case .production:
_ = try await request.application.twilio.send(sms).get()
let smsAttempt = SMSVerificationAttempt(
code: code,
expiresAt: Date().addingTimeInterval(5.0 * 60.0),
phoneNumber: phoneNumber
)
_ = try await smsAttempt.save(on: request.db).get()
let attemptId = try! smsAttempt.requireID()
return SendUserVerificationResponse(
phoneNumber: phoneNumber,
attemptId: attemptId
)
case .development:
let smsAttempt = SMSVerificationAttempt(
code: "336699",
expiresAt: Date().addingTimeInterval(5.0 * 60.0),
phoneNumber: phoneNumber
)
_ = try await smsAttempt.save(on: request.db).get()
let attemptId = try! smsAttempt.requireID()
return SendUserVerificationResponse(phoneNumber: phoneNumber, attemptId: attemptId)
default:
let smsAttempt = SMSVerificationAttempt(
code: "336699",
expiresAt: Date().addingTimeInterval(5.0 * 60.0),
phoneNumber: phoneNumber
)
_ = smsAttempt.save(on: request.db).map { smsAttempt }
let attemptId = try! smsAttempt.requireID()
return SendUserVerificationResponse(phoneNumber: phoneNumber, attemptId: attemptId)
}
} |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
DuplicateAction.zip
Back-end server test dont have any issue at all
debuting SPM
swift-url-routing
very difficult becz cant get where error coming fromBeta Was this translation helpful? Give feedback.
All reactions