public CheckFileInfo GetCheckFileInfo(WebDavAccessToken token) { var resource = _webDavManager.GetResource(token.FilePath); var permissions = _webDavAuthorizationService.GetPermissions(ScpContext.User, token.FilePath); var readOnly = permissions.HasFlag(WebDavPermissions.Write) == false || permissions.HasFlag(WebDavPermissions.OwaEdit) == false; var cFileInfo = new CheckFileInfo { BaseFileName = resource == null?token.FilePath.Split('/').Last() : resource.DisplayName.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(), OwnerId = ScpContext.User.Login, Size = resource == null ? 0 : resource.ContentLength, Version = DateTime.Now.ToString("s"), SupportsCoauth = true, SupportsCobalt = true, SupportsFolders = true, SupportsLocks = true, SupportsScenarioLinks = false, SupportsSecureStore = false, SupportsUpdate = true, UserCanWrite = !readOnly, ReadOnly = readOnly, RestrictedWebViewOnly = false, CloseButtonClosesWindow = true }; if (resource != null) { cFileInfo.ClientUrl = _webDavManager.GetFileUrl(token.FilePath); } return(cFileInfo); }
private static string GenerateWopiUrl(WebDavAccessToken token, string urlPart, string path) { var url = new Uri(HttpContext.Current.Request.Url, urlPart).ToString(); string wopiSrc = HttpUtility.UrlDecode(url); return(string.Format("{0}&access_token={1}", wopiSrc, token.AccessToken.ToString("N"))); }
public WebDavAccessToken CreateToken(WspPrincipal principal, string filePath) { var token = new WebDavAccessToken(); token.AccessToken = Guid.NewGuid(); token.AccountId = principal.AccountId; token.ItemId = principal.ItemId; token.AuthData = principal.EncryptedPassword; token.ExpirationDate = DateTime.Now.AddHours(3); token.FilePath = filePath; token.Id = WSP.Services.EnterpriseStorage.AddWebDavAccessToken(token); return(token); }
public static String GenerateWopiUrl(this UrlHelper urlHelper, WebDavAccessToken token, string path) { var urlPart = urlHelper.Route(OwaRouteNames.CheckFileInfo, new { accessTokenId = token.Id }); return(GenerateWopiUrl(token, urlPart, path)); }
public int AddWebDavAccessToken(WebDavAccessToken accessToken) { return(EnterpriseStorageController.AddWebDavAccessToken(accessToken)); }