13
13
using JMMServer . Repositories ;
14
14
using System . Linq ;
15
15
using Newtonsoft . Json ;
16
- using System . Dynamic ;
17
16
using System . IO ;
18
17
19
18
namespace JMMServer . API
@@ -34,6 +33,7 @@ public APIv2_core_Module() : base("/api")
34
33
Get [ "/folder/list" ] = x => { return GetFolders ( ) ; } ;
35
34
Get [ "/folder/count" ] = x => { return CountFolders ( ) ; } ;
36
35
Post [ "/folder/add" ] = x => { return AddFolder ( ) ; } ;
36
+ Post [ "/folder/edit" ] = x => { return EditFolder ( ) ; } ;
37
37
Post [ "/folder/delete" ] = x => { return DeleteFolder ( ) ; } ;
38
38
Get [ "/folder/import" ] = _ => { return RunImport ( ) ; } ;
39
39
Get [ "/cloud/list" ] = x => { return null ; } ;
@@ -206,6 +206,52 @@ private object AddFolder()
206
206
}
207
207
}
208
208
209
+ /// <summary>
210
+ /// Edit folder giving fulll ImportFolder object with ID
211
+ /// </summary>
212
+ /// <returns></returns>
213
+ private object EditFolder ( )
214
+ {
215
+ ImportFolder folder = this . Bind ( ) ;
216
+ if ( folder . ImportFolderLocation != "" )
217
+ {
218
+ try
219
+ {
220
+ if ( folder . IsDropDestination == 1 && folder . IsDropSource == 1 )
221
+ {
222
+ return HttpStatusCode . Conflict ;
223
+ }
224
+ else
225
+ {
226
+ if ( folder . ImportFolderID != 0 & folder . ToContract ( ) . ImportFolderID . HasValue )
227
+ {
228
+ Contract_ImportFolder_SaveResponse response = new JMMServiceImplementation ( ) . SaveImportFolder ( folder . ToContract ( ) ) ;
229
+ if ( ! string . IsNullOrEmpty ( response . ErrorMessage ) )
230
+ {
231
+ return HttpStatusCode . InternalServerError ;
232
+ }
233
+ else
234
+ {
235
+ return HttpStatusCode . OK ;
236
+ }
237
+ }
238
+ else
239
+ {
240
+ return HttpStatusCode . Conflict ;
241
+ }
242
+ }
243
+ }
244
+ catch
245
+ {
246
+ return HttpStatusCode . InternalServerError ;
247
+ }
248
+ }
249
+ else
250
+ {
251
+ return HttpStatusCode . BadRequest ;
252
+ }
253
+ }
254
+
209
255
/// <summary>
210
256
/// Delete Import Folder out of Import Folder Repository
211
257
/// </summary>
0 commit comments