@@ -32,17 +32,13 @@ extension UIAlertController {
3232 /// - urlBase: UrlBase object
3333 /// - completion: If not` nil` it overrides the default behavior which shows an error using `NCContentPresenter`
3434 /// - Returns: The presentable alert controller
35- static func createFolder( serverUrl: String , account : String , markE2ee: Bool = false , sceneIdentifier: String ? = nil , completion: ( ( _ error: NKError ) -> Void ) ? = nil ) -> UIAlertController {
35+ static func createFolder( serverUrl: String , session : NCSession . Session , markE2ee: Bool = false , sceneIdentifier: String ? = nil , completion: ( ( _ error: NKError ) -> Void ) ? = nil ) -> UIAlertController {
3636 let alertController = UIAlertController ( title: NSLocalizedString ( " _create_folder_ " , comment: " " ) , message: nil , preferredStyle: . alert)
37- let session = NCSession . shared. getSession ( account: account)
3837 let isDirectoryEncrypted = NCUtilityFileSystem ( ) . isDirectoryE2EE ( session: session, serverUrl: serverUrl)
3938
4039 let okAction = UIAlertAction ( title: NSLocalizedString ( " _save_ " , comment: " " ) , style: . default, handler: { _ in
4140 guard let fileNameFolder = alertController. textFields? . first? . text else { return }
4241 if markE2ee {
43- if NCNetworking . shared. isOffline {
44- return NCContentPresenter ( ) . showInfo ( error: NKError ( errorCode: NCGlobal . shared. errorInternalError, errorDescription: " _offline_not_allowed_ " ) )
45- }
4642 Task {
4743 let createFolderResults = await NCNetworking . shared. createFolder ( serverUrlFileName: serverUrl + " / " + fileNameFolder, account: session. account)
4844 if createFolderResults. error == . success {
@@ -55,28 +51,17 @@ extension UIAlertController {
5551 }
5652 }
5753 } else if isDirectoryEncrypted {
58- if NCNetworking . shared. isOffline {
59- return NCContentPresenter ( ) . showInfo ( error: NKError ( errorCode: NCGlobal . shared. errorInternalError, errorDescription: " _offline_not_allowed_ " ) )
60- }
61- #if !EXTENSION
6254 Task {
6355 await NCNetworkingE2EECreateFolder ( ) . createFolder ( fileName: fileNameFolder, serverUrl: serverUrl, withPush: true , sceneIdentifier: sceneIdentifier, session: session)
6456 }
65- #endif
6657 } else {
67- let metadataForCreateFolder = NCManageDatabase . shared. createMetadata ( fileName: fileNameFolder,
68- fileNameView: fileNameFolder,
69- ocId: NSUUID ( ) . uuidString,
70- serverUrl: serverUrl,
71- url: " " ,
72- contentType: " httpd/unix-directory " ,
73- directory: true ,
74- session: session,
75- sceneIdentifier: sceneIdentifier)
76- metadataForCreateFolder. status = NCGlobal . shared. metadataStatusWaitCreateFolder
77- metadataForCreateFolder. sessionDate = Date ( )
78- NCManageDatabase . shared. addMetadata ( metadataForCreateFolder)
79- NotificationCenter . default. postOnMainThread ( name: NCGlobal . shared. notificationCenterCreateFolder, userInfo: [ " ocId " : metadataForCreateFolder. ocId, " serverUrl " : metadataForCreateFolder. serverUrl, " account " : metadataForCreateFolder. account, " withPush " : true , " sceneIdentifier " : sceneIdentifier as Any ] )
58+ NCNetworking . shared. createFolder ( fileName: fileNameFolder, serverUrl: serverUrl, overwrite: false , withPush: true , sceneIdentifier: sceneIdentifier, session: session) { error in
59+ if let completion = completion {
60+ DispatchQueue . main. async { completion ( error) }
61+ } else if error != . success {
62+ NCContentPresenter ( ) . showError ( error: error)
63+ } // else: successful, no action
64+ }
8065 }
8166 } )
8267
@@ -96,7 +81,7 @@ extension UIAlertController {
9681 guard let text = alertController. textFields? . first? . text else { return }
9782 let folderName = text. trimmingCharacters ( in: . whitespaces)
9883
99- let textCheck = FileNameValidator . shared. checkFileName ( folderName, account: account)
84+ let textCheck = FileNameValidator . shared. checkFileName ( folderName, account: session . account)
10085 okAction. isEnabled = textCheck? . error == nil && !folderName. isEmpty
10186 alertController. message = textCheck? . error. localizedDescription
10287 }
0 commit comments