32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using Pilz.Net.CloudProviders.Nextcloud.Client.Apps.FileRetention.Ocs;
|
|
using Pilz.Net.CloudProviders.Nextcloud.OCS;
|
|
|
|
namespace Pilz.Net.CloudProviders.Nextcloud.Client.Apps.FileRetention;
|
|
|
|
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);
|
|
}
|
|
}
|