public static IHttpResponse FindAsync( //Security security, HttpApplication application, IHttpRequest request, IProvideUrl url, ContentTypeResponse <WebIdManifest> onFound, ContentTypeResponse <Api.Resources.Manifest> onContent, ViewFileResponse <Api.Resources.Manifest> onHtml) { if (request.GetAcceptTypes().Where(accept => accept.MediaType.ToLower().Contains("html")).Any()) { return(HtmlContent(application, request, url, onHtml)); } LocateControllers(); var endpoints = Manifest.lookup .Select( type => { var endpoint = url.GetWebId(type, "x-com.orderowl:ordering"); return(endpoint); }) .ToArray(); var manifest = new WebIdManifest() { Id = Guid.NewGuid(), Endpoints = endpoints, }; return(onFound(manifest)); }
public async static Task <HttpResponseMessage> IntegrationUploadAsync(EastFive.Security.SessionServer.Context context, [QueryParameter(CheckFileName = true, Name = StateQueryParameter)] Guid integrationId, HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url, ViewFileResponse onLoadUploadPage) { return(await onLoadUploadPage("InternalIntegration/ConfigureIntegration.cshtml", integrationId).ToTask()); }
public static Task <HttpResponseMessage> FindAsync( HttpApplication application, HttpRequestMessage request, UrlHelper url, ContentResponse onFound, ViewFileResponse onHtml) { if (request.Headers.Accept.Where(accept => accept.MediaType.ToLower().Contains("html")).Any()) { return(HtmlContent(application, request, url, onHtml)); } LocateControllers(); var endpoints = ManifestController.lookup .Select( type => { var endpoint = url.GetWebId(type, "x-com.orderowl:ordering"); return(endpoint); }) .ToArray(); var manifest = new Resources.Manifest() { Id = Guid.NewGuid(), Endpoints = endpoints, }; return(request.CreateResponse(System.Net.HttpStatusCode.OK, manifest).AsTask()); }
public async static Task <HttpResponseMessage> IntegrationUploadAsync( [QueryParameter(CheckFileName = true)] Guid integration, EastFive.Security.SessionServer.Context context, HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url, ViewFileResponse onLoadUploadPage) { return(await onLoadUploadPage("SheetIntegration/UploadSheet.cshtml", null).ToTask()); }
public static IHttpResponse FindAsync( //Security security, HttpApplication application, IHttpRequest request, IProvideUrl url, NoContentResponse onSuccess, ViewFileResponse <Api.Resources.Manifest> onHtml) { return(onSuccess()); }
public static IHttpResponse HtmlContent( HttpApplication httpApp, IHttpRequest request, IProvideUrl url, ViewFileResponse <Api.Resources.Manifest> onHtml) { var lookups = httpApp.GetResources(); var manifest = new EastFive.Api.Resources.Manifest(lookups, httpApp); return(onHtml("Manifest/Manifest.cshtml", manifest)); }
public static Task <HttpResponseMessage> HtmlContent( HttpApplication httpApp, HttpRequestMessage request, UrlHelper url, ViewFileResponse onHtml) { var lookups = httpApp.GetResources(); var manifest = new EastFive.Api.Resources.Manifest(lookups, httpApp); return(onHtml("Manifest/Manifest.cshtml", manifest).AsTask()); }
public static async Task <HttpResponseMessage> SessionManagement( [OptionalQueryParameter(Name = "ApiKeySecurity")] string apiSecurityKey, ApiSecurity apiSecurity, EastFive.Api.Azure.AzureApplication application, UnauthorizedResponse onUnauthorized, ViewFileResponse viewResponse) { return(await await CredentialProcessDocument.FindAllAsync( async documents => { var orderedDocs = documents.OrderByDescending(doc => doc.Time).Take(1000).ToArray(); var details = new SessionManagementDetails() { }; details.CredentialDocuments = orderedDocs; details.AccountIdToNameLookup = await orderedDocs .Select(doc => doc.AuthorizationId) .Distinct() .Select( async authId => { var fullName = await application.GetActorNameDetailsAsync(authId, (username, firstName, lastName) => { return $"{firstName} {lastName}"; }, () => string.Empty); return fullName.PairWithKey(authId); }) .AsyncEnumerable() .ToDictionaryAsync(); return viewResponse("/SessionManagement/Index.cshtml", details); }, BlackBarLabs.Persistence.Azure.StorageTables.AzureStorageRepository.CreateRepository( EastFive.Azure.AppSettings.ASTConnectionStringKey))); }