1
0
mirror of git://jb55.com/damus synced 2024-09-29 08:20:45 +00:00

purple: add querystring helper

We will be pulling out more things so this simplifies querystring
lookups a bit

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin 2024-01-28 15:22:20 -08:00
parent 7a3be720b2
commit 500f8bc2ec

View File

@ -17,10 +17,10 @@ enum DamusPurpleURL {
guard components.scheme == "damus" else { return nil } guard components.scheme == "damus" else { return nil }
switch components.path { switch components.path {
case "purple:verify": case "purple:verify":
guard let checkout_id: String = components.queryItems?.first(where: { $0.name == "id" })?.value else { return nil } guard let checkout_id = components.find("id") else { return nil }
return .verify_npub(checkout_id: checkout_id) return .verify_npub(checkout_id: checkout_id)
case "purple:welcome": case "purple:welcome":
guard let checkout_id: String = components.queryItems?.first(where: { $0.name == "id" })?.value else { return nil } guard let checkout_id = components.find("id") else { return nil }
return .welcome(checkout_id: checkout_id) return .welcome(checkout_id: checkout_id)
case "purple:landing": case "purple:landing":
return .landing return .landing
@ -41,3 +41,9 @@ enum DamusPurpleURL {
} }
} }
extension URLComponents {
func find(_ name: String) -> String? {
self.queryItems?.first(where: { qi in qi.name == name })?.value
}
}