소스 검색

update capabilities table

Marino Faggiana 8 년 전
부모
커밋
62f5619ab9

+ 0 - 1
iOSClient/AppDelegate.h

@@ -64,7 +64,6 @@
 
 // Notification
 @property (nonatomic, strong) NSMutableArray<OCCommunication *> *listOfNotifications;
-@property NSInteger serverVersion;
 
 // Network Operation
 @property (nonatomic, strong) NSOperationQueue *netQueue;

+ 2 - 3
iOSClient/FileSystem/CCCoreData.h

@@ -78,7 +78,6 @@
 + (BOOL)getCameraUploadCryptatedVideoActiveAccount:(NSString *)activeAccount;
 + (BOOL)getCameraUploadWWanPhotoActiveAccount:(NSString *)activeAccount;
 + (BOOL)getCameraUploadWWanVideoActiveAccount:(NSString *)activeAccount;
-+ (NSInteger)getServerVersionMajorActiveAccount:(NSString *)activeAccount;
 
 + (void)setCameraUpload:(BOOL)state activeAccount:(NSString *)activeAccount;
 + (void)setCameraUploadBackground:(BOOL)state activeAccount:(NSString *)activeAccount;
@@ -98,7 +97,6 @@
 + (void)setCameraUploadSaveAlbum:(BOOL)saveAlbum activeAccount:(NSString *)activeAccount;
 
 + (void)setUserProfileActiveAccount:(NSString *)activeAccount userProfile:(OCUserProfile *)userProfile;
-+ (void)setServerVersionActiveAccount:(NSString *)activeAccount versionMajor:(NSInteger)versionMajor versionMinor:(NSInteger)versionMinor versionMicro:(NSInteger)versionMicro;
 
 // ===== Certificates =====
 
@@ -228,8 +226,9 @@
 
 // ===== Capabilities =====
 
-+ (void)addCapabilities:(OCCapabilities *)capabilities account:(NSString *)account;
++ (void)setCapabilities:(OCCapabilities *)capabilities account:(NSString *)account;
 + (TableCapabilities *)getCapabilitesForAccount:(NSString *)account;
++ (NSInteger)getServerVersionAccount:(NSString *)activeAccount;
 
 // ===== File System =====
 

+ 21 - 31
iOSClient/FileSystem/CCCoreData.m

@@ -310,20 +310,6 @@
     else return NO;
 }
 
-+ (NSInteger)getServerVersionMajorActiveAccount:(NSString *)activeAccount
-{
-    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@)", activeAccount];
-    TableAccount *record = [TableAccount MR_findFirstWithPredicate:predicate];
-
-    if (record) {
-        
-        NSInteger versionMajor = [record.versionMajor integerValue];
-        return versionMajor;
-
-    } else
-        return 0;
-}
-
 + (void)setCameraUpload:(BOOL)state activeAccount:(NSString *)activeAccount
 {
     [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
@@ -547,22 +533,6 @@
     }];
 }
 
-+ (void)setServerVersionActiveAccount:(NSString *)activeAccount versionMajor:(NSInteger)versionMajor versionMinor:(NSInteger)versionMinor versionMicro:(NSInteger)versionMicro
-{
-    [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
-        
-        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@)", activeAccount];
-        TableAccount *record = [TableAccount MR_findFirstWithPredicate:predicate inContext:localContext];
-
-        if (record) {
-            
-            record.versionMajor = [NSNumber numberWithInteger:versionMajor];
-            record.versionMinor = [NSNumber numberWithInteger:versionMinor];
-            record.versionMicro = [NSNumber numberWithInteger:versionMicro];
-        }
-    }];
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Certificates =====
 #pragma --------------------------------------------------------------------------------------------
@@ -2016,7 +1986,7 @@
 #pragma mark ===== Capabilities =====
 #pragma --------------------------------------------------------------------------------------------
 
-+ (void)addCapabilities:(OCCapabilities *)capabilities account:(NSString *)account
++ (void)setCapabilities:(OCCapabilities *)capabilities account:(NSString *)account
 {
     [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
         
@@ -2025,12 +1995,18 @@
         TableCapabilities *record = [TableCapabilities MR_createEntityInContext:localContext];
         
         record.account = account;
+        
         record.themingBackground = capabilities.themingBackground;
         record.themingColor = capabilities.themingColor;
         record.themingLogo = capabilities.themingLogo;
         record.themingName = capabilities.themingName;
         record.themingSlogan = capabilities.themingSlogan;
         record.themingUrl = capabilities.themingUrl;
+        
+        record.versionMajor = [NSNumber numberWithInteger:capabilities.versionMajor];
+        record.versionMinor = [NSNumber numberWithInteger:capabilities.versionMinor];
+        record.versionMicro = [NSNumber numberWithInteger:capabilities.versionMicro];
+        record.versionString = capabilities.versionString;
     }];
 }
 
@@ -2041,6 +2017,20 @@
     return [TableCapabilities MR_findFirstWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@)", account] inContext:context];
 }
 
++ (NSInteger)getServerVersionAccount:(NSString *)activeAccount
+{
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@)", activeAccount];
+    TableCapabilities *record = [TableCapabilities MR_findFirstWithPredicate:predicate];
+    
+    if (record) {
+        
+        NSInteger versionMajor = [record.versionMajor integerValue];
+        return versionMajor;
+        
+    } else
+        return 0;
+}
+
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== File System =====
 #pragma --------------------------------------------------------------------------------------------

+ 0 - 3
iOSClient/FileSystem/TableAccount+CoreDataProperties.h

@@ -42,9 +42,6 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nullable, nonatomic, copy) NSString *email;
 @property (nullable, nonatomic, copy) NSString *phone;
 @property (nullable, nonatomic, copy) NSString *twitter;
-@property (nullable, nonatomic, copy) NSNumber *versionMajor;
-@property (nullable, nonatomic, copy) NSNumber *versionMicro;
-@property (nullable, nonatomic, copy) NSNumber *versionMinor;
 @property (nullable, nonatomic, copy) NSString *webpage;
 @property (nullable, nonatomic, copy) NSNumber *quota;
 @property (nullable, nonatomic, copy) NSNumber *quotaFree;

+ 0 - 3
iOSClient/FileSystem/TableAccount+CoreDataProperties.m

@@ -41,9 +41,6 @@
 @dynamic email;
 @dynamic phone;
 @dynamic twitter;
-@dynamic versionMajor;
-@dynamic versionMinor;
-@dynamic versionMicro;
 @dynamic webpage;
 @dynamic quota;
 @dynamic quotaFree;

+ 4 - 0
iOSClient/FileSystem/TableCapabilities+CoreDataProperties.h

@@ -22,6 +22,10 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nullable, nonatomic, copy) NSString *themingName;
 @property (nullable, nonatomic, copy) NSString *themingSlogan;
 @property (nullable, nonatomic, copy) NSString *themingUrl;
+@property (nullable, nonatomic, copy) NSNumber *versionMajor;
+@property (nullable, nonatomic, copy) NSNumber *versionMicro;
+@property (nullable, nonatomic, copy) NSNumber *versionMinor;
+@property (nullable, nonatomic, copy) NSString *versionString;
 
 @end
 

+ 4 - 0
iOSClient/FileSystem/TableCapabilities+CoreDataProperties.m

@@ -21,5 +21,9 @@
 @dynamic themingName;
 @dynamic themingSlogan;
 @dynamic themingUrl;
+@dynamic versionMajor;
+@dynamic versionMinor;
+@dynamic versionMicro;
+@dynamic versionString;
 
 @end

+ 4 - 10
iOSClient/Main/CCMain.m

@@ -191,9 +191,6 @@
         // Read Folder
         [self readFolderWithForced:NO serverUrl:_serverUrl];
     }
-
-    // Version Server
-    app.serverVersion = [CCCoreData getServerVersionMajorActiveAccount:app.activeAccount];
     
     // Title
     [self setTitle];
@@ -208,7 +205,7 @@
     self.searchController.searchBar.delegate = self;
     self.searchController.searchBar.placeholder = NSLocalizedString(@"_search_this_folder_",nil);
 
-    if (app.serverVersion >= 12) {
+    if ([CCCoreData getServerVersionAccount:app.activeAccount] >= 12) {
         
         if (_isRoot)
             self.searchController.searchBar.scopeButtonTitles = [NSArray arrayWithObjects:NSLocalizedString(@"_search_this_folder_",nil),NSLocalizedString(@"_search_all_folders_",nil), nil];
@@ -1221,7 +1218,7 @@
 - (void)getCapabilitiesOfServerSuccess:(OCCapabilities *)capabilities
 {
     // Update capabilities db
-    [CCCoreData addCapabilities:capabilities account:app.activeAccount];
+    [CCCoreData setCapabilities:capabilities account:app.activeAccount];
     
     // Change Theming color
     [app settingThemingColorBrand];
@@ -1240,7 +1237,7 @@
     });
 
     // Search bar if change version
-    if (app.serverVersion != capabilities.versionMajor) {
+    if ([CCCoreData getServerVersionAccount:app.activeAccount] != capabilities.versionMajor) {
     
         [self cancelSearchBar];
         
@@ -1270,9 +1267,6 @@
         metadataNet.action = actionGetExternalSitesServer;
         [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
     }
-    
-    [CCCoreData setServerVersionActiveAccount:app.activeAccount versionMajor:capabilities.versionMajor versionMinor:capabilities.versionMinor versionMicro:capabilities.versionMicro];
-    app.serverVersion = capabilities.versionMajor;
 }
 
 #pragma mark -
@@ -1991,7 +1985,7 @@
         
         _searchFileName = fileName;
         
-        if (app.serverVersion >= 12 && ![_depth isEqualToString:@"0"]) {
+        if ([CCCoreData getServerVersionAccount:app.activeAccount] >= 12 && ![_depth isEqualToString:@"0"]) {
             
             [[CCActions sharedInstance] search:_serverUrl fileName:_searchFileName depth:_depth delegate:self];
             

+ 2 - 2
iOSClient/Settings/CCSettings.m

@@ -438,9 +438,9 @@
         break;
         case 5: {
             
-            TableAccount *tableAccount = [CCCoreData getActiveAccount];
+            TableCapabilities *record = [CCCoreData getCapabilitesForAccount:app.activeAccount];
             
-            NSString *versionServer = [NSString stringWithFormat:@"%lu.%lu.%lu",(unsigned long)[tableAccount.versionMajor integerValue], (unsigned long)[tableAccount.versionMinor integerValue], (unsigned long)[tableAccount.versionMicro integerValue]];
+            NSString *versionServer = record.versionString;
             
             NSString *versionApp = [NSString stringWithFormat:@"%@.%@", [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"], [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]];
             

+ 6 - 5
iOSClient/cryptocloud.xcdatamodeld/cryptocloud 8.xcdatamodel/contents

@@ -33,9 +33,6 @@
         <attribute name="twitter" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="url" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="user" optional="YES" attributeType="String" syncable="YES"/>
-        <attribute name="versionMajor" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
-        <attribute name="versionMicro" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
-        <attribute name="versionMinor" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
         <attribute name="webpage" optional="YES" attributeType="String" syncable="YES"/>
     </entity>
     <entity name="TableActivity" representedClassName="TableActivity" syncable="YES">
@@ -71,6 +68,10 @@
         <attribute name="themingName" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="themingSlogan" optional="YES" attributeType="String" syncable="YES"/>
         <attribute name="themingUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="versionMajor" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="versionMicro" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="versionMinor" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="versionString" optional="YES" attributeType="String" syncable="YES"/>
     </entity>
     <entity name="TableCertificates" representedClassName="TableCertificates" syncable="YES">
         <attribute name="certificateLocation" optional="YES" attributeType="String" syncable="YES"/>
@@ -162,9 +163,10 @@
         <attribute name="shareUserAndGroup" optional="YES" attributeType="String" syncable="YES"/>
     </entity>
     <elements>
-        <element name="TableAccount" positionX="-6597" positionY="111" width="171" height="585"/>
+        <element name="TableAccount" positionX="-6597" positionY="111" width="171" height="540"/>
         <element name="TableActivity" positionX="-6399" positionY="252" width="128" height="210"/>
         <element name="TableAutomaticUpload" positionX="-6597" positionY="801" width="128" height="195"/>
+        <element name="TableCapabilities" positionX="-6390" positionY="261" width="128" height="210"/>
         <element name="TableCertificates" positionX="-6597" positionY="711" width="128" height="60"/>
         <element name="TableDirectory" positionX="-6372" positionY="111" width="162" height="210"/>
         <element name="TableExternalSites" positionX="-6399" positionY="252" width="128" height="150"/>
@@ -172,6 +174,5 @@
         <element name="TableLocalFile" positionX="-6138" positionY="111" width="162" height="225"/>
         <element name="TableMetadata" positionX="-6138" positionY="402" width="162" height="510"/>
         <element name="TableShare" positionX="-6597" positionY="558" width="128" height="120"/>
-        <element name="TableCapabilities" positionX="-6390" positionY="261" width="128" height="150"/>
     </elements>
 </model>