40 lines
1.5 KiB
C#
40 lines
1.5 KiB
C#
using Pilz.Networking.CloudProviders.Nextcloud.OCS.Data.Apps.FileRetention;
|
|
using Pilz.Networking.CloudProviders.Nextcloud.OCS.Responses;
|
|
using Pilz.Networking.CloudProviders.Nextcloud.OCS.Responses.Apps.FilesRetention;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Pilz.Networking.CloudProviders.Nextcloud.OCS.APIs.Apps
|
|
{
|
|
public class OcsApiFilesRetention : OcsApiBase
|
|
{
|
|
public static readonly OcsApiUrlPath OCS_FILE_RETENTION_RULES = new("/ocs/v2.php/apps/files_retention/api/v1/retentions");
|
|
public static readonly OcsApiUrlPath OCS_FILE_RETENTION_RULE = new("/ocs/v2.php/apps/files_retention/api/v1/retentions/{0}");
|
|
|
|
public OcsApiFilesRetention(OcsApi manager) : base(manager)
|
|
{
|
|
}
|
|
|
|
public bool CreateRetentionRule(OcsDataRetentionRule rule)
|
|
{
|
|
var response = Manager.MakeRequest(HttpMethod.Post, OCS_FILE_RETENTION_RULES, content: rule);
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
public bool DeleteRetentionRule(int ruleID)
|
|
{
|
|
var response = Manager.MakeRequest(HttpMethod.Delete, OCS_FILE_RETENTION_RULE.FillParameters(ruleID));
|
|
return response.IsSuccessStatusCode;
|
|
}
|
|
|
|
public OcsResponseRetention? GetRetentionRules()
|
|
{
|
|
return Manager.MakeRequestOcs<OcsResponseRetention>(HttpMethod.Get, OCS_FILE_RETENTION_RULES);
|
|
}
|
|
}
|
|
}
|