33 lines
928 B
JavaScript
Executable File
33 lines
928 B
JavaScript
Executable File
const svrApi = 'https://localhost:7156/api';
|
|
|
|
/**
|
|
* @param {string} key
|
|
* @param {DiagramSerialized} serialized
|
|
* @returns {Promise}
|
|
*/
|
|
export async function srvSave(key, serialized) {
|
|
return await fetch(`${svrApi}/${key}`, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json;charset=utf-8' },
|
|
body: JSON.stringify(serialized)
|
|
});
|
|
}
|
|
|
|
/**
|
|
* get diagram json by key
|
|
* @param {string} key
|
|
* @returns {Promise<DiagramSerialized>}
|
|
*/
|
|
export async function srvGet(key) {
|
|
return (await fetch(`${svrApi}/${key}`)).json();
|
|
}
|
|
|
|
export function generateKey() {
|
|
const arr = new Uint8Array((8 / 2));
|
|
window.crypto.getRandomValues(arr);
|
|
const date = new Date();
|
|
return `${date.getUTCFullYear()}${(date.getUTCMonth() + 1).toString().padStart(2, '0')}${Array.from(arr, dec => dec.toString(16).padStart(2, '0')).join('')}`;
|
|
}
|
|
|
|
/** @typedef { import("./dgrm-serialization").DiagramSerialized } DiagramSerialized */
|