public IQuery GetSamlMetadata() { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("saml"); sfApiQuery.Action("metadata"); sfApiQuery.HttpMethod = "GET"; return(sfApiQuery); }
/// <summary> /// Delete User Policies /// </summary> /// <remarks> /// Remove user from policy based admin /// </remarks> /// <param name="url"></param> public IQuery DeleteByUser(Uri url) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Policies"); sfApiQuery.Uri(url); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Send Welcome Email /// </summary> /// <remarks> /// Resends the 'welcome' email to the given user /// </remarks> /// <param name="url"></param> public IQuery ResendWelcome(Uri url) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("ResendWelcome"); sfApiQuery.Uri(url); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Remove all Favorite Items for a User /// </summary> /// <param name="userUrl"></param> public IQuery DeleteInBulkByUser(Uri userUrl) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Favorites"); sfApiQuery.Uri(userUrl); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Delete Zone Metadata /// </summary> /// <remarks> /// Delete the Metadata entry associated with the specified zone /// </remarks> /// <param name="url"></param> /// <param name="name"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteMetadata(Uri url, string name) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Metadata"); sfApiQuery.Uri(url); sfApiQuery.QueryString("name", name); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Revoke Two Factor Auth App by ID /// </summary> /// <param name="userUrl"></param> /// <param name="tfaAppId"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteTFA(Uri userUrl, string tfaAppId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("TFA"); sfApiQuery.Uri(userUrl); sfApiQuery.ActionIds(tfaAppId); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Revoke App access for a given User /// </summary> /// <param name="userUrl"></param> /// <param name="appid"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteByUser(Uri userUrl, string appid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Apps"); sfApiQuery.Uri(userUrl); sfApiQuery.ActionIds(appid); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Removes a Connector Group Access Control object /// </summary> /// <remarks> /// Removes an Access Control object from the Connector Group ACL. This removes the permissions of /// the affected principal to use the Connector Group. /// </remarks> /// <param name="serviceUrl"></param> /// <param name="zoneid"></param> public IQuery DeleteAccessControls(Uri serviceUrl, string zoneid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(serviceUrl); sfApiQuery.ActionIds(zoneid); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Deliver an existing share link to one or more recipients /// </summary> /// <remarks> /// Sends an Email to the specified list of addresses, containing a link to a download or an upload. /// </remarks> /// <param name="parameters"></param> public IQuery Resend(ShareResendParams parameters) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Shares"); sfApiQuery.Action("Resend"); sfApiQuery.Body = parameters; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Email List of Accounts to User /// </summary> /// <remarks> /// Sends the list of accounts to the specified email address /// This operation does not require authentication /// </remarks> /// <param name="email"></param> public IQuery SendToEmail(string email) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Accounts"); sfApiQuery.Action("SendToEmail"); sfApiQuery.QueryString("email", email); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
public IQuery DeleteByUser(Uri url, string itemId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("FavoriteFolders"); sfApiQuery.Uri(url); sfApiQuery.ActionIds(itemId); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Send EncryptedEmail /// </summary> /// <example> /// { /// "Message": {"Id": "messageFileId"}, /// "Attachments": [{"Id": "id1"}, {"Id": "id2"}], /// } /// </example> /// <remarks> /// Sending an EncryptedEmail is a multi-step process:1. Create an empty EncryptedEmail using the "Create EncryptedEmail" or "Reply to EncryptedEmail" endpoints 2. Upload the message body as raw text or a text file using the "Upload EncryptedEmail Message" endpoint 3. Send the EncryptedEmail using the "Send EncryptedEmail" endpoint, providing the fileId uploaded in step 2 as /// the "Message" Item parameter. Provide a list of optional Item attachments during this step as well /// </remarks> /// <param name="url"></param> /// <param name="encryptedEmailSendParams"></param> public IQuery Send(Uri url, EncryptedEmailSendParams encryptedEmailSendParams) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Send"); sfApiQuery.Uri(url); sfApiQuery.Body = encryptedEmailSendParams; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Delete specific Device for given User /// </summary> /// <param name="parentUrl"></param> /// <param name="id"></param> /// <returns> /// No content /// </returns> public IQuery DeleteByUser(Uri parentUrl, string id) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Devices"); sfApiQuery.Uri(parentUrl); sfApiQuery.ActionIds(id); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Delete StorageCenter /// </summary> /// <remarks> /// Removes an existing storage center /// </remarks> /// <param name="zUrl"></param> /// <param name="scid"></param> public IQuery DeleteByZone(Uri zUrl, string scid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("StorageCenters"); sfApiQuery.Uri(zUrl); sfApiQuery.ActionIds(scid); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Replace the Favorite Items for a User with the given list of new Favorite Items /// </summary> /// <example> /// [ /// { /// "Item": { "StreamID" : "item1StreamId" }, /// "Alias" : "FileName1", /// "DisplayPosition" : 1 /// }, /// { /// "Item": { "StreamID" : "item2StreamId" }, /// "Alias" : "FileName2", /// "DisplayPosition" : 2 /// } /// ] /// </example> /// <remarks> /// The DisplayPosition and Alias for each Item should be unique /// </remarks> /// <param name="userUrl"></param> /// <param name="favoriteItems"></param> public IQuery PatchByUser(Uri userUrl, IEnumerable <Favorite> favoriteItems) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Favorites"); sfApiQuery.Uri(userUrl); sfApiQuery.Body = favoriteItems; sfApiQuery.HttpMethod = "PUT"; return(sfApiQuery); }
/// <summary> /// Delete domains from the Folder Access Control List of domains /// </summary> /// <example> /// { /// "AccessControlType" : "AllowedDomains", /// "Domains": ["domainA", "domainB", ...] /// } /// </example> /// <remarks> /// Deletes the specified domains from the list. /// </remarks> /// <param name="AccessControlType"></param> /// <param name="Domains"></param> /// <returns> /// No content /// </returns> public IQuery DeleteFolderAccessControlDomains(AccessControlDomains accessControlDomains) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Accounts"); sfApiQuery.Action("FolderAccessControlDomains"); sfApiQuery.Body = accessControlDomains; sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Create or Update FavoriteFolders /// </summary> /// <example> /// [{ /// Folder: { /// "Id":"fo96aec5-d637-4124-bcc9-c86fd7301e4d" /// } /// }] /// </example> /// <remarks> /// Replaces existing favorite folders with the folders provided. Any exisitng folders that are not specified will be removed. /// </remarks> /// <param name="url"></param> /// <param name="favoriteFolderList"></param> public IQuery PatchByUser(Uri url, IEnumerable <FavoriteFolder> favoriteFolderList) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("FavoriteFolders"); sfApiQuery.Uri(url); sfApiQuery.Body = favoriteFolderList; sfApiQuery.HttpMethod = "PUT"; return(sfApiQuery); }
/// <summary> /// Confirm the current user logging in for the first time /// </summary> /// <example> /// { /// "FirstName":"", /// "LastName":"", /// "Company":"", /// "Password":"", /// "DayLightName":"", /// "UTCOffset":"", /// "DateFormat":"", /// "TimeFormat":"", /// "EmailInterval":0 /// } /// </example> /// <param name="settings"></param> /// <returns> /// no data on success /// </returns> public IQuery Confirm(UserConfirmationSettings settings) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Users"); sfApiQuery.Action("Confirm"); sfApiQuery.Body = settings; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Save a folder to a folder location /// </summary> /// <param name="reportUrl"></param> /// <param name="folderId"></param> public IQuery Move(Uri reportUrl, string folderId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Move"); sfApiQuery.Uri(reportUrl); sfApiQuery.QueryString("folderId", folderId); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Delete Metadata /// </summary> /// <remarks> /// Deletes a single Metadata entry that has a specified Name for a given Item. Fails if an entry with the given name doesn't exist for this Item. /// </remarks> /// <param name="url"></param> /// <param name="metadataId"></param> /// <returns> /// (no data) /// </returns> public IQuery DeleteByItem(Uri url, string metadataId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Metadata"); sfApiQuery.Uri(url); sfApiQuery.ActionIds(metadataId); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Unlock Device /// </summary> /// <param name="deviceUrl"></param> /// <param name="userid"></param> /// <returns> /// no data on success /// </returns> public IQuery Unlock(Uri deviceUrl, string userid = null) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Unlock"); sfApiQuery.Uri(deviceUrl); sfApiQuery.QueryString("userid", userid); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Notify users that they have access to the parent folder /// </summary> /// <example> /// { /// UserIds: ["id1", "id2"], /// CustomMessage: "Message content goes here" /// } /// </example> /// <remarks> /// All users should have access to the parent folder /// </remarks> /// <param name="folderUrl"></param> /// <param name="notifyUsersParams"></param> public IQuery NotifyUsers(Uri folderUrl, NotifyUsersParams notifyUsersParams) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(folderUrl); sfApiQuery.SubAction("NotifyUsers"); sfApiQuery.Body = notifyUsersParams; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Delete multiple access controls for principal /// </summary> /// <example> /// ["id1","id2"] /// </example> /// <param name="principalId"></param> /// <param name="folderIds"></param> public IQuery BulkDeleteForPrincipal(IEnumerable <string> folderIds, string principalId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("AccessControls"); sfApiQuery.Action("BulkDeleteForPrincipal"); sfApiQuery.QueryString("principalId", principalId); sfApiQuery.Body = folderIds; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Forgot Password /// </summary> /// <remarks> /// Triggers a reset password email /// </remarks> /// <param name="email"></param> /// <param name="resetOnMobile"></param> public IQuery ForgotPassword(string email, bool resetOnMobile = false) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Users"); sfApiQuery.Action("ForgotPassword"); sfApiQuery.QueryString("email", email); sfApiQuery.QueryString("resetOnMobile", resetOnMobile); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Delete multiple access controls /// </summary> /// <example> /// ["id1","id2"] /// </example> /// <param name="folderUrl"></param> /// <param name="principalIds"></param> public IQuery BulkDelete(Uri folderUrl, IEnumerable <string> principalIds) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(folderUrl); sfApiQuery.SubAction("BulkDelete"); sfApiQuery.Body = principalIds; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Discard checkout on a File /// </summary> /// <remarks> /// Discard a checkout on a file /// </remarks> /// <param name="url"></param> /// <param name="lockid"></param> public IQuery Discard(Uri url, string lockid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("FileLock"); sfApiQuery.Uri(url); sfApiQuery.ActionIds(lockid); sfApiQuery.SubAction("Discard"); sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Get JSON Data /// </summary> /// <remarks> /// Get the JSON data for a report /// </remarks> /// <param name="id"></param> /// <returns> /// JSON Formatted Report Results /// </returns> public IQuery GetJsonData(string id) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Reports"); sfApiQuery.Action("Records"); sfApiQuery.ActionIds(id); sfApiQuery.SubAction("JsonData"); sfApiQuery.HttpMethod = "GET"; return(sfApiQuery); }
/// <summary> /// Delete StorageCenter Metadata /// </summary> /// <remarks> /// Delete the Metadata entry associated with the specified storage center /// </remarks> /// <param name="zUrl"></param> /// <param name="scid"></param> /// <param name="name"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteMetadata(Uri zUrl, string scid, string name) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("StorageCenters"); sfApiQuery.Uri(zUrl); sfApiQuery.ActionIds(scid); sfApiQuery.SubAction("Metadata"); sfApiQuery.QueryString("name", name); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Remove a tenant from a multi-tenant zone /// </summary> /// <param name="parentUrl"></param> /// <param name="id"></param> /// <param name="newDefaultZoneId"></param> /// <param name="expireItems"></param> public IQuery DeleteTenants(Uri parentUrl, string id, string newDefaultZoneId, bool expireItems = false) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Tenants"); sfApiQuery.Uri(parentUrl); sfApiQuery.ActionIds(id); sfApiQuery.QueryString("newDefaultZoneId", newDefaultZoneId); sfApiQuery.QueryString("expireItems", expireItems); sfApiQuery.HttpMethod = "DELETE"; return(sfApiQuery); }
/// <summary> /// Download Multiple Items from a Share for a Recipient /// </summary> /// <example> /// ["id1","id2",...] /// </example> /// <remarks> /// Download Multiple Items from a Share for a Recipient. The download will contain a ZIP archive containing all /// files and folders in the share, named Files.zip.To download Shares that require user informaion ( Email, First Name, Last Name and Company), make sure /// to create an Recipient (alias) and pass in the alaisId.To download Shares that require authentication, make sure this request is authenticated. /// Anyone can download files from anonymous shares. /// </remarks> /// <param name="shareUrl"></param> /// <param name="aliasid"></param> /// <param name="ids"></param> /// <param name="redirect"></param> /// <returns> /// Redirects the caller (302) to the download address for the share contents. /// </returns> public IQuery BulkDownload(Uri shareUrl, string aliasid, IEnumerable <string> ids, bool redirect = true) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Recipients"); sfApiQuery.Uri(shareUrl); sfApiQuery.ActionIds(aliasid); sfApiQuery.SubAction("BulkDownload"); sfApiQuery.QueryString("redirect", redirect); sfApiQuery.Body = ids; sfApiQuery.HttpMethod = "POST"; return(sfApiQuery); }
/// <summary> /// Unlock File /// </summary> /// <remarks> /// Unlock a locked file. /// This operation is only implemented in Sharepoint providers (/sp) /// </remarks> /// <param name="url"></param> /// <param name="message"></param> public IQuery CheckIn(Uri url, string message = null) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("CheckIn"); sfApiQuery.Uri(url); sfApiQuery.QueryString("message", message); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Delete StorageCenter /// </summary> /// <remarks> /// Removes an existing storage center /// </remarks> /// <param name="zUrl"></param> /// <param name="scid"></param> public IQuery DeleteByZone(Uri zUrl, string scid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("StorageCenters"); sfApiQuery.Uri(zUrl); sfApiQuery.ActionIds(scid); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Delete Zone Metadata /// </summary> /// <remarks> /// Delete the Metadata entry associated with the specified zone /// </remarks> /// <param name="url"></param> /// <param name="name"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteMetadata(Uri url, string name) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Metadata"); sfApiQuery.Uri(url); sfApiQuery.QueryString("name", name); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Restore expired items to their original locations /// </summary> /// <param name="ids"></param> public IQuery BulkRestore(IEnumerable<string> ids) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Items"); sfApiQuery.Action("BulkRestore"); sfApiQuery.Body = ids; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Removes a Connector Group Access Control object /// </summary> /// <remarks> /// Removes an Access Control object from the Connector Group ACL. This removes the permissions of /// the affected principal to use the Connector Group. /// </remarks> /// <param name="serviceUrl"></param> /// <param name="zoneid"></param> public IQuery DeleteAccessControls(Uri serviceUrl, string zoneid) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(serviceUrl); sfApiQuery.ActionIds(zoneid); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Remove a tenant from a multi-tenant zone /// </summary> /// <param name="parentUrl"></param> /// <param name="id"></param> /// <param name="newDefaultZoneId"></param> /// <param name="expireItems"></param> public IQuery DeleteTenants(Uri parentUrl, string id, string newDefaultZoneId, bool expireItems = false) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Tenants"); sfApiQuery.Uri(parentUrl); sfApiQuery.ActionIds(id); sfApiQuery.QueryString("newDefaultZoneId", newDefaultZoneId); sfApiQuery.QueryString("expireItems", expireItems); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Delete domains from the Folder Access Control List of domains /// </summary> /// <example> /// { /// "AccessControlType" : "AllowedDomains", /// "Domains": ["domainA", "domainB", ...] /// } /// </example> /// <remarks> /// Deletes the specified domains from the list. /// </remarks> /// <param name="AccessControlType"></param> /// <param name="Domains"></param> /// <returns> /// No content /// </returns> public IQuery DeleteFolderAccessControlDomains(AccessControlDomains accessControlDomains) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Accounts"); sfApiQuery.Action("FolderAccessControlDomains"); sfApiQuery.Body = accessControlDomains; sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Delete multiple access controls /// </summary> /// <example> /// ["id1","id2",...] /// </example> /// <param name="folderUrl"></param> /// <param name="principalIds"></param> public IQuery BulkDelete(Uri folderUrl, IEnumerable<string> principalIds) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(folderUrl); sfApiQuery.SubAction("BulkDelete"); sfApiQuery.Body = principalIds; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Deliver an existing share link to one or more recipients /// </summary> /// <remarks> /// Sends an Email to the specified list of addresses, containing a link to a download or an upload. /// </remarks> /// <param name="parameters"></param> public IQuery Resend(ShareResendParams parameters) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Shares"); sfApiQuery.Action("Resend"); sfApiQuery.Body = parameters; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Email List of Accounts to User /// </summary> /// <remarks> /// Sends the list of accounts to the specified email address /// This operation does not require authentication /// </remarks> /// <param name="email"></param> public IQuery SendToEmail(string email) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Accounts"); sfApiQuery.Action("SendToEmail"); sfApiQuery.QueryString("email", email); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Download Multiple Items from a Share for a Recipient /// </summary> /// <example> /// ["id1","id2",...] /// </example> /// <remarks> /// Download Multiple Items from a Share for a Recipient. The download will contain a ZIP archive containing all /// files and folders in the share, named Files.zip.To download Shares that require user informaion ( Email, First Name, Last Name and Company), make sure /// to create an Recipient (alias) and pass in the alaisId.To download Shares that require authentication, make sure this request is authenticated. /// Anyone can download files from anonymous shares. /// </remarks> /// <param name="shareUrl"></param> /// <param name="aliasid"></param> /// <param name="ids"></param> /// <param name="redirect"></param> /// <returns> /// Redirects the caller (302) to the download address for the share contents. /// </returns> public IQuery BulkDownload(Uri shareUrl, string aliasid, IEnumerable<string> ids, bool redirect = true) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Recipients"); sfApiQuery.Uri(shareUrl); sfApiQuery.ActionIds(aliasid); sfApiQuery.SubAction("BulkDownload"); sfApiQuery.QueryString("redirect", redirect); sfApiQuery.Body = ids; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Check if a versioning change would result in file deletions /// </summary> /// <param name="url"></param> /// <param name="newMaxVersions"></param> public IQuery CheckVersioningViolation(Uri url, string id, int newMaxVersions) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("CheckVersioningViolation"); sfApiQuery.Uri(url); sfApiQuery.QueryString("parentid", id); sfApiQuery.QueryString("newMaxVersions", newMaxVersions); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Delete Metadata /// </summary> /// <remarks> /// Deletes a single Metadata entry that has a specified Name for a given Item. Fails if an entry with the given name doesn't exist for this Item. /// </remarks> /// <param name="url"></param> /// <param name="metadataId"></param> /// <returns> /// (no data) /// </returns> public IQuery DeleteByItem(Uri url, string metadataId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Metadata"); sfApiQuery.Uri(url); sfApiQuery.ActionIds(metadataId); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
public IQuery DeleteByUser(Uri url, string itemId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("FavoriteFolders"); sfApiQuery.Uri(url); sfApiQuery.ActionIds(itemId); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
/// <summary> /// Delete Multiple Items /// </summary> /// <example> /// ["id1","id2",...] /// </example> /// <remarks> /// All items in bulk delete must be children of the same parent, identified in the URI /// </remarks> /// <param name="id"></param> /// <param name="body"></param> /// <param name="forceSync"></param> /// <param name="deletePermanently"></param> public IQuery BulkDelete(Uri url, IEnumerable<string> ids, bool forceSync = false, bool deletePermanently = false) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("BulkDelete"); sfApiQuery.Uri(url); sfApiQuery.QueryString("forceSync", forceSync); sfApiQuery.QueryString("deletePermanently", deletePermanently); sfApiQuery.Body = ids; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Save a folder to a folder location /// </summary> /// <param name="reportUrl"></param> /// <param name="folderId"></param> public IQuery Move(Uri reportUrl, string folderId) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("Move"); sfApiQuery.Uri(reportUrl); sfApiQuery.QueryString("folderId", folderId); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Check if template is already part of an existing template structure /// </summary> /// <param name="url"></param> public IQuery CheckTemplateOwned(Uri url, string id) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("CheckTemplateOwned"); sfApiQuery.Uri(url); sfApiQuery.QueryString("parentid", id); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Delete StorageCenter Metadata /// </summary> /// <remarks> /// Delete the Metadata entry associated with the specified storage center /// </remarks> /// <param name="zUrl"></param> /// <param name="scid"></param> /// <param name="name"></param> /// <returns> /// no data on success /// </returns> public IQuery DeleteMetadata(Uri zUrl, string scid, string name) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("StorageCenters"); sfApiQuery.Uri(zUrl); sfApiQuery.ActionIds(scid); sfApiQuery.SubAction("Metadata"); sfApiQuery.QueryString("name", name); sfApiQuery.HttpMethod = "DELETE"; return sfApiQuery; }
public IQuery CheckOut(Uri url) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("CheckOut"); sfApiQuery.Uri(url); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Notify users that they have access to the parent folder /// </summary> /// <example> /// [ /// { /// UserIds: ["id1", "id2"], /// CustomMessage: "Message content goes here" /// } /// ] /// </example> /// <remarks> /// All users should have access to the parent folder /// </remarks> /// <param name="folderUrl"></param> /// <param name="notifyUsersParams"></param> public IQuery NotifyUsers(Uri folderUrl, NotifyUsersParams notifyUsersParams) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("AccessControls"); sfApiQuery.Uri(folderUrl); sfApiQuery.SubAction("NotifyUsers"); sfApiQuery.Body = notifyUsersParams; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Confirm the current user logging in for the first time /// </summary> /// <example> /// { /// "FirstName":"", /// "LastName":"", /// "Company":"", /// "Password":"", /// "DayLightName":"", /// "UTCOffset":"", /// "DateFormat":"", /// "TimeFormat":"", /// "EmailInterval":0 /// } /// </example> /// <param name="settings"></param> /// <returns> /// no data on success /// </returns> public IQuery Confirm(UserConfirmationSettings settings) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Users"); sfApiQuery.Action("Confirm"); sfApiQuery.Body = settings; sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Forgot Password /// </summary> /// <remarks> /// Triggers a reset password email /// </remarks> /// <param name="email"></param> /// <param name="resetOnMobile"></param> public IQuery ForgotPassword(string email, bool resetOnMobile = false) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Users"); sfApiQuery.Action("ForgotPassword"); sfApiQuery.QueryString("email", email); sfApiQuery.QueryString("resetOnMobile", resetOnMobile); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Send Welcome Email /// </summary> /// <remarks> /// Resends the 'welcome' email to the given user /// </remarks> /// <param name="url"></param> public IQuery ResendWelcome(Uri url) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("ResendWelcome"); sfApiQuery.Uri(url); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }
/// <summary> /// Get spreadsheet data /// </summary> /// <remarks> /// Get the spreadsheet data for a report /// </remarks> /// <param name="id"></param> /// <returns> /// Excel Formatted Report Results /// </returns> public IQuery DownloadData(string id) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.From("Reports"); sfApiQuery.Action("Records"); sfApiQuery.ActionIds(id); sfApiQuery.SubAction("DownloadData"); sfApiQuery.HttpMethod = "GET"; return sfApiQuery; }
/// <summary> /// Remove folder template association from folder /// </summary> /// <param name="url"></param> public IQuery RemoveTemplateAssociation(Uri url, string id) { var sfApiQuery = new ShareFile.Api.Client.Requests.Query(Client); sfApiQuery.Action("RemoveTemplateAssociation"); sfApiQuery.Uri(url); sfApiQuery.QueryString("parentid", id); sfApiQuery.HttpMethod = "POST"; return sfApiQuery; }