47 lines
		
	
	
		
			854 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			854 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  UserActionApi.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 5/17/25.
 | 
						|
//
 | 
						|
 | 
						|
import Foundation
 | 
						|
import Moya
 | 
						|
 | 
						|
enum UserActionApi {
 | 
						|
    case trackEvent(request: UserActionRequest)
 | 
						|
}
 | 
						|
 | 
						|
extension UserActionApi: TargetType {
 | 
						|
    var baseURL: URL {
 | 
						|
        return URL(string: BASE_URL)!
 | 
						|
    }
 | 
						|
    
 | 
						|
    var path: String {
 | 
						|
        switch self {
 | 
						|
        case .trackEvent:
 | 
						|
            return "/user-action"
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
    var method: Moya.Method {
 | 
						|
        switch self {
 | 
						|
        case .trackEvent:
 | 
						|
            return .post
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
    var task: Moya.Task {
 | 
						|
        switch self {
 | 
						|
        case .trackEvent(let request):
 | 
						|
            return .requestJSONEncodable(request)
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
    var headers: [String : String]? {
 | 
						|
        return ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
 | 
						|
    }
 | 
						|
    
 | 
						|
    
 | 
						|
}
 |