/// <summary> /// Retrieves file metadata from an entity's profile. /// </summary> public async Task <PlayFabResult <GetFilesResponse> > GetFilesAsync(GetFilesRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { if ((request?.AuthenticationContext?.EntityToken ?? PlayFabSettings.staticPlayer.EntityToken) == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/File/GetFiles", request, "X-EntityToken", PlayFabSettings.staticPlayer.EntityToken, extraHeaders, apiSettings); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <GetFilesResponse> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <GetFilesResponse> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <GetFilesResponse> { Result = result, CustomData = customData }); }
public static async Task <GetFilesResponse> GetFiles(GetFilesRequest request) { System.Collections.Specialized.NameValueCollection qs = HttpUtility.ParseQueryString(string.Empty); qs.Add("access_token", request.Token); if (request.Folder != null) { qs.Add("folder", JsonConvert.SerializeObject(request.Folder)); } if (request.Offset > 0) { qs.Add("offset", request.Offset.ToString()); } if (request.MaxReturn > 0) { qs.Add("maxReturn", request.MaxReturn.ToString()); } string url = request.Host + "/rest/asset/v1/files.json?" + qs.ToString(); HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync(url); response.EnsureSuccessStatusCode(); string content = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <GetFilesResponse>(content)); }
internal async Task <GetFilesResponse> GetFiles(GetFilesRequest request) { if (request == null) { throw new Exception("No data provided to request"); } if (request.Limit > 100) { throw new Exception($"Maximum number of items per page is 100"); } if (request.Limit == 0) { request.Limit = 100; } var filterQueryString = string.IsNullOrWhiteSpace(request.FilterStatus) ? string.Empty : $"&status={request.FilterStatus}"; var apiResponse = await _client.GetAsync <GetFilesResponse>($"files?offset={request.Offset}&limit={request.Limit}{filterQueryString}"); return(apiResponse); }
public async Task <GetFilesResponse> GetFiles(string folderId, int offSet) { GetFilesRequest request = _requestFactorty.CreateGetFilesRequest(_host, _token, folderId, offSet); GetFilesResponse result = await HttpProcessor.GetFiles(request); return(result); }
public HttpResponseMessage Get() { var request = new GetFilesRequest(); var response = Facade.Query<GetFilesResponse, GetFilesRequest>(request); return CreateHttpResponse(response, HttpStatusCode.OK); }
/// <summary> /// Retrieves file metadata from an entity's profile. /// </summary> public static void GetFiles(GetFilesRequest request, Action <GetFilesResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; PlayFabHttp.MakeApiCall("/File/GetFiles", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context); }
public void GetFiles() { GetFilesRequest request = new GetFilesRequest(connection, "DEV/64"); GetFilesResponse response = request.Send(); Assert.AreEqual(response.StatusCode, System.Net.HttpStatusCode.OK); }
/// <summary> /// Retrieves file metadata from an entity's profile. /// </summary> public static void GetFiles(GetFilesRequest request, Action<GetFilesResponse> resultCallback, Action<PlayFabError> errorCallback, object customData = null, Dictionary<string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? PlayFabSettings.staticPlayer; var callSettings = PlayFabSettings.staticSettings; if (!context.IsEntityLoggedIn()) throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn,"Must be logged in to call this method"); PlayFabHttp.MakeApiCall("/File/GetFiles", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings); }
public override async Task <FilesReply> GetFiles(GetFilesRequest request, ServerCallContext context) { var reply = new FilesReply(); var items = _service.All().Where(f => f.Type == (int)FileType.Normal); if (!string.IsNullOrWhiteSpace(request.ParentId)) { if (!Guid.TryParse(request.ParentId, out var folderId)) { reply.Error = Error.NoSuchEntity; return(reply); } var folder = await _service.All().Where(k => k.Id == folderId && k.Type == (int)FileType.Folder) .FirstOrDefaultAsync(); if (folder == null) { reply.Error = Error.NoSuchEntity; return(reply); } var pathPrefix = folder.Path + PathSep; items = items.Where(f => f.Path.StartsWith(pathPrefix)); } var readPrivate = (await _userService.GetUser(context.GetHttpContext())).HasReadPrivatePermission(); if (!readPrivate) { items = items.Where(i => i.Private == (ulong)PrivateType.Public); } int?total = null; if (request.Skip > 0) { total = await items.CountAsync(); items = items.Skip(request.Skip); } if (request.Take > 0) { items = items.Take(request.Take); } reply.Files.AddRange(await items .Select(Selector) .ToArrayAsync()); if (total.HasValue) { reply.Total = total.Value; } return(reply); }
public GetFilesResponse Delete(GetFilesRequest request) { var time = Stopwatch.StartNew(); var response = new GetFilesResponse() { Server = Environment.MachineName }; Directory.Delete(request.Path, request.Recursive); response.Milliseconds = time.Elapsed.TotalMilliseconds; return(response); }
public async Task TestGetFiles() { var fileInfo = new System.IO.FileInfo(Path.Join(".", "testFiles", "test.png")); var uploadFileResponse = await SkyManager.MediaClient.UploadFile(fileInfo, "File 1", "File 1 Description"); var file1Id = uploadFileResponse.FileId; var file1Etag = uploadFileResponse.ETag; var fileUpdate = new FileUpdate().SetDefaults(); fileUpdate.Description = "New File 1 Description"; fileUpdate.Filename = "newfile.png"; fileUpdate.Properties = new Properties(); fileUpdate.Properties.Add("testProp", "testValue"); fileUpdate.Tags = new List <string>() { "tag1" }; fileUpdate.Title = "New File 1"; Assert.NotNull(fileUpdate.ToJson()); Assert.NotNull(fileUpdate.ToString()); var updateFileRequest = new UpdateFileRequest(fileUpdate, file1Id); updateFileRequest.AdditionalRequestHeaders.Add(new KeyValuePair <string, string>("If-Match", file1Etag)); var updateFileResponse = await SkyManager.ApiClient.ExecuteRequestAsync(updateFileRequest); Assert.Equal(HttpStatusCode.NoContent, updateFileResponse.StatusCode); var getFilesRequest = new GetFilesRequest(); getFilesRequest.AddCreatedByQuery(SkyManager.IntegrationId); getFilesRequest.AddCreatedFromQuery(DateTime.MinValue.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz")); getFilesRequest.AddCreatedToQuery(DateTime.MaxValue.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz")); getFilesRequest.AddUpdatedFromQuery(DateTime.MinValue.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz")); getFilesRequest.AddUpdatedToQuery(DateTime.MaxValue.ToString("yyyy-MM-dd'T'HH:mm:ss.fffzzz")); getFilesRequest.AddExcludeTagsQuery(""); getFilesRequest.AddLimitQuery(1); getFilesRequest.AddPageQuery(0); getFilesRequest.AddPropQuery("testProp", "testValue"); getFilesRequest.AddSortQuery("created"); getFilesRequest.AddStartQuery(0); getFilesRequest.AddTagsQuery("tag1"); getFilesRequest.AddTypeQuery("image"); var getFilesResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getFilesRequest); Assert.Single(getFilesResponse.Content); await SkyManager.ApiClient.ExecuteRequestAsync(new DeleteFileRequest(file1Id)); }
/// <summary> /// Retrieves file metadata from an entity's profile. /// </summary> /// <param name="Entity">The entity to perform this action on. (Required)</param> public static Task <GetFilesResponse> GetFiles(EntityKey Entity, PlayFabAuthenticationContext customAuthContext = null, object customData = null, Dictionary <string, string> extraHeaders = null) { GetFilesRequest request = new GetFilesRequest() { Entity = Entity, }; var context = GetContext(customAuthContext); return(PlayFabHttp.MakeApiCallAsync <GetFilesResponse>("/File/GetFiles", request, AuthType.EntityToken, customData, extraHeaders, context)); }
public GetFilesRepositoryResponse GetFiles(GetFilesRequest request) { int totalRecord = 0; var data = SortData(request.Year, request.Search, request.SortingDictionary, out totalRecord); if (request.Take != -1) { data = data.Skip(request.Skip).Take(request.Take); } return(new GetFilesRepositoryResponse { TotalRecords = totalRecord, FileRepositories = data.ToList().MapTo <GetFilesRepositoryResponse.FileRepository>() }); }
public GetFilesRequest CreateGetFilesRequest(string host, string token, string folderId, int offSet = 0, int maxReturn = 200) { Dictionary <string, dynamic> folder = new Dictionary <string, dynamic>(); folder.Add("id", folderId); folder.Add("type", "Folder"); GetFilesRequest getFilesRequest = new GetFilesRequest() { Host = host, Token = token, Offset = offSet, MaxReturn = maxReturn, Folder = folder }; return(getFilesRequest); }
public void Should_Return_Files_List_Successfully() { RunActionInTransaction(session => { CreateFakeMedias(session); var repository = CreateRepository(session); using (var service = new MediaManagerApiContext(Container.BeginLifetimeScope(), repository)) { var request = new GetFilesRequest(itemsCount: 3); var files = service.GetFiles(request); Assert.IsNotNull(files); Assert.GreaterOrEqual(files.Items.Count, 1); Assert.LessOrEqual(files.Items.Count, 3); } }); }
/// <summary> /// Gets the File data associated with a particular Product. /// </summary> /// <returns>Response result code.</returns> public GetFilesResponse GetFiles(GetFilesRequest requestData) { if (requestData == null) { throw new ArgumentNullException("requestData"); } GetFilesResponse resp = new GetFilesResponse(); StackHashFileCollection files = StaticObjects.TheStaticObjects.TheController.GetFiles( requestData.ContextId, requestData.Product); resp.Files = files; resp.ResultData = new StackHashServiceResultData( StackHashServiceResult.Success, s_OperationSuccessful, null); return(resp); }
public ObjectResult Post(GetFilesRequest request) { if (request is null || request.Path is null) { var problemDetail = new ProblemDetails { Status = 400, Title = "Invalid request", Detail = "Request", Instance = "https://api.contoso.com/errors/400" }; return(new ObjectResult(problemDetail) { StatusCode = problemDetail.Status }); } var time = Stopwatch.StartNew(); var options = new EnumerationOptions() { RecurseSubdirectories = request.Recursive }; var entries = Directory.EnumerateFileSystemEntries(request.Path, request.Filter, options); var response = new GetFilesResponse() { Server = Environment.MachineName }; foreach (var entry in entries) { response.Files.Add(entry); } response.Milliseconds = time.Elapsed.TotalMilliseconds; return(new ObjectResult(response)); }
/// <summary> /// Gets the list of media file entities. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list of media file entities /// </returns> /// <exception cref="CmsApiException"></exception> public DataListResponse <MediaFile> GetFiles(GetFilesRequest request = null) { try { var query = Repository .AsQueryable <MediaFile>() .Where(m => m.Type == MediaType.File) .ApplyFilters(request); var totalCount = query.ToRowCountFutureValue(request); query = query .AddOrderAndPaging(request) .Fetch(m => m.Folder); return(query.ToDataListResponse(totalCount)); } catch (Exception inner) { const string message = "Failed to get files list."; Logger.Error(message, inner); throw new CmsApiException(message, inner); } }
/// <summary> /// Gets files list. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>GetFilesResponse</c> with files list. /// </returns> public GetFilesResponse Get(GetFilesRequest request) { request.Data.SetDefaultOrder("Title"); var query = repository.AsQueryable<Media>() .Where(m => m.Original == null && m.Type == Module.MediaManager.Models.MediaType.File) .Where(f => !(f is MediaFile) || (!((MediaFile)f).IsTemporary && ((MediaFile)f).IsUploaded == true)); if (request.Data.FolderId == null) { query = query.Where(m => m.Folder == null); } else { query = query.Where(m => m.Folder.Id == request.Data.FolderId && !m.Folder.IsDeleted); } if (!request.Data.IncludeFolders) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.Folder); } if (!request.Data.IncludeFiles) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.File); } if (!request.Data.IncludeArchived) { query = query.Where(m => !m.IsArchived); } query = query.ApplyMediaTagsFilter(request.Data) .ApplyCategoriesFilter(categoryService, request.Data); if (request.User != null && !string.IsNullOrWhiteSpace(request.User.Name)) { var principal = new ApiPrincipal(request.User); IEnumerable<Guid> deniedPages = accessControlService.GetPrincipalDeniedObjects<MediaFile>(principal, false); foreach (var deniedPageId in deniedPages) { var id = deniedPageId; query = query.Where(f => f.Id != id); } } var listResponse = query.Select( media => new MediaModel { Id = media.Id, Version = media.Version, CreatedBy = media.CreatedByUser, CreatedOn = media.CreatedOn, LastModifiedBy = media.ModifiedByUser, LastModifiedOn = media.ModifiedOn, Title = media.Title, Description = media.Description, MediaContentType = media is MediaFolder ? (MediaContentType)((int)MediaContentType.Folder) : (MediaContentType)((int)MediaContentType.File), FileExtension = media is MediaFile ? ((MediaFile)media).OriginalFileExtension : null, FileSize = media is MediaFile ? ((MediaFile)media).Size : (long?)null, FileUrl = media is MediaFile ? ((MediaFile)media).PublicUrl : null, IsArchived = media.IsArchived, ThumbnailId = media.Image != null && !media.Image.IsDeleted ? media.Image.Id : (Guid?)null, ThumbnailCaption = media.Image != null && !media.Image.IsDeleted ? media.Image.Caption : null, ThumbnailUrl = media.Image != null && !media.Image.IsDeleted ? media.Image.PublicThumbnailUrl : null }).ToDataListResponse(request); var ids = new List<Guid>(); listResponse.Items.ToList().ForEach( media => { if (media.MediaContentType == MediaContentType.File) { media.FileUrl = this.mediaFileService.GetDownloadFileUrl(Module.MediaManager.Models.MediaType.File, media.Id, media.FileUrl); ids.Add(media.Id); } media.FileUrl = fileUrlResolver.EnsureFullPathUrl(media.FileUrl); media.ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(media.ThumbnailUrl); }); if (request.Data.IncludeAccessRules) { (from file in repository.AsQueryable<MediaFile>() from accessRule in file.AccessRules where ids.Contains(file.Id) orderby accessRule.IsForRole, accessRule.Identity select new AccessRuleModelEx { AccessRule = new AccessRuleModel { AccessLevel = (AccessLevel)(int)accessRule.AccessLevel, Identity = accessRule.Identity, IsForRole = accessRule.IsForRole }, FileId = file.Id }).ToList() .ForEach( rule => listResponse.Items.Where(file => file.Id == rule.FileId).ToList().ForEach( file => { if (file.AccessRules == null) { file.AccessRules = new List<AccessRuleModel>(); } file.AccessRules.Add(rule.AccessRule); })); } if (request.Data.IncludeCategories) { listResponse.Items.ForEach( item => { item.Categories = (from media in repository.AsQueryable<MediaFile>() from category in media.Categories where media.Id == item.Id && !category.IsDeleted select new CategoryNodeModel { Id = category.Category.Id, Version = category.Version, CreatedBy = category.CreatedByUser, CreatedOn = category.CreatedOn, LastModifiedBy = category.ModifiedByUser, LastModifiedOn = category.ModifiedOn, Name = category.Category.Name, CategoryTreeId = category.Category.CategoryTree.Id }).ToList(); }); } return new GetFilesResponse { Data = listResponse }; }
/// <summary> /// Gets files list. /// </summary> /// <param name="request">The request.</param> /// <returns> /// <c>GetFilesResponse</c> with files list. /// </returns> public GetFilesResponse Get(GetFilesRequest request) { request.Data.SetDefaultOrder("Title"); var query = repository.AsQueryable <Media>() .Where(m => m.Original == null && m.Type == Module.MediaManager.Models.MediaType.File) .Where(f => !(f is MediaFile) || (!((MediaFile)f).IsTemporary && ((MediaFile)f).IsUploaded == true)); if (request.Data.FolderId == null) { query = query.Where(m => m.Folder == null); } else { query = query.Where(m => m.Folder.Id == request.Data.FolderId && !m.Folder.IsDeleted); } if (!request.Data.IncludeFolders) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.Folder); } if (!request.Data.IncludeFiles) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.File); } if (!request.Data.IncludeArchived) { query = query.Where(m => !m.IsArchived); } query = query.ApplyMediaTagsFilter(request.Data) .ApplyCategoriesFilter(categoryService, request.Data); if (request.User != null && !string.IsNullOrWhiteSpace(request.User.Name)) { var principal = new ApiPrincipal(request.User); IEnumerable <Guid> deniedPages = accessControlService.GetPrincipalDeniedObjects <MediaFile>(principal, false); foreach (var deniedPageId in deniedPages) { var id = deniedPageId; query = query.Where(f => f.Id != id); } } var listResponse = query.Select( media => new MediaModel { Id = media.Id, Version = media.Version, CreatedBy = media.CreatedByUser, CreatedOn = media.CreatedOn, LastModifiedBy = media.ModifiedByUser, LastModifiedOn = media.ModifiedOn, Title = media.Title, Description = media.Description, MediaContentType = media is MediaFolder ? (MediaContentType)((int)MediaContentType.Folder) : (MediaContentType)((int)MediaContentType.File), FileExtension = media is MediaFile ? ((MediaFile)media).OriginalFileExtension : null, FileSize = media is MediaFile ? ((MediaFile)media).Size : (long?)null, FileUrl = media is MediaFile ? ((MediaFile)media).PublicUrl : null, IsArchived = media.IsArchived, ThumbnailId = media.Image != null && !media.Image.IsDeleted ? media.Image.Id : (Guid?)null, ThumbnailCaption = media.Image != null && !media.Image.IsDeleted ? media.Image.Caption : null, ThumbnailUrl = media.Image != null && !media.Image.IsDeleted ? media.Image.PublicThumbnailUrl : null }).ToDataListResponse(request); var ids = new List <Guid>(); listResponse.Items.ToList().ForEach( media => { if (media.MediaContentType == MediaContentType.File) { media.FileUrl = this.mediaFileService.GetDownloadFileUrl(Module.MediaManager.Models.MediaType.File, media.Id, media.FileUrl); ids.Add(media.Id); } media.FileUrl = fileUrlResolver.EnsureFullPathUrl(media.FileUrl); media.ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(media.ThumbnailUrl); }); if (request.Data.IncludeAccessRules) { (from file in repository.AsQueryable <MediaFile>() from accessRule in file.AccessRules where ids.Contains(file.Id) orderby accessRule.IsForRole, accessRule.Identity select new AccessRuleModelEx { AccessRule = new AccessRuleModel { AccessLevel = (AccessLevel)(int)accessRule.AccessLevel, Identity = accessRule.Identity, IsForRole = accessRule.IsForRole }, FileId = file.Id }).ToList() .ForEach( rule => listResponse.Items.Where(file => file.Id == rule.FileId).ToList().ForEach( file => { if (file.AccessRules == null) { file.AccessRules = new List <AccessRuleModel>(); } file.AccessRules.Add(rule.AccessRule); })); } if (request.Data.IncludeCategories) { listResponse.Items.ForEach( item => { item.Categories = (from media in repository.AsQueryable <MediaFile>() from category in media.Categories where media.Id == item.Id && !category.IsDeleted select new CategoryNodeModel { Id = category.Category.Id, Version = category.Version, CreatedBy = category.CreatedByUser, CreatedOn = category.CreatedOn, LastModifiedBy = category.ModifiedByUser, LastModifiedOn = category.ModifiedOn, Name = category.Category.Name, CategoryTreeId = category.Category.CategoryTree.Id }).ToList(); }); } return(new GetFilesResponse { Data = listResponse }); }
/// <summary> /// Gets the list of media file entities. /// </summary> /// <param name="request">The request.</param> /// <returns> /// The list of media file entities /// </returns> /// <exception cref="CmsApiException"></exception> public DataListResponse<MediaFile> GetFiles(GetFilesRequest request = null) { try { var query = Repository .AsQueryable<MediaFile>() .Where(m => m.Type == MediaType.File) .ApplyFilters(request); var totalCount = query.ToRowCountFutureValue(request); query = query .AddOrderAndPaging(request) .Fetch(m => m.Folder); return query.ToDataListResponse(totalCount); } catch (Exception inner) { const string message = "Failed to get files list."; Logger.Error(message, inner); throw new CmsApiException(message, inner); } }
public GetFilesResponse Get(GetFilesRequest request) { request.Data.SetDefaultOrder("Title"); var query = repository.AsQueryable <Media>() .Where(m => m.Original == null && m.Type == MediaType.File) .Where(f => !(f is MediaFile) || (!((MediaFile)f).IsTemporary && ((MediaFile)f).IsUploaded == true)); if (request.Data.FolderId == null) { query = query.Where(m => m.Folder == null); } else { query = query.Where(m => m.Folder.Id == request.Data.FolderId && !m.Folder.IsDeleted); } if (!request.Data.IncludeFolders) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.Folder); } if (!request.Data.IncludeFiles) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.File); } if (!request.Data.IncludeArchived) { query = query.Where(m => !m.IsArchived); } query = query.ApplyMediaTagsFilter(request.Data); var listResponse = query.Select(media => new MediaModel { Id = media.Id, Version = media.Version, CreatedBy = media.CreatedByUser, CreatedOn = media.CreatedOn, LastModifiedBy = media.ModifiedByUser, LastModifiedOn = media.ModifiedOn, Title = media.Title, MediaContentType = media is MediaFolder ? (MediaContentType)((int)MediaContentType.Folder) : (MediaContentType)((int)MediaContentType.File), FileExtension = media is MediaFile ? ((MediaFile)media).OriginalFileExtension : null, FileSize = media is MediaFile ? ((MediaFile)media).Size : (long?)null, FileUrl = media is MediaFile ? ((MediaFile)media).PublicUrl : null, IsArchived = media.IsArchived, ThumbnailId = media.Image != null && !media.Image.IsDeleted ? media.Image.Id : (Guid?)null, ThumbnailCaption = media.Image != null && !media.Image.IsDeleted ? media.Image.Caption : null, ThumbnailUrl = media.Image != null && !media.Image.IsDeleted ? media.Image.PublicThumbnailUrl : null }) .ToDataListResponse(request); listResponse.Items.ToList().ForEach(media => { if (media.MediaContentType == MediaContentType.File) { media.FileUrl = fileService.GetDownloadFileUrl(MediaType.File, media.Id, media.FileUrl); } media.FileUrl = fileUrlResolver.EnsureFullPathUrl(media.FileUrl); media.ThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(media.ThumbnailUrl); }); return(new GetFilesResponse { Data = listResponse }); }
/// <summary> /// Retrieves file metadata from an entity's profile. /// </summary> public static void GetFiles(GetFilesRequest request, Action <GetFilesResponse> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { PlayFabHttp.MakeApiCall("/File/GetFiles", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders); }
public override async Task <FilePageModel> GetFiles(GetFilesRequest getFilesRequest, ServerCallContext context) { var getFiles = _mapper.Map <GetFilesRequest, GetFiles>(getFilesRequest); return(_mapper.Map <PageModel <FileModel>, FilePageModel>(await _mediator.Send(getFiles))); }
public GetFilesResponse Get(GetFilesRequest request) { request.Data.SetDefaultOrder("Title"); var query = repository.AsQueryable<Media>() .Where(m => m.Original == null && m.Type == MediaType.File); if (request.Data.FolderId == null) { query = query.Where(m => m.Folder == null); } else { query = query.Where(m => m.Folder.Id == request.Data.FolderId && !m.Folder.IsDeleted); } if (!request.Data.IncludeFolders) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.Folder); } if (!request.Data.IncludeFiles) { query = query.Where(media => media.ContentType != Module.MediaManager.Models.MediaContentType.File); } if (!request.Data.IncludeArchived) { query = query.Where(m => !m.IsArchived); } query = query.ApplyTagsFilter( request.Data, tagName => { return media => media.MediaTags.Any(mediaTag => mediaTag.Tag.Name == tagName && !mediaTag.Tag.IsDeleted); }); var listResponse = query.Select(media => new MediaModel { Id = media.Id, Version = media.Version, CreatedBy = media.CreatedByUser, CreatedOn = media.CreatedOn, LastModifiedBy = media.ModifiedByUser, LastModifiedOn = media.ModifiedOn, Title = media.Title, MediaContentType = media is MediaFolder ? (MediaContentType)((int)MediaContentType.Folder) : (MediaContentType)((int)MediaContentType.File), FileExtension = media is MediaFile ? ((MediaFile)media).OriginalFileExtension : null, FileSize = media is MediaFile ? ((MediaFile)media).Size : (long?)null, FileUrl = media is MediaFile ? ((MediaFile)media).PublicUrl : null, IsArchived = media.IsArchived, ThumbnailId = media.Image != null && !media.Image.IsDeleted ? media.Image.Id : (Guid?)null, ThumbnailCaption = media.Image != null && !media.Image.IsDeleted ? media.Image.Caption : null, ThumbnailUrl = media.Image != null && !media.Image.IsDeleted ? media.Image.PublicThumbnailUrl : null }) .ToDataListResponse(request); listResponse.Items.ToList().ForEach(media => { if (media.MediaContentType == MediaContentType.File) { media.FileUrl = fileService.GetDownloadFileUrl(MediaType.File, media.Id, media.FileUrl); } }); return new GetFilesResponse { Data = listResponse }; }
public async Task <GetFilesResponse> GetFiles(GetFilesRequest request) { var result = await _fileLibraryService.GetFiles(request); return(result); }