Skip to content

Commit 8bea914

Browse files
committed
refactor: align server repository selection names
1 parent 5fb3802 commit 8bea914

3 files changed

Lines changed: 25 additions & 21 deletions

File tree

src/codealmanac/server/api_routes.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
class ServerApiContext:
2929
codealmanac: CodeAlmanac
3030
cwd: Path
31-
scope_wiki: str | None = None
31+
scoped_repository_name: str | None = None
3232

33-
def selected_wiki(self, request_wiki: str | None) -> str | None:
34-
return self.scope_wiki or request_wiki
33+
def repository_name(self, request_wiki: str | None) -> str | None:
34+
return self.scoped_repository_name or request_wiki
3535

3636

3737
def register_api_routes(server: FastAPI, context: ServerApiContext) -> None:
@@ -40,8 +40,8 @@ def overview(wiki: str | None = None) -> ViewerOverview:
4040
return context.codealmanac.viewer.overview(
4141
ViewerOverviewRequest(
4242
cwd=context.cwd,
43-
repository_name=context.selected_wiki(wiki),
44-
include_repositories=context.scope_wiki is None,
43+
repository_name=context.repository_name(wiki),
44+
include_repositories=context.scoped_repository_name is None,
4545
)
4646
)
4747

@@ -50,7 +50,7 @@ def page(slug: str, wiki: str | None = None) -> ViewerPage:
5050
return context.codealmanac.viewer.page(
5151
ViewerPageRequest(
5252
cwd=context.cwd,
53-
repository_name=context.selected_wiki(wiki),
53+
repository_name=context.repository_name(wiki),
5454
slug=slug,
5555
)
5656
)
@@ -64,7 +64,7 @@ def search(
6464
return context.codealmanac.viewer.search(
6565
ViewerSearchRequest(
6666
cwd=context.cwd,
67-
repository_name=context.selected_wiki(wiki),
67+
repository_name=context.repository_name(wiki),
6868
query=q,
6969
limit=limit,
7070
)
@@ -79,7 +79,7 @@ def file_route(
7979
return context.codealmanac.viewer.file(
8080
ViewerFileRequest(
8181
cwd=context.cwd,
82-
repository_name=context.selected_wiki(wiki),
82+
repository_name=context.repository_name(wiki),
8383
path=path,
8484
limit=limit,
8585
)
@@ -94,7 +94,7 @@ def topic(
9494
return context.codealmanac.viewer.topic(
9595
ViewerTopicRequest(
9696
cwd=context.cwd,
97-
repository_name=context.selected_wiki(wiki),
97+
repository_name=context.repository_name(wiki),
9898
slug=slug,
9999
include_descendants=descendants,
100100
)
@@ -105,7 +105,7 @@ def jobs(limit: int | None = None, wiki: str | None = None) -> ViewerJobs:
105105
return context.codealmanac.viewer.jobs(
106106
ViewerJobsRequest(
107107
cwd=context.cwd,
108-
repository_name=context.selected_wiki(wiki),
108+
repository_name=context.repository_name(wiki),
109109
limit=limit,
110110
)
111111
)
@@ -115,7 +115,7 @@ def job(run_id: str, wiki: str | None = None) -> ViewerJob:
115115
return context.codealmanac.viewer.job(
116116
ViewerJobRequest(
117117
cwd=context.cwd,
118-
repository_name=context.selected_wiki(wiki),
118+
repository_name=context.repository_name(wiki),
119119
run_id=run_id,
120120
)
121121
)

src/codealmanac/server/app.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ def create_server_app(
1717
register_error_handlers(server)
1818
register_api_routes(
1919
server,
20-
ServerApiContext(codealmanac=codealmanac, cwd=cwd, scope_wiki=wiki),
20+
ServerApiContext(
21+
codealmanac=codealmanac,
22+
cwd=cwd,
23+
scoped_repository_name=wiki,
24+
),
2125
)
2226
register_static_routes(server)
2327

tests/test_server.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from codealmanac.app import CodeAlmanac
66
from codealmanac.server.app import create_server_app
77
from codealmanac.services.harnesses.models import HarnessEvent, HarnessEventKind
8-
from codealmanac.services.repositories.requests import InitializeRepositoryRequest
8+
from codealmanac.services.repositories.requests import RegisterRepositoryRequest
99
from codealmanac.services.runs.models import RunEventKind, RunKind, RunStatus
1010
from codealmanac.services.runs.requests import (
1111
FinishRunRequest,
@@ -103,7 +103,8 @@ def test_server_viewer_api_switches_between_registered_wikis(
103103
repo, app = viewer_repo
104104
other_repo = tmp_path / "other"
105105
other_repo.mkdir()
106-
other = app.workflows.build.initialize(InitializeRepositoryRequest(path=other_repo))
106+
other = app.repositories.register(RegisterRepositoryRequest(root_path=other_repo))
107+
app.wiki.initialize(other.repository_id)
107108
write_server_page(
108109
other_repo,
109110
"ops-note.md",
@@ -119,12 +120,12 @@ def test_server_viewer_api_switches_between_registered_wikis(
119120
client = TestClient(create_server_app(app, repo))
120121

121122
overview = client.get("/api/overview")
122-
other_overview = client.get("/api/overview", params={"wiki": other.repository_id})
123+
other_overview = client.get("/api/overview", params={"wiki": other.name})
123124
other_page = client.get(
124125
"/api/page/ops-note",
125-
params={"wiki": other.repository_id},
126+
params={"wiki": other.name},
126127
)
127-
locked_client = TestClient(create_server_app(app, repo, other.repository_id))
128+
locked_client = TestClient(create_server_app(app, repo, other.name))
128129
locked_overview = locked_client.get("/api/overview")
129130
locked_page = locked_client.get("/api/page/ops-note")
130131

@@ -221,17 +222,17 @@ def write_server_page(repo: Path, name: str, body: str) -> None:
221222

222223

223224
def create_server_run(repo: Path, app: CodeAlmanac):
225+
repository = app.repositories.resolve(repo)
224226
record = app.runs.start(
225227
StartRunRequest(
226-
cwd=repo,
228+
repository_id=repository.repository_id,
227229
kind=RunKind.INGEST,
228230
title="Digest auth note",
229231
)
230232
)
231-
app.runs.mark_running(MarkRunRunningRequest(cwd=repo, run_id=record.run_id))
233+
app.runs.mark_running(MarkRunRunningRequest(run_id=record.run_id))
232234
app.runs.record_event(
233235
RecordRunEventRequest(
234-
cwd=repo,
235236
run_id=record.run_id,
236237
kind=RunEventKind.OUTPUT,
237238
message="Created auth-flow.md",
@@ -243,7 +244,6 @@ def create_server_run(repo: Path, app: CodeAlmanac):
243244
)
244245
return app.runs.finish(
245246
FinishRunRequest(
246-
cwd=repo,
247247
run_id=record.run_id,
248248
status=RunStatus.DONE,
249249
summary="updated wiki",

0 commit comments

Comments
 (0)