public async Task AddRetentionPolicyToFile(string retentionPolicyKey, string fileKey, string asUserKey = null, string bearerToken = null, bool logToConsole = true) { var addRetentionPolicyToFileRequest = new AddRetentionPolicyToFileRequest() { RetentionPolicyKey = retentionPolicyKey }; await Put <AddRetentionPolicyToFileRequest, Empty>(addRetentionPolicyToFileRequest, $"files/{fileKey}/retentionpolicies", asUserKey, bearerToken); if (logToConsole) { Console.WriteLine($"Added retention policy to file: RetentionPolicy=\"{retentionPolicyKey}\", File=\"{fileKey}\""); } ; }
public async Task <IActionResult> AddRetentionPolicyToFile(string fileKey, [FromBody] AddRetentionPolicyToFileRequest request) { try { var userKey = _contextAccessor.UserKeyFromContext(); bool userCanAccessFile = await UserCanAccessFile(userKey, fileKey, _hiarcDatabase, AccessLevelGroup.CoOwner); if (userCanAccessFile) { await _hiarcDatabase.AddRetentionPolicyToFile(fileKey, request); return(Ok(new Empty())); } else { return(StatusCode(StatusCodes.Status403Forbidden)); } } catch (Exception ex) { return(BuildErrorResponse(ex, _logger)); } }