123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- ////////////////////////////////////////////////////////////////////////////
- //
- // Copyright 2017 Realm Inc.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //
- ////////////////////////////////////////////////////////////////////////////
- #import <Foundation/Foundation.h>
- #import "RLMSyncUtil_Private.h"
- NS_ASSUME_NONNULL_BEGIN
- @class RLMTokenDataModel, RLMSyncUserAccountInfo;
- #pragma mark - RLMTokenModel
- @interface RLMTokenModel : NSObject RLM_SYNC_UNINITIALIZABLE
- @property (nonatomic, readonly) NSString *token;
- @property (nonatomic, nullable, readonly) NSString *path;
- @property (nonatomic, readonly) RLMTokenDataModel *tokenData;
- - (instancetype)initWithDictionary:(NSDictionary *)jsonDictionary;
- @end
- #pragma mark - RLMTokenDataModel
- @interface RLMTokenDataModel : NSObject RLM_SYNC_UNINITIALIZABLE
- @property (nonatomic, readonly) NSString *identity;
- @property (nonatomic, nullable, readonly) NSString *appID;
- @property (nonatomic, nullable, readonly) NSString *path;
- @property (nonatomic, readonly) NSTimeInterval expires;
- @property (nonatomic, readonly) BOOL isAdmin;
- //@property (nonatomic, readonly) NSArray *access;
- - (instancetype)initWithDictionary:(NSDictionary *)jsonDictionary;
- @end
- #pragma mark - RLMAuthResponseModel
- /**
- An internal class representing a valid JSON response to an auth request.
- ```
- {
- "access_token": { ... } // (optional),
- "refresh_token": { ... } // (optional)
- }
- ```
- */
- @interface RLMAuthResponseModel : NSObject RLM_SYNC_UNINITIALIZABLE
- @property (nonatomic, readonly, nullable) RLMTokenModel *accessToken;
- @property (nonatomic, readonly, nullable) RLMTokenModel *refreshToken;
- - (instancetype)initWithDictionary:(NSDictionary *)jsonDictionary
- requireAccessToken:(BOOL)requireAccessToken
- requireRefreshToken:(BOOL)requireRefreshToken;
- @end
- #pragma mark - RLMUserInfoResponseModel
- @interface RLMUserResponseModel : NSObject RLM_SYNC_UNINITIALIZABLE
- @property (nonatomic, readonly) NSString *identity;
- @property (nonatomic, readonly) NSArray<RLMSyncUserAccountInfo *> *accounts;
- @property (nonatomic, readonly) NSDictionary *metadata;
- @property (nonatomic, readonly) BOOL isAdmin;
- - (instancetype)initWithDictionary:(NSDictionary *)jsonDictionary;
- @end
- #pragma mark - RLMSyncErrorResponseModel
- @interface RLMSyncErrorResponseModel : NSObject RLM_SYNC_UNINITIALIZABLE
- @property (nonatomic, readonly) NSInteger status;
- @property (nonatomic, readonly) NSInteger code;
- @property (nullable, nonatomic, readonly) NSString *title;
- @property (nullable, nonatomic, readonly) NSString *hint;
- - (instancetype)initWithDictionary:(NSDictionary *)jsonDictionary;
- @end
- NS_ASSUME_NONNULL_END
|