filesbox/app/filesbox_ios/FilesBox/Pods/Realm/include/RLMJSONModels.h
2023-09-21 10:53:23 +08:00

104 lines
3.1 KiB
Objective-C

////////////////////////////////////////////////////////////////////////////
//
// 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