allow override for save
This commit is contained in:
parent
0a3c281a49
commit
ee1559522b
1 changed files with 17 additions and 9 deletions
|
@ -9,7 +9,7 @@ import {URLs} from "/scripts/utils/URLs.js";
|
||||||
// Don't forget to set the class as export default.
|
// Don't forget to set the class as export default.
|
||||||
export default class product {
|
export default class product {
|
||||||
// Create private variables for explicit use for the storage.
|
// Create private variables for explicit use for the storage.
|
||||||
#options;
|
#options = {};
|
||||||
|
|
||||||
/* Initialize a new product with its details.
|
/* Initialize a new product with its details.
|
||||||
|
|
||||||
|
@ -51,14 +51,22 @@ export default class product {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async save() {
|
async save(options = {}) {
|
||||||
// There is only a need to save the data if an update is needed.
|
// Set the default options.
|
||||||
if (Object.hasOwn(this.status, `update`) ? this.status[`update`] : true) {
|
options = Object.assign({}, this.#options, options);
|
||||||
// Save the snip data.
|
|
||||||
(this.snip) ? await global.write([`sites`, this.URL, `snip`], this.snip, 1) : false;
|
|
||||||
|
|
||||||
// Write the analysis data to the storage.
|
// There is only a need to save the data if an update is needed.
|
||||||
return((this[`analysis`]) ? global.write([`sites`, this.URL, `analysis`], this.analysis, 1) : false);
|
if ((Object.hasOwn(this.status, `update`) ? this.status[`update`] : true) || options[`override`]) {
|
||||||
}
|
let STATUS = true;
|
||||||
|
|
||||||
|
// Save the data.
|
||||||
|
Object.keys(this).forEach(async (KEY) => {
|
||||||
|
if ((!([`#options`, `status`, `details`].includes(KEY))) && STATUS) {
|
||||||
|
STATUS = await global.write([`sites`, this.URL, KEY], this[KEY], 1, {"override": true});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return (STATUS);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue