const decodeToken = Http.response.schemaBodyJson(TokenResponse);
const authenticateRequestBody = Http.request.schemaBody(
UserLogin.pipe(S.omit("defaultAppId"))
);
const authenticateRequestClient = defaultClient.pipe(
Http.client.mapRequest(Http.request.prependUrl(apiConfig.dev_api_url)),
Http.client.mapRequest(Http.request.acceptJson),
Http.client.mapRequest(
Http.request.setHeader("some-header", apiConfig.default_app_id)
)
);
const authenticate = (userLogin: UserLogin) => {
const request = authenticateRequestBody(
Http.request.post("/auth"),
userLogin
);
return request.pipe(
E.flatMap((request) => authenticateRequestClient(request)),
E.flatMap((response) => {
return decodeToken(response);
}),
E.tap((token) => makeTokenFile(token.data)),
E.mapError((error) => new AuthError({ message: JSON.stringify(error) }))
);
};
const decodeToken = Http.response.schemaBodyJson(TokenResponse);
const authenticateRequestBody = Http.request.schemaBody(
UserLogin.pipe(S.omit("defaultAppId"))
);
const authenticateRequestClient = defaultClient.pipe(
Http.client.mapRequest(Http.request.prependUrl(apiConfig.dev_api_url)),
Http.client.mapRequest(Http.request.acceptJson),
Http.client.mapRequest(
Http.request.setHeader("some-header", apiConfig.default_app_id)
)
);
const authenticate = (userLogin: UserLogin) => {
const request = authenticateRequestBody(
Http.request.post("/auth"),
userLogin
);
return request.pipe(
E.flatMap((request) => authenticateRequestClient(request)),
E.flatMap((response) => {
return decodeToken(response);
}),
E.tap((token) => makeTokenFile(token.data)),
E.mapError((error) => new AuthError({ message: JSON.stringify(error) }))
);
};