feat: Enhance authentication and user management with detailed logging
- Add console logging for authentication initialization, login attempts, and user retrieval to improve debugging and traceability. - Introduce a new getCurrentUser function in useAuth for better user data management. - Update useTicketPurchase to include detailed logging for user wallets and balance checks, enhancing visibility into wallet states. - Refactor LNBits API request and response logging for clearer error handling and debugging.
This commit is contained in:
parent
217ca70334
commit
0cc0bf3555
4 changed files with 75 additions and 44 deletions
|
|
@ -13,14 +13,23 @@ export function useAuth() {
|
|||
*/
|
||||
async function initialize(): Promise<void> {
|
||||
try {
|
||||
console.log('Initializing authentication...')
|
||||
isLoading.value = true
|
||||
error.value = null
|
||||
|
||||
if (lnbitsAPI.isAuthenticated()) {
|
||||
const isAuth = lnbitsAPI.isAuthenticated()
|
||||
console.log('Is authenticated:', isAuth)
|
||||
|
||||
if (isAuth) {
|
||||
console.log('Getting current user...')
|
||||
const user = await lnbitsAPI.getCurrentUser()
|
||||
console.log('Current user set:', user)
|
||||
currentUser.value = user
|
||||
} else {
|
||||
console.log('Not authenticated, skipping user fetch')
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Authentication initialization error:', err)
|
||||
error.value = err instanceof Error ? err.message : 'Failed to initialize authentication'
|
||||
// Clear invalid token
|
||||
await logout()
|
||||
|
|
@ -34,15 +43,19 @@ export function useAuth() {
|
|||
*/
|
||||
async function login(credentials: LoginCredentials): Promise<void> {
|
||||
try {
|
||||
console.log('Login attempt with credentials:', { username: credentials.username })
|
||||
isLoading.value = true
|
||||
error.value = null
|
||||
|
||||
await lnbitsAPI.login(credentials)
|
||||
console.log('Login successful, getting user details...')
|
||||
|
||||
// Get user details
|
||||
const user = await lnbitsAPI.getCurrentUser()
|
||||
console.log('User details after login:', user)
|
||||
currentUser.value = user
|
||||
} catch (err) {
|
||||
console.error('Login error:', err)
|
||||
error.value = err instanceof Error ? err.message : 'Login failed'
|
||||
throw err
|
||||
} finally {
|
||||
|
|
@ -139,6 +152,19 @@ export function useAuth() {
|
|||
}
|
||||
})
|
||||
|
||||
// Get current user from API
|
||||
async function getCurrentUser(): Promise<User | null> {
|
||||
try {
|
||||
console.log('Getting current user from API...')
|
||||
const user = await lnbitsAPI.getCurrentUser()
|
||||
console.log('Current user from API:', user)
|
||||
return user
|
||||
} catch (error) {
|
||||
console.error('Error getting current user:', error)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
// State
|
||||
currentUser: computed(() => currentUser.value),
|
||||
|
|
|
|||
|
|
@ -30,10 +30,25 @@ export function useTicketPurchase() {
|
|||
}
|
||||
})
|
||||
|
||||
const userWallets = computed(() => currentUser.value?.wallets || [])
|
||||
const hasWalletWithBalance = computed(() =>
|
||||
userWallets.value.some((wallet: any) => wallet.balance_msat > 0)
|
||||
)
|
||||
const userWallets = computed(() => {
|
||||
const wallets = currentUser.value?.wallets || []
|
||||
console.log('User wallets computed:', {
|
||||
currentUser: currentUser.value,
|
||||
wallets: wallets,
|
||||
walletCount: wallets.length,
|
||||
hasWallets: wallets.length > 0
|
||||
})
|
||||
return wallets
|
||||
})
|
||||
const hasWalletWithBalance = computed(() => {
|
||||
const hasBalance = userWallets.value.some((wallet: any) => wallet.balance_msat > 0)
|
||||
console.log('Wallet balance check:', {
|
||||
wallets: userWallets.value,
|
||||
hasBalance: hasBalance,
|
||||
walletBalances: userWallets.value.map((w: any) => ({ id: w.id, balance: w.balance_msat }))
|
||||
})
|
||||
return hasBalance
|
||||
})
|
||||
|
||||
// Generate QR code for Lightning payment
|
||||
async function generateQRCode(bolt11: string) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue