summaryrefslogtreecommitdiff
path: root/Hutch/Views/Lookup/LookupView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-01 23:54:01 -0500
committerChristian Cleberg <[email protected]>2026-04-01 23:54:01 -0500
commitfb103fbabd9865f711f5052f63816b35fc259585 (patch)
tree3c6df1bb04c6d1e8e937e5bbc6f75725f5c6d926 /Hutch/Views/Lookup/LookupView.swift
parent0bef9acc515cfcb4ac6e2530cd34cbdbc47c2c1d (diff)
downloadhutch-fb103fbabd9865f711f5052f63816b35fc259585.tar.gz
hutch-fb103fbabd9865f711f5052f63816b35fc259585.tar.bz2
hutch-fb103fbabd9865f711f5052f63816b35fc259585.zip
feat: expand user profile in Look Up
Diffstat (limited to 'Hutch/Views/Lookup/LookupView.swift')
-rw-r--r--Hutch/Views/Lookup/LookupView.swift47
1 files changed, 40 insertions, 7 deletions
diff --git a/Hutch/Views/Lookup/LookupView.swift b/Hutch/Views/Lookup/LookupView.swift
index 9f42d9e..413ea12 100644
--- a/Hutch/Views/Lookup/LookupView.swift
+++ b/Hutch/Views/Lookup/LookupView.swift
@@ -1,4 +1,7 @@
import SwiftUI
+import os
+
+private let lookupLogger = Logger(subsystem: "net.cleberg.Hutch", category: "Lookup")
enum LookupType: String, CaseIterable, Identifiable {
case user = "User"
@@ -166,17 +169,47 @@ final class LookupViewModel {
let query = """
query userLookup($username: String!) {
user: userByName(username: $username) {
- id username canonicalName email avatar
+ id
+ created
+ updated
+ canonicalName
+ username
+ email
+ url
+ location
+ bio
+ avatar
+ pronouns
+ userType
}
}
"""
- let result = try await client.execute(
- service: .meta,
- query: query,
- variables: ["username": username],
- responseType: Response.self
- )
+ lookupLogger.debug("Looking up user profile for username: \(username, privacy: .public)")
+
+ let result: Response
+ do {
+ result = try await client.execute(
+ service: .meta,
+ query: query,
+ variables: ["username": username],
+ responseType: Response.self
+ )
+ } catch {
+ lookupLogger.error(
+ """
+ User lookup failed
+ username: \(username, privacy: .public)
+ query:
+ \(query, privacy: .public)
+ error:
+ \(String(describing: error), privacy: .public)
+ """
+ )
+ throw error
+ }
+
+ lookupLogger.debug("User lookup succeeded for username: \(username, privacy: .public)")
return .user(result.user)
}