Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.42 KB | None | 0 0
  1. enum API: String {
  2.     case baseUrl = "http://api..../api/v1/"
  3.  
  4.     case authServiceUrl = "auth/"
  5.     case userServiceUrl = "users/"
  6.  
  7.    
  8.     /// Auth endpath
  9.     case login = "login"
  10.     case register = "register"
  11.     case resetPassword = "reset-password"     // + \(token)
  12.     case forgotPassword = "forgot-password/"
  13.     case authenticate = "authenticate"
  14.     case deviceTypeiOS =  "device-type-ios"
  15.     case deviceTypeAndroid = "device-type-android"
  16.    
  17.     /// Users endpath
  18.     case storeUser
  19.     case listUser
  20.     case showUser   // "" + id in path
  21.     case deleteUser     // "" + id in path
  22.     case unblockUser = "unblock-user"
  23.     case blockUser = "block-user"
  24.     case unblockAccount = "unblock-account"
  25.     case blockAccount = "block-account"
  26.     case sendNotification = "send-notification"
  27.    
  28.    
  29.     private func serviceBaseUrl() -> String {
  30.         switch self {
  31.         case .login, .register, .resetPassword, .forgotPassword, .authenticate, .deviceTypeiOS, .deviceTypeAndroid:
  32.             return API.authServiceUrl.rawValue
  33.         case .unblockUser, .blockUser, .unblockAccount, .blockAccount, .sendNotification, .storeUser, .listUser, .showUser, .deleteUser:
  34.             return API.userServiceUrl.rawValue
  35.         default: return API.baseUrl.rawValue
  36.         }
  37.     }
  38.    
  39.     private func apiEnding() -> String {
  40.         switch self {
  41.         case .storeUser, .listUser, .showUser:
  42.             return ""
  43.         default:
  44.             return self.rawValue
  45.         }
  46.     }
  47.    
  48.     func url() -> String {
  49.         return "\(API.baseUrl.rawValue)\(serviceBaseUrl())\(apiEnding())"
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement