u
This commit is contained in:
26
src/store/posterminal/setClientversion.js
Normal file
26
src/store/posterminal/setClientversion.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import { SET_CLIENTVERSION as MSSQL_SET } from '../../providers/mssql/queries/posterminal.js';
|
||||
import { SET_CLIENTVERSION as SQLITE_SET } from '../../providers/sqlite3/queries/posterminal.js';
|
||||
import makeRunner from '../runner.js';
|
||||
|
||||
export default function setClientversion(provider) {
|
||||
const sql = provider?.dialect === 'sqlite3' ? SQLITE_SET : MSSQL_SET;
|
||||
|
||||
/**
|
||||
* Stores the software version reported by a POS terminal.
|
||||
*
|
||||
* @param {number} id - The posterminal id.
|
||||
* @param {string|null} clientversion - Version string reported by the client (trimmed; empty → null).
|
||||
* @param {object} [tx] - Optional transaction to run within.
|
||||
* @returns {Promise<{id: number, clientversion: string|null}>}
|
||||
*
|
||||
* @example
|
||||
* await store.posterminal.setClientversion(7, '1.10.12.0');
|
||||
* // => { id: 7, clientversion: '1.10.12.0' }
|
||||
*/
|
||||
return async (id, clientversion, tx) => {
|
||||
const value = clientversion == null ? null : String(clientversion).trim() || null;
|
||||
await makeRunner(provider, tx).query(sql, { id: Number(id), clientversion: value });
|
||||
return { id: Number(id), clientversion: value };
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user