blob: 966c68210be1a860851c17394825959c20c39b6c [file] [log] [blame]
{
"name": "CreatuNetwork",
"version": "0.1.1",
"summary": "This is Network request library. depends upon RXSwift, RxXoxoa, Moya/RxSwift, ReachabilitySwift",
"description": "## Requirements\n- Swift 4 or higher\n- target IOS 10 or higher\n\n## Linked Library\n\n- Alamofire (4.7.0)\n- KeychainSwift (10.0.0)\n- Moya (11.0.1)\n- ReachabilitySwift (4.1.0)\n- Result (3.2.4)\n- RxCocoa (4.1.2)\n- RxSwift (4.1.2)\n\n## Installation\n\nCreatuNetwork is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'CreatuNetwork'\n```\n\n## Api Model\nIn you api add extention [ApiTargetType]()\n```Swift\n\nimport Foundation\nimport Moya\nimport CreatuNetwork\n\nenum UserApi {\n case login([String: Any])\n case logout([String: Any])\n case register([String: Any])\n }\n\n extension UserApi: ApiTargetType {\n var checkTokenValidity: Bool {\n return false\n }\n\n var baseURL: URL {\n return URL(string: \"{{ YOUR-BASE-URL-HERE }}\")!\n }\n\n var path: String {\n switch self {\n case .register:\n return \"{{ REGISTER }}\"\n case .login:\n return \"{{ LOGIN}}\"\n case .logout:\n return \"{{ LOGOUT }}\"\n }\n }\n\n var method: Moya.Method {\n switch self {\n case .register,\n .login,\n .logout:\n return .post\n }\n }\n\n var sampleData: Data {\n return Data()\n }\n\n var task: Task {\n switch self {\n case .register(let parameters),\n .login(let parameters),\n .logout(let parameters):\n return .requestParameters(parameters: parameters, encoding: URLEncoding.default)\n }\n }\n\n var headers: [String: String]? {\n return [\"Accept\": \"application/json\"]\n }\n\n var authTokenType: AuthHeaderType {\n switch self {\n case .login:\n return .basic\n case .register,\n .logout:\n return .bearer\n }\n }\n }\n\n ```\n\n ## Request\n\n - request\n ```Swift\n Network.request(UserApi.login([\"username\": \"{{ USERNAME }}\", \"password\": \"{{ PASSWORD }}\"])).subscribe(onNext: {(response) in\n debugPrint(response)\n }, onError: { (error) in\n debugPrint(error)\n }).disposed(by: bag)\n ```\n - network check\n ```Swift\n Network.available() -> Bool // true if netowk available\n ```\n ## Response\n - response model\n ```swift\n var shouldTokenRefresh = false // true if your token out of date and you need to refresh token\n var response: Any? // your response data\n var message: String? // error message\n var success = true // true if your request successfully completed\n ```\n\n ## For token based life cycle\n\n - if custom authorization header\n ```Swift\n Authorize.customHeader {get set}\n ```\n\n - get access token\n ```Swift\n Authorize.accessToken {get}\n ```\n - get refresh token\n ```Swift\n Authorize.refreshToken {get}\n ```\n\n - get authorize model\n ```Swift\n Authorize.authorizeModel { get }\n ```\n\n - set access token with client id and client secret\n ```Swift\n Authorize.setAccessToken(_ clientId: String, clientSecret: String) -> Bool\n ```\n\n - set accesstoken with token string\n ```Swift\n Authorize.setAccessToken(_ token: String) -> Bool\n ```\n\n - clear all authorize saved data\n ```Swift\n Authorize.clearSavedData() -> Bool\n ```\n\n - update authorize model\n ```Swift\n Authorize.updateAuthorize(_ authorize: AuthorizeModel) -> Bool\n ```\n\n - update authorize model with json\n ```Swift\n Authorize.updateAuthorize(_ authorize: [String: Any]) -> Bool\n ```",
"homepage": "https://github.com/mohansinghthagunna/CreatuNetwork",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"mohansinghthagunna": "mohansingh_thagunna@outlook.com"
},
"source": {
"git": "https://github.com/mohansinghthagunna/CreatuNetwork.git",
"tag": "0.1.1"
},
"social_media_url": "https://twitter.com/sngmon",
"platforms": {
"ios": "10.0"
},
"swift_version": "4.0",
"source_files": "CreatuNetwork/**/*",
"dependencies": {
"RxSwift": [
"~> 4.1.2"
],
"RxCocoa": [
"~> 4.1.2"
],
"Moya/RxSwift": [
"~> 11.0.1"
],
"ReachabilitySwift": [
"~> 4.1.0"
]
}
}