private static JObject CreateJsonBody(string field, string id, LinkAccessControl accessControl) { var parameters = new JObject(); parameters[field] = id; if (accessControl != null) { parameters[RestApiConstants.ACCESS_CONTROL] = AccessControlConverter.ToJsonObject(accessControl); } return(parameters); }
public void UpdateLink(string userId, string linkId, LinkAccessControl accessControl) { var updateLinkRequest = CreateRestRequest(URI_RESOURCE + linkId, Method.PUT, ContentType.APPLICATION_JSON); var parameters = new JObject(); parameters[RestApiConstants.ACCESS_CONTROL] = AccessControlConverter.ToJsonObject(accessControl); updateLinkRequest.AddParameter(ContentType.APPLICATION_JSON, parameters.ToString(), ParameterType.RequestBody); var result = Execute <Link>(GetOAuthInfo(userId), updateLinkRequest); ValidateResponse(result, new StatusCodeResponseHandler(HttpStatusCode.NoContent)); }
public static JObject ToJsonObject(LinkAccessControl accessControl) { var access = new JObject(); if (accessControl.ExpiryDate != null) { access[RestApiConstants.EXPIRY_DATE] = accessControl.ExpiryDate; } if (accessControl.MaxDownloads != null) { access[RestApiConstants.MAX_DOWNLOADS] = accessControl.MaxDownloads; } if (accessControl.Password != null) { access[RestApiConstants.PASSWORD] = accessControl.Password; } access[RestApiConstants.VIEW_ONLY] = accessControl.ViewOnly; return(access); }
private LinkCreationResponse CreateLink(string userId, string field, string id, LinkAccessControl accessControl) { if (id == null || field == null) { throw new ArgumentException("Id and field need to be set."); } var createLinkRequest = CreateRestRequest(URI_RESOURCE, Method.POST); JObject parameters = CreateJsonBody(field, id, accessControl); createLinkRequest.AddParameter(ContentType.APPLICATION_JSON, parameters.ToString(), ParameterType.RequestBody); var result = Execute <LinkCreationResponse>(GetOAuthInfo(userId), createLinkRequest); return(UnwrapResponse(result, new StatusCodeResponseHandler <LinkCreationResponse>(HttpStatusCode.Created))); }
public LinkCreationResponse CreateCollectionLink(string userId, string id, LinkAccessControl accessControl) { return(CreateLink(userId, RestApiConstants.COLLECTION, id, accessControl)); }
public LinkCreationResponse CreateFolderLink(string userId, string id, LinkAccessControl accessControl) { return(CreateLink(userId, RestApiConstants.FOLDER, id, accessControl)); }
public LinkCreationResponse CreateDocumentLink(string userId, string id, LinkAccessControl accessControl) { return(CreateLink(userId, RestApiConstants.DOCUMENT_ID, id, accessControl)); }