///
/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
///
/// Auto-generated by Stone, do not modify.
///

#import "DBFILESRouteObjects.h"
#import "DBASYNCLaunchResultBase.h"
#import "DBASYNCPollError.h"
#import "DBASYNCPollResultBase.h"
#import "DBFILEPROPERTIESAddPropertiesError.h"
#import "DBFILEPROPERTIESGetTemplateResult.h"
#import "DBFILEPROPERTIESInvalidPropertyGroupError.h"
#import "DBFILEPROPERTIESListTemplateResult.h"
#import "DBFILEPROPERTIESLookUpPropertiesError.h"
#import "DBFILEPROPERTIESLookupError.h"
#import "DBFILEPROPERTIESPropertiesError.h"
#import "DBFILEPROPERTIESPropertyFieldTemplate.h"
#import "DBFILEPROPERTIESPropertyGroup.h"
#import "DBFILEPROPERTIESPropertyGroupTemplate.h"
#import "DBFILEPROPERTIESRemovePropertiesError.h"
#import "DBFILEPROPERTIESTemplateError.h"
#import "DBFILEPROPERTIESUpdatePropertiesError.h"
#import "DBFILESAddTagError.h"
#import "DBFILESAlphaGetMetadataError.h"
#import "DBFILESAppAuthRoutes.h"
#import "DBFILESBaseTagError.h"
#import "DBFILESCreateFolderBatchError.h"
#import "DBFILESCreateFolderBatchJobStatus.h"
#import "DBFILESCreateFolderBatchLaunch.h"
#import "DBFILESCreateFolderBatchResult.h"
#import "DBFILESCreateFolderError.h"
#import "DBFILESCreateFolderResult.h"
#import "DBFILESDeleteBatchError.h"
#import "DBFILESDeleteBatchJobStatus.h"
#import "DBFILESDeleteBatchLaunch.h"
#import "DBFILESDeleteBatchResult.h"
#import "DBFILESDeleteError.h"
#import "DBFILESDeleteResult.h"
#import "DBFILESDeletedMetadata.h"
#import "DBFILESDownloadError.h"
#import "DBFILESDownloadZipError.h"
#import "DBFILESDownloadZipResult.h"
#import "DBFILESExportError.h"
#import "DBFILESExportInfo.h"
#import "DBFILESExportMetadata.h"
#import "DBFILESExportResult.h"
#import "DBFILESFileLockMetadata.h"
#import "DBFILESFileMetadata.h"
#import "DBFILESFileOpsResult.h"
#import "DBFILESFileSharingInfo.h"
#import "DBFILESFolderMetadata.h"
#import "DBFILESFolderSharingInfo.h"
#import "DBFILESGetCopyReferenceError.h"
#import "DBFILESGetCopyReferenceResult.h"
#import "DBFILESGetMetadataError.h"
#import "DBFILESGetTagsResult.h"
#import "DBFILESGetTemporaryLinkError.h"
#import "DBFILESGetTemporaryLinkResult.h"
#import "DBFILESGetTemporaryUploadLinkResult.h"
#import "DBFILESGetThumbnailBatchError.h"
#import "DBFILESGetThumbnailBatchResult.h"
#import "DBFILESGetThumbnailBatchResultEntry.h"
#import "DBFILESListFolderContinueError.h"
#import "DBFILESListFolderError.h"
#import "DBFILESListFolderGetLatestCursorResult.h"
#import "DBFILESListFolderLongpollError.h"
#import "DBFILESListFolderLongpollResult.h"
#import "DBFILESListFolderResult.h"
#import "DBFILESListRevisionsError.h"
#import "DBFILESListRevisionsResult.h"
#import "DBFILESLockConflictError.h"
#import "DBFILESLockFileBatchResult.h"
#import "DBFILESLockFileError.h"
#import "DBFILESLockFileResultEntry.h"
#import "DBFILESLookupError.h"
#import "DBFILESMediaInfo.h"
#import "DBFILESMetadata.h"
#import "DBFILESMinimalFileLinkMetadata.h"
#import "DBFILESMoveIntoFamilyError.h"
#import "DBFILESMoveIntoVaultError.h"
#import "DBFILESPaperContentError.h"
#import "DBFILESPaperCreateError.h"
#import "DBFILESPaperCreateResult.h"
#import "DBFILESPaperUpdateError.h"
#import "DBFILESPaperUpdateResult.h"
#import "DBFILESPathToTags.h"
#import "DBFILESPreviewError.h"
#import "DBFILESPreviewResult.h"
#import "DBFILESRelocationBatchError.h"
#import "DBFILESRelocationBatchJobStatus.h"
#import "DBFILESRelocationBatchLaunch.h"
#import "DBFILESRelocationBatchResult.h"
#import "DBFILESRelocationBatchV2JobStatus.h"
#import "DBFILESRelocationBatchV2Launch.h"
#import "DBFILESRelocationBatchV2Result.h"
#import "DBFILESRelocationError.h"
#import "DBFILESRelocationResult.h"
#import "DBFILESRemoveTagError.h"
#import "DBFILESRestoreError.h"
#import "DBFILESSaveCopyReferenceError.h"
#import "DBFILESSaveCopyReferenceResult.h"
#import "DBFILESSaveUrlError.h"
#import "DBFILESSaveUrlJobStatus.h"
#import "DBFILESSaveUrlResult.h"
#import "DBFILESSearchError.h"
#import "DBFILESSearchMatch.h"
#import "DBFILESSearchMatchV2.h"
#import "DBFILESSearchResult.h"
#import "DBFILESSearchV2Result.h"
#import "DBFILESSymlinkInfo.h"
#import "DBFILESThumbnailError.h"
#import "DBFILESThumbnailV2Error.h"
#import "DBFILESUploadError.h"
#import "DBFILESUploadSessionAppendError.h"
#import "DBFILESUploadSessionFinishBatchJobStatus.h"
#import "DBFILESUploadSessionFinishBatchLaunch.h"
#import "DBFILESUploadSessionFinishBatchResult.h"
#import "DBFILESUploadSessionFinishBatchResultEntry.h"
#import "DBFILESUploadSessionFinishError.h"
#import "DBFILESUploadSessionLookupError.h"
#import "DBFILESUploadSessionOffsetError.h"
#import "DBFILESUploadSessionStartBatchResult.h"
#import "DBFILESUploadSessionStartError.h"
#import "DBFILESUploadSessionStartResult.h"
#import "DBFILESUploadWriteFailed.h"
#import "DBFILESUserAuthRoutes.h"
#import "DBFILESWriteError.h"
#import "DBRequestErrors.h"
#import "DBStoneBase.h"

@implementation DBFILESRouteObjects

static DBRoute *DBFILESAlphaGetMetadata;
static DBRoute *DBFILESAlphaUpload;
static DBRoute *DBFILESDCopyV2;
static DBRoute *DBFILESDCopy;
static DBRoute *DBFILESDCopyBatchV2;
static DBRoute *DBFILESDCopyBatch;
static DBRoute *DBFILESDCopyBatchCheckV2;
static DBRoute *DBFILESDCopyBatchCheck;
static DBRoute *DBFILESDCopyReferenceGet;
static DBRoute *DBFILESDCopyReferenceSave;
static DBRoute *DBFILESCreateFolderV2;
static DBRoute *DBFILESCreateFolder;
static DBRoute *DBFILESCreateFolderBatch;
static DBRoute *DBFILESCreateFolderBatchCheck;
static DBRoute *DBFILESDelete_V2;
static DBRoute *DBFILESDelete_;
static DBRoute *DBFILESDeleteBatch;
static DBRoute *DBFILESDeleteBatchCheck;
static DBRoute *DBFILESDownload;
static DBRoute *DBFILESDownloadZip;
static DBRoute *DBFILESExport;
static DBRoute *DBFILESGetFileLockBatch;
static DBRoute *DBFILESGetMetadata;
static DBRoute *DBFILESGetPreview;
static DBRoute *DBFILESGetTemporaryLink;
static DBRoute *DBFILESGetTemporaryUploadLink;
static DBRoute *DBFILESGetThumbnail;
static DBRoute *DBFILESGetThumbnailV2;
static DBRoute *DBFILESGetThumbnailBatch;
static DBRoute *DBFILESListFolder;
static DBRoute *DBFILESListFolderContinue;
static DBRoute *DBFILESListFolderGetLatestCursor;
static DBRoute *DBFILESListFolderLongpoll;
static DBRoute *DBFILESListRevisions;
static DBRoute *DBFILESLockFileBatch;
static DBRoute *DBFILESMoveV2;
static DBRoute *DBFILESMove;
static DBRoute *DBFILESMoveBatchV2;
static DBRoute *DBFILESMoveBatch;
static DBRoute *DBFILESMoveBatchCheckV2;
static DBRoute *DBFILESMoveBatchCheck;
static DBRoute *DBFILESPaperCreate;
static DBRoute *DBFILESPaperUpdate;
static DBRoute *DBFILESPermanentlyDelete;
static DBRoute *DBFILESPropertiesAdd;
static DBRoute *DBFILESPropertiesOverwrite;
static DBRoute *DBFILESPropertiesRemove;
static DBRoute *DBFILESPropertiesTemplateGet;
static DBRoute *DBFILESPropertiesTemplateList;
static DBRoute *DBFILESPropertiesUpdate;
static DBRoute *DBFILESRestore;
static DBRoute *DBFILESSaveUrl;
static DBRoute *DBFILESSaveUrlCheckJobStatus;
static DBRoute *DBFILESSearch;
static DBRoute *DBFILESSearchV2;
static DBRoute *DBFILESSearchContinueV2;
static DBRoute *DBFILESTagsAdd;
static DBRoute *DBFILESTagsGet;
static DBRoute *DBFILESTagsRemove;
static DBRoute *DBFILESUnlockFileBatch;
static DBRoute *DBFILESUpload;
static DBRoute *DBFILESUploadSessionAppendV2;
static DBRoute *DBFILESUploadSessionAppend;
static DBRoute *DBFILESUploadSessionFinish;
static DBRoute *DBFILESUploadSessionFinishBatch;
static DBRoute *DBFILESUploadSessionFinishBatchV2;
static DBRoute *DBFILESUploadSessionFinishBatchCheck;
static DBRoute *DBFILESUploadSessionStart;
static DBRoute *DBFILESUploadSessionStartBatch;

static NSObject *lockObj = nil;
+ (void)initialize {
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
    lockObj = [[NSObject alloc] init];
  });
}

+ (DBRoute *)DBFILESAlphaGetMetadata {
  @synchronized(lockObj) {
    if (!DBFILESAlphaGetMetadata) {
      DBFILESAlphaGetMetadata = [[DBRoute alloc] init:@"alpha/get_metadata"
                                           namespace_:@"files"
                                           deprecated:@YES
                                           resultType:[DBFILESMetadata class]
                                            errorType:[DBFILESAlphaGetMetadataError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESAlphaGetMetadata;
  }
}

+ (DBRoute *)DBFILESAlphaUpload {
  @synchronized(lockObj) {
    if (!DBFILESAlphaUpload) {
      DBFILESAlphaUpload = [[DBRoute alloc] init:@"alpha/upload"
                                      namespace_:@"files"
                                      deprecated:@YES
                                      resultType:[DBFILESFileMetadata class]
                                       errorType:[DBFILESUploadError class]
                                           attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESAlphaUpload;
  }
}

+ (DBRoute *)DBFILESDCopyV2 {
  @synchronized(lockObj) {
    if (!DBFILESDCopyV2) {
      DBFILESDCopyV2 = [[DBRoute alloc] init:@"copy_v2"
                                  namespace_:@"files"
                                  deprecated:@NO
                                  resultType:[DBFILESRelocationResult class]
                                   errorType:[DBFILESRelocationError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyV2;
  }
}

+ (DBRoute *)DBFILESDCopy {
  @synchronized(lockObj) {
    if (!DBFILESDCopy) {
      DBFILESDCopy = [[DBRoute alloc] init:@"copy"
                                namespace_:@"files"
                                deprecated:@YES
                                resultType:[DBFILESMetadata class]
                                 errorType:[DBFILESRelocationError class]
                                     attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                     dataStructSerialBlock:nil
                   dataStructDeserialBlock:nil];
    }
    return DBFILESDCopy;
  }
}

+ (DBRoute *)DBFILESDCopyBatchV2 {
  @synchronized(lockObj) {
    if (!DBFILESDCopyBatchV2) {
      DBFILESDCopyBatchV2 = [[DBRoute alloc] init:@"copy_batch_v2"
                                       namespace_:@"files"
                                       deprecated:@NO
                                       resultType:[DBFILESRelocationBatchV2Launch class]
                                        errorType:nil
                                            attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                            dataStructSerialBlock:nil
                          dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyBatchV2;
  }
}

+ (DBRoute *)DBFILESDCopyBatch {
  @synchronized(lockObj) {
    if (!DBFILESDCopyBatch) {
      DBFILESDCopyBatch = [[DBRoute alloc] init:@"copy_batch"
                                     namespace_:@"files"
                                     deprecated:@YES
                                     resultType:[DBFILESRelocationBatchLaunch class]
                                      errorType:nil
                                          attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                          dataStructSerialBlock:nil
                        dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyBatch;
  }
}

+ (DBRoute *)DBFILESDCopyBatchCheckV2 {
  @synchronized(lockObj) {
    if (!DBFILESDCopyBatchCheckV2) {
      DBFILESDCopyBatchCheckV2 = [[DBRoute alloc] init:@"copy_batch/check_v2"
                                            namespace_:@"files"
                                            deprecated:@NO
                                            resultType:[DBFILESRelocationBatchV2JobStatus class]
                                             errorType:[DBASYNCPollError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyBatchCheckV2;
  }
}

+ (DBRoute *)DBFILESDCopyBatchCheck {
  @synchronized(lockObj) {
    if (!DBFILESDCopyBatchCheck) {
      DBFILESDCopyBatchCheck = [[DBRoute alloc] init:@"copy_batch/check"
                                          namespace_:@"files"
                                          deprecated:@YES
                                          resultType:[DBFILESRelocationBatchJobStatus class]
                                           errorType:[DBASYNCPollError class]
                                               attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                               dataStructSerialBlock:nil
                             dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyBatchCheck;
  }
}

+ (DBRoute *)DBFILESDCopyReferenceGet {
  @synchronized(lockObj) {
    if (!DBFILESDCopyReferenceGet) {
      DBFILESDCopyReferenceGet = [[DBRoute alloc] init:@"copy_reference/get"
                                            namespace_:@"files"
                                            deprecated:@NO
                                            resultType:[DBFILESGetCopyReferenceResult class]
                                             errorType:[DBFILESGetCopyReferenceError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyReferenceGet;
  }
}

+ (DBRoute *)DBFILESDCopyReferenceSave {
  @synchronized(lockObj) {
    if (!DBFILESDCopyReferenceSave) {
      DBFILESDCopyReferenceSave = [[DBRoute alloc] init:@"copy_reference/save"
                                             namespace_:@"files"
                                             deprecated:@NO
                                             resultType:[DBFILESSaveCopyReferenceResult class]
                                              errorType:[DBFILESSaveCopyReferenceError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBFILESDCopyReferenceSave;
  }
}

+ (DBRoute *)DBFILESCreateFolderV2 {
  @synchronized(lockObj) {
    if (!DBFILESCreateFolderV2) {
      DBFILESCreateFolderV2 = [[DBRoute alloc] init:@"create_folder_v2"
                                         namespace_:@"files"
                                         deprecated:@NO
                                         resultType:[DBFILESCreateFolderResult class]
                                          errorType:[DBFILESCreateFolderError class]
                                              attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                              dataStructSerialBlock:nil
                            dataStructDeserialBlock:nil];
    }
    return DBFILESCreateFolderV2;
  }
}

+ (DBRoute *)DBFILESCreateFolder {
  @synchronized(lockObj) {
    if (!DBFILESCreateFolder) {
      DBFILESCreateFolder = [[DBRoute alloc] init:@"create_folder"
                                       namespace_:@"files"
                                       deprecated:@YES
                                       resultType:[DBFILESFolderMetadata class]
                                        errorType:[DBFILESCreateFolderError class]
                                            attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                            dataStructSerialBlock:nil
                          dataStructDeserialBlock:nil];
    }
    return DBFILESCreateFolder;
  }
}

+ (DBRoute *)DBFILESCreateFolderBatch {
  @synchronized(lockObj) {
    if (!DBFILESCreateFolderBatch) {
      DBFILESCreateFolderBatch = [[DBRoute alloc] init:@"create_folder_batch"
                                            namespace_:@"files"
                                            deprecated:@NO
                                            resultType:[DBFILESCreateFolderBatchLaunch class]
                                             errorType:nil
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBFILESCreateFolderBatch;
  }
}

+ (DBRoute *)DBFILESCreateFolderBatchCheck {
  @synchronized(lockObj) {
    if (!DBFILESCreateFolderBatchCheck) {
      DBFILESCreateFolderBatchCheck = [[DBRoute alloc] init:@"create_folder_batch/check"
                                                 namespace_:@"files"
                                                 deprecated:@NO
                                                 resultType:[DBFILESCreateFolderBatchJobStatus class]
                                                  errorType:[DBASYNCPollError class]
                                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                      dataStructSerialBlock:nil
                                    dataStructDeserialBlock:nil];
    }
    return DBFILESCreateFolderBatchCheck;
  }
}

+ (DBRoute *)DBFILESDelete_V2 {
  @synchronized(lockObj) {
    if (!DBFILESDelete_V2) {
      DBFILESDelete_V2 = [[DBRoute alloc] init:@"delete_v2"
                                    namespace_:@"files"
                                    deprecated:@NO
                                    resultType:[DBFILESDeleteResult class]
                                     errorType:[DBFILESDeleteError class]
                                         attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                         dataStructSerialBlock:nil
                       dataStructDeserialBlock:nil];
    }
    return DBFILESDelete_V2;
  }
}

+ (DBRoute *)DBFILESDelete_ {
  @synchronized(lockObj) {
    if (!DBFILESDelete_) {
      DBFILESDelete_ = [[DBRoute alloc] init:@"delete"
                                  namespace_:@"files"
                                  deprecated:@YES
                                  resultType:[DBFILESMetadata class]
                                   errorType:[DBFILESDeleteError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESDelete_;
  }
}

+ (DBRoute *)DBFILESDeleteBatch {
  @synchronized(lockObj) {
    if (!DBFILESDeleteBatch) {
      DBFILESDeleteBatch = [[DBRoute alloc] init:@"delete_batch"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESDeleteBatchLaunch class]
                                       errorType:nil
                                           attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESDeleteBatch;
  }
}

+ (DBRoute *)DBFILESDeleteBatchCheck {
  @synchronized(lockObj) {
    if (!DBFILESDeleteBatchCheck) {
      DBFILESDeleteBatchCheck = [[DBRoute alloc] init:@"delete_batch/check"
                                           namespace_:@"files"
                                           deprecated:@NO
                                           resultType:[DBFILESDeleteBatchJobStatus class]
                                            errorType:[DBASYNCPollError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESDeleteBatchCheck;
  }
}

+ (DBRoute *)DBFILESDownload {
  @synchronized(lockObj) {
    if (!DBFILESDownload) {
      DBFILESDownload = [[DBRoute alloc] init:@"download"
                                   namespace_:@"files"
                                   deprecated:@NO
                                   resultType:[DBFILESFileMetadata class]
                                    errorType:[DBFILESDownloadError class]
                                        attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                        dataStructSerialBlock:nil
                      dataStructDeserialBlock:nil];
    }
    return DBFILESDownload;
  }
}

+ (DBRoute *)DBFILESDownloadZip {
  @synchronized(lockObj) {
    if (!DBFILESDownloadZip) {
      DBFILESDownloadZip = [[DBRoute alloc] init:@"download_zip"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESDownloadZipResult class]
                                       errorType:[DBFILESDownloadZipError class]
                                           attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESDownloadZip;
  }
}

+ (DBRoute *)DBFILESExport {
  @synchronized(lockObj) {
    if (!DBFILESExport) {
      DBFILESExport = [[DBRoute alloc] init:@"export"
                                 namespace_:@"files"
                                 deprecated:@NO
                                 resultType:[DBFILESExportResult class]
                                  errorType:[DBFILESExportError class]
                                      attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                      dataStructSerialBlock:nil
                    dataStructDeserialBlock:nil];
    }
    return DBFILESExport;
  }
}

+ (DBRoute *)DBFILESGetFileLockBatch {
  @synchronized(lockObj) {
    if (!DBFILESGetFileLockBatch) {
      DBFILESGetFileLockBatch = [[DBRoute alloc] init:@"get_file_lock_batch"
                                           namespace_:@"files"
                                           deprecated:@NO
                                           resultType:[DBFILESLockFileBatchResult class]
                                            errorType:[DBFILESLockFileError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESGetFileLockBatch;
  }
}

+ (DBRoute *)DBFILESGetMetadata {
  @synchronized(lockObj) {
    if (!DBFILESGetMetadata) {
      DBFILESGetMetadata = [[DBRoute alloc] init:@"get_metadata"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESMetadata class]
                                       errorType:[DBFILESGetMetadataError class]
                                           attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESGetMetadata;
  }
}

+ (DBRoute *)DBFILESGetPreview {
  @synchronized(lockObj) {
    if (!DBFILESGetPreview) {
      DBFILESGetPreview = [[DBRoute alloc] init:@"get_preview"
                                     namespace_:@"files"
                                     deprecated:@NO
                                     resultType:[DBFILESFileMetadata class]
                                      errorType:[DBFILESPreviewError class]
                                          attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                          dataStructSerialBlock:nil
                        dataStructDeserialBlock:nil];
    }
    return DBFILESGetPreview;
  }
}

+ (DBRoute *)DBFILESGetTemporaryLink {
  @synchronized(lockObj) {
    if (!DBFILESGetTemporaryLink) {
      DBFILESGetTemporaryLink = [[DBRoute alloc] init:@"get_temporary_link"
                                           namespace_:@"files"
                                           deprecated:@NO
                                           resultType:[DBFILESGetTemporaryLinkResult class]
                                            errorType:[DBFILESGetTemporaryLinkError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESGetTemporaryLink;
  }
}

+ (DBRoute *)DBFILESGetTemporaryUploadLink {
  @synchronized(lockObj) {
    if (!DBFILESGetTemporaryUploadLink) {
      DBFILESGetTemporaryUploadLink = [[DBRoute alloc] init:@"get_temporary_upload_link"
                                                 namespace_:@"files"
                                                 deprecated:@NO
                                                 resultType:[DBFILESGetTemporaryUploadLinkResult class]
                                                  errorType:nil
                                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                      dataStructSerialBlock:nil
                                    dataStructDeserialBlock:nil];
    }
    return DBFILESGetTemporaryUploadLink;
  }
}

+ (DBRoute *)DBFILESGetThumbnail {
  @synchronized(lockObj) {
    if (!DBFILESGetThumbnail) {
      DBFILESGetThumbnail = [[DBRoute alloc] init:@"get_thumbnail"
                                       namespace_:@"files"
                                       deprecated:@NO
                                       resultType:[DBFILESFileMetadata class]
                                        errorType:[DBFILESThumbnailError class]
                                            attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                            dataStructSerialBlock:nil
                          dataStructDeserialBlock:nil];
    }
    return DBFILESGetThumbnail;
  }
}

+ (DBRoute *)DBFILESGetThumbnailV2 {
  @synchronized(lockObj) {
    if (!DBFILESGetThumbnailV2) {
      DBFILESGetThumbnailV2 =
          [[DBRoute alloc] init:@"get_thumbnail_v2"
                           namespace_:@"files"
                           deprecated:@NO
                           resultType:[DBFILESPreviewResult class]
                            errorType:[DBFILESThumbnailV2Error class]
                                attrs:@{@"auth" : @"app, user", @"host" : @"content", @"style" : @"download"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESGetThumbnailV2;
  }
}

+ (DBRoute *)DBFILESGetThumbnailBatch {
  @synchronized(lockObj) {
    if (!DBFILESGetThumbnailBatch) {
      DBFILESGetThumbnailBatch = [[DBRoute alloc] init:@"get_thumbnail_batch"
                                            namespace_:@"files"
                                            deprecated:@NO
                                            resultType:[DBFILESGetThumbnailBatchResult class]
                                             errorType:[DBFILESGetThumbnailBatchError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBFILESGetThumbnailBatch;
  }
}

+ (DBRoute *)DBFILESListFolder {
  @synchronized(lockObj) {
    if (!DBFILESListFolder) {
      DBFILESListFolder = [[DBRoute alloc] init:@"list_folder"
                                     namespace_:@"files"
                                     deprecated:@NO
                                     resultType:[DBFILESListFolderResult class]
                                      errorType:[DBFILESListFolderError class]
                                          attrs:@{@"auth" : @"app, user", @"host" : @"api", @"style" : @"rpc"}
                          dataStructSerialBlock:nil
                        dataStructDeserialBlock:nil];
    }
    return DBFILESListFolder;
  }
}

+ (DBRoute *)DBFILESListFolderContinue {
  @synchronized(lockObj) {
    if (!DBFILESListFolderContinue) {
      DBFILESListFolderContinue = [[DBRoute alloc] init:@"list_folder/continue"
                                             namespace_:@"files"
                                             deprecated:@NO
                                             resultType:[DBFILESListFolderResult class]
                                              errorType:[DBFILESListFolderContinueError class]
                                                  attrs:@{@"auth" : @"app, user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBFILESListFolderContinue;
  }
}

+ (DBRoute *)DBFILESListFolderGetLatestCursor {
  @synchronized(lockObj) {
    if (!DBFILESListFolderGetLatestCursor) {
      DBFILESListFolderGetLatestCursor = [[DBRoute alloc] init:@"list_folder/get_latest_cursor"
                                                    namespace_:@"files"
                                                    deprecated:@NO
                                                    resultType:[DBFILESListFolderGetLatestCursorResult class]
                                                     errorType:[DBFILESListFolderError class]
                                                         attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                         dataStructSerialBlock:nil
                                       dataStructDeserialBlock:nil];
    }
    return DBFILESListFolderGetLatestCursor;
  }
}

+ (DBRoute *)DBFILESListFolderLongpoll {
  @synchronized(lockObj) {
    if (!DBFILESListFolderLongpoll) {
      DBFILESListFolderLongpoll = [[DBRoute alloc] init:@"list_folder/longpoll"
                                             namespace_:@"files"
                                             deprecated:@NO
                                             resultType:[DBFILESListFolderLongpollResult class]
                                              errorType:[DBFILESListFolderLongpollError class]
                                                  attrs:@{@"auth" : @"noauth", @"host" : @"notify", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBFILESListFolderLongpoll;
  }
}

+ (DBRoute *)DBFILESListRevisions {
  @synchronized(lockObj) {
    if (!DBFILESListRevisions) {
      DBFILESListRevisions = [[DBRoute alloc] init:@"list_revisions"
                                        namespace_:@"files"
                                        deprecated:@NO
                                        resultType:[DBFILESListRevisionsResult class]
                                         errorType:[DBFILESListRevisionsError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBFILESListRevisions;
  }
}

+ (DBRoute *)DBFILESLockFileBatch {
  @synchronized(lockObj) {
    if (!DBFILESLockFileBatch) {
      DBFILESLockFileBatch = [[DBRoute alloc] init:@"lock_file_batch"
                                        namespace_:@"files"
                                        deprecated:@NO
                                        resultType:[DBFILESLockFileBatchResult class]
                                         errorType:[DBFILESLockFileError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBFILESLockFileBatch;
  }
}

+ (DBRoute *)DBFILESMoveV2 {
  @synchronized(lockObj) {
    if (!DBFILESMoveV2) {
      DBFILESMoveV2 = [[DBRoute alloc] init:@"move_v2"
                                 namespace_:@"files"
                                 deprecated:@NO
                                 resultType:[DBFILESRelocationResult class]
                                  errorType:[DBFILESRelocationError class]
                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                      dataStructSerialBlock:nil
                    dataStructDeserialBlock:nil];
    }
    return DBFILESMoveV2;
  }
}

+ (DBRoute *)DBFILESMove {
  @synchronized(lockObj) {
    if (!DBFILESMove) {
      DBFILESMove = [[DBRoute alloc] init:@"move"
                               namespace_:@"files"
                               deprecated:@YES
                               resultType:[DBFILESMetadata class]
                                errorType:[DBFILESRelocationError class]
                                    attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                    dataStructSerialBlock:nil
                  dataStructDeserialBlock:nil];
    }
    return DBFILESMove;
  }
}

+ (DBRoute *)DBFILESMoveBatchV2 {
  @synchronized(lockObj) {
    if (!DBFILESMoveBatchV2) {
      DBFILESMoveBatchV2 = [[DBRoute alloc] init:@"move_batch_v2"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESRelocationBatchV2Launch class]
                                       errorType:nil
                                           attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESMoveBatchV2;
  }
}

+ (DBRoute *)DBFILESMoveBatch {
  @synchronized(lockObj) {
    if (!DBFILESMoveBatch) {
      DBFILESMoveBatch = [[DBRoute alloc] init:@"move_batch"
                                    namespace_:@"files"
                                    deprecated:@YES
                                    resultType:[DBFILESRelocationBatchLaunch class]
                                     errorType:nil
                                         attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                         dataStructSerialBlock:nil
                       dataStructDeserialBlock:nil];
    }
    return DBFILESMoveBatch;
  }
}

+ (DBRoute *)DBFILESMoveBatchCheckV2 {
  @synchronized(lockObj) {
    if (!DBFILESMoveBatchCheckV2) {
      DBFILESMoveBatchCheckV2 = [[DBRoute alloc] init:@"move_batch/check_v2"
                                           namespace_:@"files"
                                           deprecated:@NO
                                           resultType:[DBFILESRelocationBatchV2JobStatus class]
                                            errorType:[DBASYNCPollError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESMoveBatchCheckV2;
  }
}

+ (DBRoute *)DBFILESMoveBatchCheck {
  @synchronized(lockObj) {
    if (!DBFILESMoveBatchCheck) {
      DBFILESMoveBatchCheck = [[DBRoute alloc] init:@"move_batch/check"
                                         namespace_:@"files"
                                         deprecated:@YES
                                         resultType:[DBFILESRelocationBatchJobStatus class]
                                          errorType:[DBASYNCPollError class]
                                              attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                              dataStructSerialBlock:nil
                            dataStructDeserialBlock:nil];
    }
    return DBFILESMoveBatchCheck;
  }
}

+ (DBRoute *)DBFILESPaperCreate {
  @synchronized(lockObj) {
    if (!DBFILESPaperCreate) {
      DBFILESPaperCreate = [[DBRoute alloc] init:@"paper/create"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESPaperCreateResult class]
                                       errorType:[DBFILESPaperCreateError class]
                                           attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"upload"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESPaperCreate;
  }
}

+ (DBRoute *)DBFILESPaperUpdate {
  @synchronized(lockObj) {
    if (!DBFILESPaperUpdate) {
      DBFILESPaperUpdate = [[DBRoute alloc] init:@"paper/update"
                                      namespace_:@"files"
                                      deprecated:@NO
                                      resultType:[DBFILESPaperUpdateResult class]
                                       errorType:[DBFILESPaperUpdateError class]
                                           attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"upload"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBFILESPaperUpdate;
  }
}

+ (DBRoute *)DBFILESPermanentlyDelete {
  @synchronized(lockObj) {
    if (!DBFILESPermanentlyDelete) {
      DBFILESPermanentlyDelete = [[DBRoute alloc] init:@"permanently_delete"
                                            namespace_:@"files"
                                            deprecated:@NO
                                            resultType:nil
                                             errorType:[DBFILESDeleteError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBFILESPermanentlyDelete;
  }
}

+ (DBRoute *)DBFILESPropertiesAdd {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesAdd) {
      DBFILESPropertiesAdd = [[DBRoute alloc] init:@"properties/add"
                                        namespace_:@"files"
                                        deprecated:@YES
                                        resultType:nil
                                         errorType:[DBFILEPROPERTIESAddPropertiesError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesAdd;
  }
}

+ (DBRoute *)DBFILESPropertiesOverwrite {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesOverwrite) {
      DBFILESPropertiesOverwrite = [[DBRoute alloc] init:@"properties/overwrite"
                                              namespace_:@"files"
                                              deprecated:@YES
                                              resultType:nil
                                               errorType:[DBFILEPROPERTIESInvalidPropertyGroupError class]
                                                   attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesOverwrite;
  }
}

+ (DBRoute *)DBFILESPropertiesRemove {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesRemove) {
      DBFILESPropertiesRemove = [[DBRoute alloc] init:@"properties/remove"
                                           namespace_:@"files"
                                           deprecated:@YES
                                           resultType:nil
                                            errorType:[DBFILEPROPERTIESRemovePropertiesError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesRemove;
  }
}

+ (DBRoute *)DBFILESPropertiesTemplateGet {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesTemplateGet) {
      DBFILESPropertiesTemplateGet = [[DBRoute alloc] init:@"properties/template/get"
                                                namespace_:@"files"
                                                deprecated:@YES
                                                resultType:[DBFILEPROPERTIESGetTemplateResult class]
                                                 errorType:[DBFILEPROPERTIESTemplateError class]
                                                     attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                     dataStructSerialBlock:nil
                                   dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesTemplateGet;
  }
}

+ (DBRoute *)DBFILESPropertiesTemplateList {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesTemplateList) {
      DBFILESPropertiesTemplateList = [[DBRoute alloc] init:@"properties/template/list"
                                                 namespace_:@"files"
                                                 deprecated:@YES
                                                 resultType:[DBFILEPROPERTIESListTemplateResult class]
                                                  errorType:[DBFILEPROPERTIESTemplateError class]
                                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                      dataStructSerialBlock:nil
                                    dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesTemplateList;
  }
}

+ (DBRoute *)DBFILESPropertiesUpdate {
  @synchronized(lockObj) {
    if (!DBFILESPropertiesUpdate) {
      DBFILESPropertiesUpdate = [[DBRoute alloc] init:@"properties/update"
                                           namespace_:@"files"
                                           deprecated:@YES
                                           resultType:nil
                                            errorType:[DBFILEPROPERTIESUpdatePropertiesError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESPropertiesUpdate;
  }
}

+ (DBRoute *)DBFILESRestore {
  @synchronized(lockObj) {
    if (!DBFILESRestore) {
      DBFILESRestore = [[DBRoute alloc] init:@"restore"
                                  namespace_:@"files"
                                  deprecated:@NO
                                  resultType:[DBFILESFileMetadata class]
                                   errorType:[DBFILESRestoreError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESRestore;
  }
}

+ (DBRoute *)DBFILESSaveUrl {
  @synchronized(lockObj) {
    if (!DBFILESSaveUrl) {
      DBFILESSaveUrl = [[DBRoute alloc] init:@"save_url"
                                  namespace_:@"files"
                                  deprecated:@NO
                                  resultType:[DBFILESSaveUrlResult class]
                                   errorType:[DBFILESSaveUrlError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESSaveUrl;
  }
}

+ (DBRoute *)DBFILESSaveUrlCheckJobStatus {
  @synchronized(lockObj) {
    if (!DBFILESSaveUrlCheckJobStatus) {
      DBFILESSaveUrlCheckJobStatus = [[DBRoute alloc] init:@"save_url/check_job_status"
                                                namespace_:@"files"
                                                deprecated:@NO
                                                resultType:[DBFILESSaveUrlJobStatus class]
                                                 errorType:[DBASYNCPollError class]
                                                     attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                     dataStructSerialBlock:nil
                                   dataStructDeserialBlock:nil];
    }
    return DBFILESSaveUrlCheckJobStatus;
  }
}

+ (DBRoute *)DBFILESSearch {
  @synchronized(lockObj) {
    if (!DBFILESSearch) {
      DBFILESSearch = [[DBRoute alloc] init:@"search"
                                 namespace_:@"files"
                                 deprecated:@YES
                                 resultType:[DBFILESSearchResult class]
                                  errorType:[DBFILESSearchError class]
                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                      dataStructSerialBlock:nil
                    dataStructDeserialBlock:nil];
    }
    return DBFILESSearch;
  }
}

+ (DBRoute *)DBFILESSearchV2 {
  @synchronized(lockObj) {
    if (!DBFILESSearchV2) {
      DBFILESSearchV2 = [[DBRoute alloc] init:@"search_v2"
                                   namespace_:@"files"
                                   deprecated:@NO
                                   resultType:[DBFILESSearchV2Result class]
                                    errorType:[DBFILESSearchError class]
                                        attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                        dataStructSerialBlock:nil
                      dataStructDeserialBlock:nil];
    }
    return DBFILESSearchV2;
  }
}

+ (DBRoute *)DBFILESSearchContinueV2 {
  @synchronized(lockObj) {
    if (!DBFILESSearchContinueV2) {
      DBFILESSearchContinueV2 = [[DBRoute alloc] init:@"search/continue_v2"
                                           namespace_:@"files"
                                           deprecated:@NO
                                           resultType:[DBFILESSearchV2Result class]
                                            errorType:[DBFILESSearchError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBFILESSearchContinueV2;
  }
}

+ (DBRoute *)DBFILESTagsAdd {
  @synchronized(lockObj) {
    if (!DBFILESTagsAdd) {
      DBFILESTagsAdd = [[DBRoute alloc] init:@"tags/add"
                                  namespace_:@"files"
                                  deprecated:@NO
                                  resultType:nil
                                   errorType:[DBFILESAddTagError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESTagsAdd;
  }
}

+ (DBRoute *)DBFILESTagsGet {
  @synchronized(lockObj) {
    if (!DBFILESTagsGet) {
      DBFILESTagsGet = [[DBRoute alloc] init:@"tags/get"
                                  namespace_:@"files"
                                  deprecated:@NO
                                  resultType:[DBFILESGetTagsResult class]
                                   errorType:[DBFILESBaseTagError class]
                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                       dataStructSerialBlock:nil
                     dataStructDeserialBlock:nil];
    }
    return DBFILESTagsGet;
  }
}

+ (DBRoute *)DBFILESTagsRemove {
  @synchronized(lockObj) {
    if (!DBFILESTagsRemove) {
      DBFILESTagsRemove = [[DBRoute alloc] init:@"tags/remove"
                                     namespace_:@"files"
                                     deprecated:@NO
                                     resultType:nil
                                      errorType:[DBFILESRemoveTagError class]
                                          attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                          dataStructSerialBlock:nil
                        dataStructDeserialBlock:nil];
    }
    return DBFILESTagsRemove;
  }
}

+ (DBRoute *)DBFILESUnlockFileBatch {
  @synchronized(lockObj) {
    if (!DBFILESUnlockFileBatch) {
      DBFILESUnlockFileBatch = [[DBRoute alloc] init:@"unlock_file_batch"
                                          namespace_:@"files"
                                          deprecated:@NO
                                          resultType:[DBFILESLockFileBatchResult class]
                                           errorType:[DBFILESLockFileError class]
                                               attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                               dataStructSerialBlock:nil
                             dataStructDeserialBlock:nil];
    }
    return DBFILESUnlockFileBatch;
  }
}

+ (DBRoute *)DBFILESUpload {
  @synchronized(lockObj) {
    if (!DBFILESUpload) {
      DBFILESUpload = [[DBRoute alloc] init:@"upload"
                                 namespace_:@"files"
                                 deprecated:@NO
                                 resultType:[DBFILESFileMetadata class]
                                  errorType:[DBFILESUploadError class]
                                      attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                      dataStructSerialBlock:nil
                    dataStructDeserialBlock:nil];
    }
    return DBFILESUpload;
  }
}

+ (DBRoute *)DBFILESUploadSessionAppendV2 {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionAppendV2) {
      DBFILESUploadSessionAppendV2 =
          [[DBRoute alloc] init:@"upload_session/append_v2"
                           namespace_:@"files"
                           deprecated:@NO
                           resultType:nil
                            errorType:[DBFILESUploadSessionAppendError class]
                                attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionAppendV2;
  }
}

+ (DBRoute *)DBFILESUploadSessionAppend {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionAppend) {
      DBFILESUploadSessionAppend =
          [[DBRoute alloc] init:@"upload_session/append"
                           namespace_:@"files"
                           deprecated:@YES
                           resultType:nil
                            errorType:[DBFILESUploadSessionAppendError class]
                                attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionAppend;
  }
}

+ (DBRoute *)DBFILESUploadSessionFinish {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionFinish) {
      DBFILESUploadSessionFinish =
          [[DBRoute alloc] init:@"upload_session/finish"
                           namespace_:@"files"
                           deprecated:@NO
                           resultType:[DBFILESFileMetadata class]
                            errorType:[DBFILESUploadSessionFinishError class]
                                attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionFinish;
  }
}

+ (DBRoute *)DBFILESUploadSessionFinishBatch {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionFinishBatch) {
      DBFILESUploadSessionFinishBatch = [[DBRoute alloc] init:@"upload_session/finish_batch"
                                                   namespace_:@"files"
                                                   deprecated:@YES
                                                   resultType:[DBFILESUploadSessionFinishBatchLaunch class]
                                                    errorType:nil
                                                        attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                        dataStructSerialBlock:nil
                                      dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionFinishBatch;
  }
}

+ (DBRoute *)DBFILESUploadSessionFinishBatchV2 {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionFinishBatchV2) {
      DBFILESUploadSessionFinishBatchV2 =
          [[DBRoute alloc] init:@"upload_session/finish_batch_v2"
                           namespace_:@"files"
                           deprecated:@NO
                           resultType:[DBFILESUploadSessionFinishBatchResult class]
                            errorType:nil
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionFinishBatchV2;
  }
}

+ (DBRoute *)DBFILESUploadSessionFinishBatchCheck {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionFinishBatchCheck) {
      DBFILESUploadSessionFinishBatchCheck =
          [[DBRoute alloc] init:@"upload_session/finish_batch/check"
                           namespace_:@"files"
                           deprecated:@NO
                           resultType:[DBFILESUploadSessionFinishBatchJobStatus class]
                            errorType:[DBASYNCPollError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionFinishBatchCheck;
  }
}

+ (DBRoute *)DBFILESUploadSessionStart {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionStart) {
      DBFILESUploadSessionStart = [[DBRoute alloc] init:@"upload_session/start"
                                             namespace_:@"files"
                                             deprecated:@NO
                                             resultType:[DBFILESUploadSessionStartResult class]
                                              errorType:[DBFILESUploadSessionStartError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"upload"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionStart;
  }
}

+ (DBRoute *)DBFILESUploadSessionStartBatch {
  @synchronized(lockObj) {
    if (!DBFILESUploadSessionStartBatch) {
      DBFILESUploadSessionStartBatch = [[DBRoute alloc] init:@"upload_session/start_batch"
                                                  namespace_:@"files"
                                                  deprecated:@NO
                                                  resultType:[DBFILESUploadSessionStartBatchResult class]
                                                   errorType:nil
                                                       attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                       dataStructSerialBlock:nil
                                     dataStructDeserialBlock:nil];
    }
    return DBFILESUploadSessionStartBatch;
  }
}

@end
