/// <summary> /// Used to create a new retention policy. /// </summary> /// <param name="retentionPolicyRequest">BoxRetentionPolicyRequest object.</param> /// <returns>A new retention policy object will be returned upon success.</returns> public async Task<BoxRetentionPolicy> CreateRetentionPolicyAsync(BoxRetentionPolicyRequest retentionPolicyRequest) { BoxRequest request = new BoxRequest(_config.RetentionPoliciesEndpointUri) .Method(RequestMethod.Post) .Payload(_converter.Serialize(retentionPolicyRequest)); IBoxResponse<BoxRetentionPolicy> response = await ToResponseAsync<BoxRetentionPolicy>(request).ConfigureAwait(false); return response.ResponseObject; }
/// <summary> /// Used to update a retention policy. /// </summary> /// <param name="id">ID of the retention policy.</param> /// <param name="retentionPolicyRequest">BoxRetentionPolicyRequest object.</param> /// <param name="fields">Attribute(s) to include in the response.</param> /// <returns>An updated retention policy object will be returned upon success.</returns> public async Task<BoxRetentionPolicy> UpdateRetentionPolicyAsync(string id, BoxRetentionPolicyRequest retentionPolicyRequest, List<string> fields = null) { id.ThrowIfNullOrWhiteSpace("id"); BoxRequest request = new BoxRequest(_config.RetentionPoliciesEndpointUri, id) .Method(RequestMethod.Put) .Param(ParamFields, fields) .Payload(_converter.Serialize<BoxRetentionPolicyRequest>(retentionPolicyRequest)); IBoxResponse<BoxRetentionPolicy> response = await ToResponseAsync<BoxRetentionPolicy>(request).ConfigureAwait(false); return response.ResponseObject; }