Hi all
I have the following code, that is not compiled:
let keycloakQuery = (config: Config.env) =>
Security.query
|> Js.Promise.then_(p: Security.pool => {
let url: string = config.url ++ "/foo/" ++ p##subject ++ "/foo";
let keycloak = Axios.makeConfigWithUrl(~url=url,
~_method="GET",
~headers={"Authorization": "Bearer " ++ p##token},
());
Axios.request(keycloak);
});
the compiler complains:
22 ┆ ());
23 ┆
24 ┆ Axios.request(keycloak);
25 ┆ });
26 ┆
This has type:
Js.Promise.t(Axios_types.response('a, 'b)) (defined as
Js.Promise.t(Axios_types.response('a, 'b)))
But somewhere wanted:
Cockpit.Security.pool (defined as {. "subject": string, "token": string})
ninja: build stopped: subcommand failed.
>>>> Finish compiling(exit: 1)
The security pool
type pool = Js.t({
.
subject: string,
token: string
});
let query: Js.Promise.t(pool) = [%raw {|
new Promise((resolve, reject) => {
keycloak.init({
onLoad: 'login-required'
}).success(() => resolve({subject: keycloak.subject, token: keycloak.token)).error(error => reject(error))
})
|}];
What am I doing wrong?
Thanks