added iOS source code
[wl-app.git] / iOS / WolneLektury / Model / Credentials.swift
1 //
2 //  Credentials.swift
3 //  WolneLektury
4 //
5 //  Created by Pawel Dabrowski on 14/07/2018.
6 //  Copyright © 2018 Fundacja Nowoczesna Polska. All rights reserved.
7 //
8
9 import UIKit
10
11 class Credentials: NSObject, NSCoding{
12     
13     let credentialOAuthTokenSecretKey = "credentialOAuthTokenSecretKey"
14     let credentialOAuthTokenKey = "credentialOAuthTokenKey"
15     
16     var oauthTokenModel: OAuthTokenModel?
17     
18     override init(){
19         
20     }
21
22     required init?(coder decoder: NSCoder) {
23         
24         if let token = decoder.decodeObject(forKey: credentialOAuthTokenKey) as? String, let secret = decoder.decodeObject(forKey: credentialOAuthTokenSecretKey) as? String  {
25             self.oauthTokenModel = OAuthTokenModel(token: token, tokenSecret: secret)
26         }
27     }
28     
29     func encode(with encoder: NSCoder) {
30         
31         if let tokenModel = oauthTokenModel{
32             encoder.encode(tokenModel.token, forKey: credentialOAuthTokenKey)
33             encoder.encode(tokenModel.tokenSecret, forKey: credentialOAuthTokenSecretKey)
34         }
35     }
36     
37     func isLoggedIn() -> Bool {
38         guard let tokenModel = oauthTokenModel, tokenModel.isValid() else {
39             return false
40         }
41         return true
42     }
43 }