Browse Source

Add capabilities table

Marino Faggiana 7 năm trước cách đây
mục cha
commit
0fa17df7d6

+ 27 - 1
Nextcloud.xcodeproj/project.pbxproj

@@ -322,6 +322,14 @@
 		F76B3CCF1EAE01BD00921AC9 /* NCBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CCD1EAE01BD00921AC9 /* NCBrand.swift */; };
 		F76B3CD01EAE01BD00921AC9 /* NCBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CCD1EAE01BD00921AC9 /* NCBrand.swift */; };
 		F76B3CD11EAE01BD00921AC9 /* NCBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CCD1EAE01BD00921AC9 /* NCBrand.swift */; };
+		F76B3CE11EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */; };
+		F76B3CE21EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */; };
+		F76B3CE31EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */; };
+		F76B3CE41EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */; };
+		F76B3CE51EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */; };
+		F76B3CE61EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */; };
+		F76B3CE71EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */; };
+		F76B3CE81EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */; };
 		F77B0DF01D118A16002130FE /* UIImage+Resizing.m in Sources */ = {isa = PBXBuildFile; fileRef = F70F04CA1C889184008DAB36 /* UIImage+Resizing.m */; };
 		F77B0DF21D118A16002130FE /* CCUploadFromOtherUpp.m in Sources */ = {isa = PBXBuildFile; fileRef = F7956FCA1B4886E60085DEA3 /* CCUploadFromOtherUpp.m */; };
 		F77B0DF41D118A16002130FE /* CCMain.m in Sources */ = {isa = PBXBuildFile; fileRef = F70211FB1BAC56E9003FC03E /* CCMain.m */; };
@@ -1429,6 +1437,11 @@
 		F769D3981E9E1506006DBBB4 /* CCLocalStorageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLocalStorageCell.m; sourceTree = "<group>"; };
 		F769D3991E9E1506006DBBB4 /* CCLocalStorageCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CCLocalStorageCell.xib; sourceTree = "<group>"; };
 		F76B3CCD1EAE01BD00921AC9 /* NCBrand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCBrand.swift; sourceTree = "<group>"; };
+		F76B3CDC1EAE4D9100921AC9 /* cryptocloud 8.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "cryptocloud 8.xcdatamodel"; sourceTree = "<group>"; };
+		F76B3CDD1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TableCapabilities+CoreDataClass.h"; sourceTree = "<group>"; };
+		F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "TableCapabilities+CoreDataClass.m"; sourceTree = "<group>"; };
+		F76B3CDF1EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TableCapabilities+CoreDataProperties.h"; sourceTree = "<group>"; };
+		F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "TableCapabilities+CoreDataProperties.m"; sourceTree = "<group>"; };
 		F76C3B831C6388BC00DC4301 /* CCGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCGraphics.h; sourceTree = "<group>"; };
 		F76C3B841C6388BC00DC4301 /* CCGraphics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCGraphics.m; sourceTree = "<group>"; };
 		F76C3B871C638A4C00DC4301 /* CCError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCError.h; sourceTree = "<group>"; };
@@ -2861,6 +2874,10 @@
 		F77F86401B4ABF6D009F0A10 /* Table */ = {
 			isa = PBXGroup;
 			children = (
+				F76B3CDD1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.h */,
+				F76B3CDE1EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m */,
+				F76B3CDF1EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.h */,
+				F76B3CE01EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m */,
 				F73C414C1E82E51F000137C0 /* TableExternalSites+CoreDataClass.h */,
 				F73C414D1E82E51F000137C0 /* TableExternalSites+CoreDataClass.m */,
 				F73C414E1E82E51F000137C0 /* TableExternalSites+CoreDataProperties.h */,
@@ -3932,6 +3949,7 @@
 				F71459BD1D12E3B700CAFEEC /* UIImage+animatedGIF.m in Sources */,
 				F708CF6E1E56E8CC00271D8B /* TableMetadata+CoreDataClass.m in Sources */,
 				F71459BE1D12E3B700CAFEEC /* UIImage+Reflection.m in Sources */,
+				F76B3CE61EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */,
 				F73CC06D1E813DFF006E3047 /* BKPasscodeField.m in Sources */,
 				F71459BF1D12E3B700CAFEEC /* RNEncryptor.m in Sources */,
 				F708CF891E56E8CC00271D8B /* TableShare+CoreDataProperties.m in Sources */,
@@ -3945,6 +3963,7 @@
 				F7FB5F201E66F0A400389481 /* TableActivity+CoreDataClass.m in Sources */,
 				F71459C61D12E3B700CAFEEC /* CCMetadata.m in Sources */,
 				F708CF771E56E8CC00271D8B /* TableLocalFile+CoreDataProperties.m in Sources */,
+				F76B3CE21EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */,
 				F71459C91D12E3B700CAFEEC /* OCNetworking.m in Sources */,
 				F71459CC1D12E3B700CAFEEC /* RNCryptorEngine.m in Sources */,
 				F71459CD1D12E3B700CAFEEC /* AFViewShaker.m in Sources */,
@@ -4007,6 +4026,7 @@
 				F708CF871E56E8CC00271D8B /* TableShare+CoreDataClass.m in Sources */,
 				F743447A1E127EA6001CC831 /* CCGraphics.m in Sources */,
 				F708CF9C1E56E8CC00271D8B /* TableAccount+CoreDataProperties.m in Sources */,
+				F76B3CE71EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */,
 				F708CF811E56E8CC00271D8B /* TableDirectory+CoreDataClass.m in Sources */,
 				F708CF901E56E8CC00271D8B /* TableCertificates+CoreDataProperties.m in Sources */,
 				F743448C1E128010001CC831 /* CCCrypto.m in Sources */,
@@ -4052,6 +4072,7 @@
 				F708CF8A1E56E8CC00271D8B /* TableShare+CoreDataProperties.m in Sources */,
 				F74344661E127E35001CC831 /* CCCoreData.m in Sources */,
 				F76B3CD01EAE01BD00921AC9 /* NCBrand.swift in Sources */,
+				F76B3CE31EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */,
 				F73CC0801E813DFF006E3047 /* BKTouchIDSwitchView.m in Sources */,
 				F743447C1E127EB2001CC831 /* NSString+TruncateToWidth.m in Sources */,
 				F708CF751E56E8CC00271D8B /* TableLocalFile+CoreDataClass.m in Sources */,
@@ -4067,6 +4088,8 @@
 			buildActionMask = 2147483647;
 			files = (
 				F74344251E1264EE001CC831 /* FileProvider.swift in Sources */,
+				F76B3CE41EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */,
+				F76B3CE81EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */,
 				F76B3CD11EAE01BD00921AC9 /* NCBrand.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -4179,6 +4202,7 @@
 				F77B0E391D118A16002130FE /* CCContoCorrente.m in Sources */,
 				F77B0E3A1D118A16002130FE /* RNCryptorEngine.m in Sources */,
 				F77B0E3C1D118A16002130FE /* CCCartaIdentita.m in Sources */,
+				F76B3CE51EAE4E5100921AC9 /* TableCapabilities+CoreDataProperties.m in Sources */,
 				F762CB761EACB7D400B38484 /* ReaderThumbView.m in Sources */,
 				F7659A6C1DC0B760004860C4 /* PSTGridLayoutItem.m in Sources */,
 				F762CAFF1EACB66200B38484 /* XLFormPickerCell.m in Sources */,
@@ -4247,6 +4271,7 @@
 				F76B3CCE1EAE01BD00921AC9 /* NCBrand.swift in Sources */,
 				F7B1FBC91E72E3D1001781FE /* SwiftWebVCActivityChrome.swift in Sources */,
 				F7F06EA51DBFACC600099AE9 /* CTAssetItemViewController.m in Sources */,
+				F76B3CE11EAE4E5100921AC9 /* TableCapabilities+CoreDataClass.m in Sources */,
 				F762CB8A1EACB81000B38484 /* REMenuItemView.m in Sources */,
 				F7659A5A1DC0B760004860C4 /* PSTCollectionView.m in Sources */,
 				F7BF1B431D51E893000854F6 /* CCLogin.m in Sources */,
@@ -4981,6 +5006,7 @@
 		F78088E51DD3A1DB005C5A7C /* cryptocloud.xcdatamodeld */ = {
 			isa = XCVersionGroup;
 			children = (
+				F76B3CDC1EAE4D9100921AC9 /* cryptocloud 8.xcdatamodel */,
 				F7C00D4A1E2D10BB0032160B /* cryptocloud 7.xcdatamodel */,
 				F7BFA4541E0693EE0010E44C /* cryptocloud 5.xcdatamodel */,
 				F78088E61DD3A1DB005C5A7C /* cryptocloud 2.xcdatamodel */,
@@ -4988,7 +5014,7 @@
 				F78088E81DD3A1DB005C5A7C /* cryptocloud 4.xcdatamodel */,
 				F78088E91DD3A1DB005C5A7C /* cryptocloud.xcdatamodel */,
 			);
-			currentVersion = F7C00D4A1E2D10BB0032160B /* cryptocloud 7.xcdatamodel */;
+			currentVersion = F76B3CDC1EAE4D9100921AC9 /* cryptocloud 8.xcdatamodel */;
 			path = cryptocloud.xcdatamodeld;
 			sourceTree = "<group>";
 			versionGroupType = wrapper.xcdatamodel;

+ 20 - 0
iOSClient/FileSystem/TableCapabilities+CoreDataClass.h

@@ -0,0 +1,20 @@
+//
+//  TableCapabilities+CoreDataClass.h
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 24/04/17.
+//  Copyright © 2017 TWS. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <CoreData/CoreData.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TableCapabilities : NSManagedObject
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#import "TableCapabilities+CoreDataProperties.h"

+ 13 - 0
iOSClient/FileSystem/TableCapabilities+CoreDataClass.m

@@ -0,0 +1,13 @@
+//
+//  TableCapabilities+CoreDataClass.m
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 24/04/17.
+//  Copyright © 2017 TWS. All rights reserved.
+//
+
+#import "TableCapabilities+CoreDataClass.h"
+
+@implementation TableCapabilities
+
+@end

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

@@ -0,0 +1,28 @@
+//
+//  TableCapabilities+CoreDataProperties.h
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 24/04/17.
+//  Copyright © 2017 TWS. All rights reserved.
+//
+
+#import "TableCapabilities+CoreDataClass.h"
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TableCapabilities (CoreDataProperties)
+
++ (NSFetchRequest<TableCapabilities *> *)fetchRequest;
+
+@property (nullable, nonatomic, copy) NSString *account;
+@property (nullable, nonatomic, copy) NSString *themingBackground;
+@property (nullable, nonatomic, copy) NSString *themingColor;
+@property (nullable, nonatomic, copy) NSString *themingLogo;
+@property (nullable, nonatomic, copy) NSString *themingName;
+@property (nullable, nonatomic, copy) NSString *themingSlogan;
+@property (nullable, nonatomic, copy) NSString *themingUrl;
+
+@end
+
+NS_ASSUME_NONNULL_END

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

@@ -0,0 +1,25 @@
+//
+//  TableCapabilities+CoreDataProperties.m
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 24/04/17.
+//  Copyright © 2017 TWS. All rights reserved.
+//
+
+#import "TableCapabilities+CoreDataProperties.h"
+
+@implementation TableCapabilities (CoreDataProperties)
+
++ (NSFetchRequest<TableCapabilities *> *)fetchRequest {
+	return [[NSFetchRequest alloc] initWithEntityName:@"TableCapabilities"];
+}
+
+@dynamic account;
+@dynamic themingBackground;
+@dynamic themingColor;
+@dynamic themingLogo;
+@dynamic themingName;
+@dynamic themingSlogan;
+@dynamic themingUrl;
+
+@end

+ 1 - 1
iOSClient/Main/CCMain.m

@@ -1194,7 +1194,7 @@
     
     if (k_option_use_themingColor == YES) {
         
-        UIColor *themingColor =  [CCGraphics colorFromHexString:capabilities.themingColor];
+        UIColor *themingColor = [CCGraphics colorFromHexString:capabilities.themingColor];
         NCBrandColor.sharedInstance.navigationBar = themingColor;
         NCBrandColor.sharedInstance.navigationBarShare = themingColor;
         self.navigationController.navigationBar.barTintColor = [NCBrandColor sharedInstance].navigationBar;

+ 1 - 0
iOSClient/Utility/CCGraphics.h

@@ -41,6 +41,7 @@
 + (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)targetSize isAspectRation:(BOOL)aspect;
 
 + (UIColor *)colorFromHexString:(NSString *)hexString;
++ (UIImage *)changeColorImage:(UIImage *)image color:(UIColor *)color;
 
 @end
 

+ 14 - 1
iOSClient/Utility/CCGraphics.m

@@ -273,8 +273,21 @@
     return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0];
 }
 
-@end
++ (UIImage *)changeColorImage:(UIImage *)image color:(UIColor *)color
+{
+    CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
+    UIGraphicsBeginImageContext(rect.size);
+    CGContextRef context = UIGraphicsGetCurrentContext();
+    CGContextClipToMask(context, rect, image.CGImage);
+    CGContextSetFillColorWithColor(context, [color CGColor]);
+    CGContextFillRect(context, rect);
+    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
+    UIGraphicsEndImageContext();
+    
+    return [UIImage imageWithCGImage:img.CGImage scale:1.0 orientation: UIImageOrientationDownMirrored];
+}
 
+@end
 
 // ------------------------------------------------------------------------------------------------------
 // MARK: Avatar

+ 1 - 1
iOSClient/cryptocloud.xcdatamodeld/.xccurrentversion

@@ -3,6 +3,6 @@
 <plist version="1.0">
 <dict>
 	<key>_XCCurrentVersionName</key>
-	<string>cryptocloud 7.xcdatamodel</string>
+	<string>cryptocloud 8.xcdatamodel</string>
 </dict>
 </plist>

+ 177 - 0
iOSClient/cryptocloud.xcdatamodeld/cryptocloud 8.xcdatamodel/contents

@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="12141" systemVersion="16E195" minimumToolsVersion="Xcode 7.0" sourceLanguage="Objective-C" userDefinedModelVersionIdentifier="cryptocloud">
+    <entity name="TableAccount" representedClassName="TableAccount" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="active" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="address" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="cameraUpload" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadBackground" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadCreateSubfolder" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadCryptatedPhoto" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadCryptatedVideo" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadDatePhoto" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadDateVideo" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadFolderName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="cameraUploadFolderPath" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="cameraUploadFull" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadPhoto" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadSaveAlbum" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadVideo" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadWWAnPhoto" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="cameraUploadWWAnVideo" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="displayName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="email" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="enabled" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="optimization" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="password" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="phone" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="quota" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="quotaFree" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="quotaRelative" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="quotaTotal" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="quotaUsed" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="NO" syncable="YES"/>
+        <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">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="action" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="file" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="idActivity" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="link" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="note" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="selector" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="type" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="verbose" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+    </entity>
+    <entity name="TableAutomaticUpload" representedClassName="TableAutomaticUpload" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="assetLocalIdentifier" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="lock" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="priority" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="selector" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="selectorPost" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="serverUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="session" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <entity name="TableCapabilities" representedClassName="TableCapabilities" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="themingBackground" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="themingColor" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="themingLogo" optional="YES" attributeType="String" syncable="YES"/>
+        <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"/>
+    </entity>
+    <entity name="TableCertificates" representedClassName="TableCertificates" syncable="YES">
+        <attribute name="certificateLocation" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <entity name="TableDirectory" representedClassName="TableDirectory" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="dateReadDirectory" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="directoryID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="favorite" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="fileID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="lock" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="offline" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="permissions" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="rev" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="serverUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="synchronized" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+    </entity>
+    <entity name="TableExternalSites" representedClassName="TableExternalSites" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="icon" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="idExternalSite" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="lang" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="type" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="url" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <entity name="TableGPS" representedClassName="TableGPS" syncable="YES">
+        <attribute name="latitude" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="location" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="longitude" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="placemarkAdministrativeArea" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="placemarkCountry" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="placemarkLocality" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="placemarkPostalCode" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="placemarkThoroughfare" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <entity name="TableLocalFile" representedClassName="TableLocalFile" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="exifDate" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="exifLatitude" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="exifLongitude" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="favorite" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="fileID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileNamePrint" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="offline" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="rev" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="size" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+    </entity>
+    <entity name="TableMetadata" representedClassName="TableMetadata" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="assetLocalIdentifier" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="cryptated" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="date" optional="YES" attributeType="Date" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="directory" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="directoryID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="errorPasscode" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="favorite" optional="YES" attributeType="Boolean" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="fileID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileNameData" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileNamePrint" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="iconName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="model" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="nameCurrentDevice" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="permissions" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="protocol" optional="YES" attributeType="String" defaultValueString="1" syncable="YES"/>
+        <attribute name="rev" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="session" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="sessionError" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="sessionID" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="sessionSelector" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="sessionSelectorPost" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="sessionTaskIdentifier" optional="YES" attributeType="Integer 16" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="sessionTaskIdentifierPlist" optional="YES" attributeType="Integer 16" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="size" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="thumbnailExists" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="NO" syncable="YES"/>
+        <attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="type" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="typeFile" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="uuid" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <entity name="TableShare" representedClassName="TableShare" syncable="YES">
+        <attribute name="account" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="fileName" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="serverUrl" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="shareLink" optional="YES" attributeType="String" syncable="YES"/>
+        <attribute name="shareUserAndGroup" optional="YES" attributeType="String" syncable="YES"/>
+    </entity>
+    <elements>
+        <element name="TableAccount" positionX="-6597" positionY="111" width="171" height="585"/>
+        <element name="TableActivity" positionX="-6399" positionY="252" width="128" height="210"/>
+        <element name="TableAutomaticUpload" positionX="-6597" positionY="801" width="128" height="195"/>
+        <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"/>
+        <element name="TableGPS" positionX="-6597" positionY="990" width="128" height="165"/>
+        <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>