using Pilz.Networking.CloudProviders.Nextcloud.Client.Apps.FileRetention.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Pilz.Networking.CloudProviders.Nextcloud.Client.Apps.FileRetention { public class FilesRetentionClient : ClientBase { public FilesRetentionClient(NextcloudClient client) : base(client) { } public bool CreateRetentionRule(RetentionRuleInfo rule) { var entry = rule.ToOcsData(); return Client.Ocs.GetApi().CreateRetentionRule(entry); } public bool DeleteRetentionRule(int ruleID) { return Client.Ocs.GetApi().DeleteRetentionRule(ruleID); } public RetentionRule[]? GetRetentionRules() { var api = Client.Ocs.GetApi(); var response = api.GetRetentionRules(); if (response?.Data is not null) { var rules = new List(); foreach (var entry in response.Data) rules.Add(new RetentionRule(entry)); return rules.ToArray(); } return null; } } }