Exemple #1
0
        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());
 }
Exemple #3
0
        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());
        }
Exemple #4
0
 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());
 }
Exemple #5
0
 public static IHttpResponse FindAsync(
     //Security security,
     HttpApplication application, IHttpRequest request, IProvideUrl url,
     NoContentResponse onSuccess,
     ViewFileResponse <Api.Resources.Manifest> onHtml)
 {
     return(onSuccess());
 }
Exemple #6
0
        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));
        }
Exemple #7
0
        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());
        }
Exemple #8
0
        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)));
        }