@getstrata/bootstrap 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,11 @@
1
+ import type { Policy } from "../../core/auth/policy";
2
+ import type { RouteRequest } from "../../core/http/route";
3
+ interface RouteModelAuthorization {
4
+ resource: string;
5
+ action: keyof Policy;
6
+ requireIfMatch?: boolean;
7
+ }
8
+ declare function securedBindRouteModel<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (id: number, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
9
+ declare function securedBindRouteModelByKey<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (key: string, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
10
+ export type { RouteModelAuthorization };
11
+ export { securedBindRouteModel, securedBindRouteModelByKey };
@@ -0,0 +1,3 @@
1
+ import MembershipService from "../core/auth/membershipService";
2
+ declare function resolveMembershipService(): MembershipService;
3
+ export { resolveMembershipService };
@@ -1,16 +1,19 @@
1
1
  /**
2
2
  * @getstrata/bootstrap — application shell for Strata sibling apps.
3
3
  */
4
- export { resolveApplicationQueue, setActiveApplicationContext } from "@getstrata/core";
5
4
  export { scheduleRunCommand } from "../cli/commands/scheduleRun.ts";
6
5
  export type { ScheduledTask } from "../core/scheduler/schedule.ts";
7
6
  export { appSchedule, runDueScheduledTasks, Schedule } from "../core/scheduler/schedule.ts";
7
+ export { resolveApplicationAuth, resolveApplicationCache, resolveApplicationConfig, resolveApplicationDependencies, resolveApplicationLogger, resolveApplicationPolicyGate, resolveApplicationQueue, setActiveApplicationContext, } from "./applicationRegistry.ts";
8
8
  export { APP_PORT_CONFIG_KEY, CORE_AUTH_TOKEN, CORE_CACHE_TOKEN, CORE_CONFIG_TOKEN, CORE_POLICY_GATE_TOKEN, CORE_QUEUE_TOKEN, CORE_TOKEN_SERVICE_TOKEN, DATABASE_URL_CONFIG_KEY, DEFAULT_APP_PORT, REDIS_URL_CONFIG_KEY, } from "./config.ts";
9
9
  export { collectProviders, createAppContext, runProviderPhase } from "./context.ts";
10
10
  export type { AppContext, AppDependencies, AppModule, AppRouteMap, CachedJson, ConfigStore, ModuleRouteContext, MutableAppDependencies, ProviderContext, ServiceFactory, ServiceProvider, } from "./contracts.ts";
11
11
  export { assertAppDependenciesComplete, getRequiredDependency, resolveService, ServiceContainer, } from "./contracts.ts";
12
12
  export { createWebRoutes, mergeWebRoutes } from "./createWebRoutes.ts";
13
+ export { type RouteModelAuthorization, securedBindRouteModel, securedBindRouteModelByKey, } from "./http/securedRouteModelBinding.ts";
13
14
  export { createHttpKernel, type HttpKernel, type MiddlewareGroupName } from "./httpKernel.ts";
15
+ export { resolveMembershipService } from "./membershipService.ts";
14
16
  export { prefixRouteMap } from "./prefixRouteMap.ts";
15
17
  export { coreProviders } from "./providers/index.ts";
18
+ export { registerDefaultJobs } from "./queue/defaultJobs.ts";
16
19
  export { CookieSessionStore, createCsrfProtection, createRouteKernel, createWebServer, type ParsedForm, parseFormBody, routeParams, type SessionUser, slugify, toRouteRequest, type WebServerOptions, wrapSecuredRouteModelByKey, wrapWebLogin, wrapWebRegister, } from "./web/index.ts";
@@ -0,0 +1,2 @@
1
+ declare function registerDefaultJobs(): void;
2
+ export { registerDefaultJobs };
@@ -18,7 +18,6 @@ declare class MembershipService {
18
18
  }): Promise<import("../../modules/organization/memberTypes").OrganizationMemberRecord>;
19
19
  removeMember(organizationId: number, userId: number): Promise<boolean>;
20
20
  }
21
- declare function resolveMembershipService(): MembershipService;
22
21
  export type { MembershipRepositoryLike };
23
22
  export default MembershipService;
24
- export { resolveMembershipService };
23
+ export { resolveMembershipService } from "../../bootstrap/membershipService.ts";
@@ -1,11 +1,2 @@
1
- import type { Policy } from "../auth/policy";
2
- import type { RouteRequest } from "./route";
3
- interface RouteModelAuthorization {
4
- resource: string;
5
- action: keyof Policy;
6
- requireIfMatch?: boolean;
7
- }
8
- declare function securedBindRouteModel<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (id: number, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
9
- declare function securedBindRouteModelByKey<TParams extends Record<string, string>, TModel, TParam extends keyof TParams & string>(param: TParam, resolver: (key: string, request: RouteRequest<TParams>) => Promise<TModel>, authorization: RouteModelAuthorization, handler: (request: RouteRequest<TParams>, model: TModel) => Response | Promise<Response>): (request: RouteRequest<TParams>) => Promise<Response>;
10
- export type { RouteModelAuthorization };
11
- export { securedBindRouteModel, securedBindRouteModelByKey };
1
+ export type { RouteModelAuthorization } from "../../bootstrap/http/securedRouteModelBinding.ts";
2
+ export { securedBindRouteModel, securedBindRouteModelByKey, } from "../../bootstrap/http/securedRouteModelBinding.ts";
@@ -1,6 +1,6 @@
1
1
  import type { Queue } from "./index";
2
2
  import { createFailedJobService, createQueueWorker, createTrackedJob, type FailedJobService } from "./publicQueue";
3
3
  declare const FAILED_JOB_SERVICE_TOKEN = "core.failedJobs";
4
- declare function registerDefaultJobs(): void;
5
- declare function createAppQueue(driver: "sync" | "async" | "redis", redisUrl?: string, failedJobs?: FailedJobService): Queue;
6
- export { createAppQueue, createFailedJobService, createQueueWorker, createTrackedJob, FAILED_JOB_SERVICE_TOKEN, registerDefaultJobs, };
4
+ declare function createAppQueue(driver: "sync" | "async" | "redis", redisUrl?: string, failedJobs?: FailedJobService, registerJobs?: () => void): Queue;
5
+ export { registerDefaultJobs } from "../../bootstrap/queue/defaultJobs.ts";
6
+ export { createAppQueue, createFailedJobService, createQueueWorker, createTrackedJob, FAILED_JOB_SERVICE_TOKEN, };