nuVistA/htdocs/vista.mjs

52 lines
1.5 KiB
JavaScript

export async function connect(secret, host='vista.northport.med.va.gov', port=19209) {
return await (await fetch('/v1/vista', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ params: { secret: secret, host: host, port: port }, id: Date.now() })
})).json();
}
export async function close(cid) {
return await (await fetch('/v1/vista/' + cid + '/close', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ id: Date.now() })
})).json();
}
export async function call(cid, body) {
return await (await fetch('/v1/vista/' + cid, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body)
})).json();
}
export async function serverinfo(cid) {
return await (await fetch('/v1/vista/' + cid + '/serverinfo', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: '{}'
})).json();
}
export async function authinfo(cid) {
return await (await fetch('/v1/vista/' + cid + '/authinfo', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: '{}'
})).json();
}
export async function authenticate(cid, avcode=null) {
return await (await fetch('/v1/vista/' + cid + '/authenticate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ params: avcode ? { avcode } : {} })
})).json();
}
export default window.vista = {
connect, close, call, serverinfo, authinfo, authenticate
};