File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ import type {
1111} from "./types" ;
1212import type { Logger } from "../logging" ;
1313import type { ProjectManager } from "../handlers/project/types" ;
14- import { createProjectManager } from "./project" ;
14+ import { FsProjectManager } from "./project" ;
1515
1616export type {
1717 AwsClients ,
@@ -53,7 +53,7 @@ export class CoreClient implements AwsClients {
5353 this . createIamClient = config . createIamClient ;
5454 this . logger = config . logger ;
5555
56- this . projectManager = createProjectManager ( {
56+ this . projectManager = new FsProjectManager ( {
5757 logger : this . logger . child ( { module : "projectManager" } ) ,
5858 } ) ;
5959 }
Original file line number Diff line number Diff line change 1- export { createProjectManager } from "./manager" ;
1+ export { FsProjectManager } from "./manager" ;
Original file line number Diff line number Diff line change 1- import type { ProjectManager } from "../../handlers/project/types" ;
1+ import type {
2+ CreateProjectInput ,
3+ FindProjectInput ,
4+ Project ,
5+ ProjectManager ,
6+ } from "../../handlers/project/types" ;
27import type { Logger } from "../../logging" ;
38
4- type CreateProjectManagerConfig = {
9+ type ProjectManagerConfig = {
510 logger : Logger ;
611} ;
712
813/**
9- * Creates a {@link ProjectManager} that relies on the local file system to manage access to projects.
14+ * An implementation of {@link ProjectManager} that relies on the local file system to manage access to projects.
1015 */
11- export function createProjectManager ( _config : CreateProjectManagerConfig ) : ProjectManager {
12- return {
13- find : ( _input ) => {
14- throw new Error ( `ProjectManager.find is not implemented yet` ) ;
15- } ,
16- create : ( _input ) => {
17- throw new Error ( `ProjectManager.create is not implemented yet` ) ;
18- } ,
19- } ;
16+ export class FsProjectManager implements ProjectManager {
17+ constructor ( _config : ProjectManagerConfig ) { }
18+
19+ public find ( _input : FindProjectInput ) : Promise < Project > {
20+ throw new Error ( `ProjectManager.find is not implemented yet` ) ;
21+ }
22+
23+ public create ( _input : CreateProjectInput ) : Promise < Project > {
24+ throw new Error ( `ProjectManager.create is not implemented yet` ) ;
25+ }
2026}
Original file line number Diff line number Diff line change 11import { test , expect , describe } from "bun:test" ;
22import { Router , createHandler } from "../router" ;
3- import { createProjectManager } from "../core/project" ;
43import { createSilentLogger } from "../testing" ;
54import { withProject } from "./withProject" ;
5+ import { FsProjectManager } from "../core/project" ;
66
77describe ( "withProject" , ( ) => {
88 test ( "throws not implemented" , async ( ) => {
9- const projectManager = createProjectManager ( { logger : createSilentLogger ( ) } ) ;
9+ const projectManager = new FsProjectManager ( { logger : createSilentLogger ( ) } ) ;
1010
1111 const app = new Router ( "app" , "test" ) ;
1212 app . use ( withProject ( { projectManager, cwd : "/some/path" } ) ) ;
Original file line number Diff line number Diff line change @@ -28,9 +28,9 @@ import type { Core } from "../handlers/types";
2828import type { CoreHarnessClient , CreateHarnessInput } from "../handlers/harness/types" ;
2929import type { CoreOptions } from "../core/types" ;
3030import type { ProjectManager } from "../handlers/project/types" ;
31- import { createProjectManager } from "../core/project" ;
3231import type { Logger } from "../logging" ;
3332import { createSilentLogger } from "./logging" ;
33+ import { FsProjectManager } from "../core/project" ;
3434
3535// TestCoreClient is a hand-controllable `Core` for tests. It implements the same
3636// interface the real CoreClient satisfies, so it drops straight into
@@ -418,6 +418,6 @@ export class TestCoreClient implements Core {
418418 readonly projectManager : ProjectManager ;
419419
420420 constructor ( options ?: TestCoreClientOptions ) {
421- this . projectManager = createProjectManager ( { logger : options ?. logger ?? createSilentLogger ( ) } ) ;
421+ this . projectManager = new FsProjectManager ( { logger : options ?. logger ?? createSilentLogger ( ) } ) ;
422422 }
423423}
You can’t perform that action at this time.
0 commit comments