using Pilz.Networking.CloudProviders.Nextcloud.Client.Apps.FileRetention.Ocs; using Pilz.Networking.CloudProviders.Nextcloud.Ocs; namespace Pilz.Networking.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(HttpMethod.Get, OCS_FILE_RETENTION_RULES); } }