11import { Effect } from "effect"
22
3- import { dockerGitOpenApi } from "./api-http.js"
4- import {
5- ProjectDatabaseForwardResponseSchema ,
6- ProjectDatabaseForwardsResponseSchema ,
7- ProjectDatabaseProfileResponseSchema ,
8- ProjectDatabaseProfilesResponseSchema ,
9- ProjectDatabaseSessionResponseSchema
10- } from "./api-schema.js"
3+ import { dockerGitOpenApi , renderDockerGitOpenApiFailure } from "./api-http.js"
114import type { ProjectDatabaseForward , ProjectDatabaseSession } from "./api-schema.js"
125
136export const projectDatabaseEditorUrl = ( session : ProjectDatabaseSession ) : string => session . editorPath
@@ -16,106 +9,87 @@ export const projectDatabaseExternalUrl = (forward: ProjectDatabaseForward): str
169 `${ forward . publicHost } :${ forward . hostPort } `
1710
1811export const loadProjectDatabaseProfiles = ( projectId : string ) =>
19- dockerGitOpenApi . openApiJsonSchema (
20- ProjectDatabaseProfilesResponseSchema ,
21- ( client ) =>
22- client . GET ( "/projects/{projectId}/databases/profiles" , {
23- params : { path : { projectId } }
24- } )
25- ) . pipe (
26- Effect . map ( ( response ) => response . profiles )
12+ dockerGitOpenApi . GET ( "/projects/{projectId}/databases/profiles" , {
13+ params : { path : { projectId } }
14+ } ) . pipe (
15+ Effect . map ( ( { body } ) => body . profiles ) ,
16+ Effect . mapError ( renderDockerGitOpenApiFailure )
2717 )
2818
2919export const loadProjectDatabaseForwards = ( projectId : string ) =>
30- dockerGitOpenApi . openApiJsonSchema (
31- ProjectDatabaseForwardsResponseSchema ,
32- ( client ) =>
33- client . GET ( "/projects/{projectId}/databases/forwards" , {
34- params : { path : { projectId } }
35- } )
36- ) . pipe (
37- Effect . map ( ( response ) => response . forwards )
20+ dockerGitOpenApi . GET ( "/projects/{projectId}/databases/forwards" , {
21+ params : { path : { projectId } }
22+ } ) . pipe (
23+ Effect . map ( ( { body } ) => body . forwards ) ,
24+ Effect . mapError ( renderDockerGitOpenApiFailure )
3825 )
3926
4027export const saveProjectDatabaseProfile = (
4128 projectId : string ,
4229 connectionString : string ,
4330 label : string | null
4431) =>
45- dockerGitOpenApi . openApiJsonSchema (
46- ProjectDatabaseProfileResponseSchema ,
47- ( client ) =>
48- client . POST ( "/projects/{projectId}/databases/profiles" , {
49- body : { connectionString, label } ,
50- params : { path : { projectId } }
51- } )
52- ) . pipe (
53- Effect . map ( ( response ) => response . profile )
32+ dockerGitOpenApi . POST ( "/projects/{projectId}/databases/profiles" , {
33+ body : { connectionString, label } ,
34+ params : { path : { projectId } }
35+ } ) . pipe (
36+ Effect . map ( ( { body } ) => body . profile ) ,
37+ Effect . mapError ( renderDockerGitOpenApiFailure )
5438 )
5539
5640export const deleteProjectDatabaseProfile = (
5741 projectId : string ,
5842 profileId : string
5943) =>
60- dockerGitOpenApi . openApiVoid ( ( client ) =>
61- client . DELETE ( "/projects/{projectId}/databases/profiles/{profileId}" , {
62- params : { path : { profileId, projectId } }
63- } )
44+ dockerGitOpenApi . DELETE ( "/projects/{projectId}/databases/profiles/{profileId}" , {
45+ params : { path : { profileId, projectId } }
46+ } ) . pipe (
47+ Effect . asVoid ,
48+ Effect . mapError ( renderDockerGitOpenApiFailure )
6449 )
6550
6651export const exposeProjectDatabaseProfile = (
6752 projectId : string ,
6853 profileId : string
6954) =>
70- dockerGitOpenApi . openApiJsonSchema (
71- ProjectDatabaseForwardResponseSchema ,
72- ( client ) =>
73- client . POST ( "/projects/{projectId}/databases/profiles/{profileId}/expose" , {
74- params : { path : { profileId, projectId } }
75- } )
76- ) . pipe (
77- Effect . map ( ( response ) => response . forward )
55+ dockerGitOpenApi . POST ( "/projects/{projectId}/databases/profiles/{profileId}/expose" , {
56+ params : { path : { profileId, projectId } }
57+ } ) . pipe (
58+ Effect . map ( ( { body } ) => body . forward ) ,
59+ Effect . mapError ( renderDockerGitOpenApiFailure )
7860 )
7961
8062export const deleteProjectDatabaseForward = (
8163 projectId : string ,
8264 profileId : string
8365) =>
84- dockerGitOpenApi . openApiVoid ( ( client ) =>
85- client . DELETE ( "/projects/{projectId}/databases/profiles/{profileId}/expose" , {
86- params : { path : { profileId, projectId } }
87- } )
66+ dockerGitOpenApi . DELETE ( "/projects/{projectId}/databases/profiles/{profileId}/expose" , {
67+ params : { path : { profileId, projectId } }
68+ } ) . pipe (
69+ Effect . asVoid ,
70+ Effect . mapError ( renderDockerGitOpenApiFailure )
8871 )
8972
9073export const loadProjectDatabaseSession = ( projectId : string ) =>
91- dockerGitOpenApi . openApiJsonSchema (
92- ProjectDatabaseSessionResponseSchema ,
93- ( client ) =>
94- client . GET ( "/projects/{projectId}/databases/session" , {
95- params : { path : { projectId } }
96- } )
97- ) . pipe (
98- Effect . map ( ( response ) => response . session )
74+ dockerGitOpenApi . GET ( "/projects/{projectId}/databases/session" , {
75+ params : { path : { projectId } }
76+ } ) . pipe (
77+ Effect . map ( ( { body } ) => body . session ) ,
78+ Effect . mapError ( renderDockerGitOpenApiFailure )
9979 )
10080
10181export const openProjectDatabaseEditor = ( projectId : string ) =>
102- dockerGitOpenApi . openApiJsonSchema (
103- ProjectDatabaseSessionResponseSchema ,
104- ( client ) =>
105- client . POST ( "/projects/{projectId}/databases/open" , {
106- params : { path : { projectId } }
107- } )
108- ) . pipe (
109- Effect . map ( ( response ) => response . session )
82+ dockerGitOpenApi . POST ( "/projects/{projectId}/databases/open" , {
83+ params : { path : { projectId } }
84+ } ) . pipe (
85+ Effect . map ( ( { body } ) => body . session ) ,
86+ Effect . mapError ( renderDockerGitOpenApiFailure )
11087 )
11188
11289export const restartProjectDatabaseEditor = ( projectId : string ) =>
113- dockerGitOpenApi . openApiJsonSchema (
114- ProjectDatabaseSessionResponseSchema ,
115- ( client ) =>
116- client . POST ( "/projects/{projectId}/databases/restart" , {
117- params : { path : { projectId } }
118- } )
119- ) . pipe (
120- Effect . map ( ( response ) => response . session )
90+ dockerGitOpenApi . POST ( "/projects/{projectId}/databases/restart" , {
91+ params : { path : { projectId } }
92+ } ) . pipe (
93+ Effect . map ( ( { body } ) => body . session ) ,
94+ Effect . mapError ( renderDockerGitOpenApiFailure )
12195 )
0 commit comments