u
This commit is contained in:
13
src/store/tax/create.js
Normal file
13
src/store/tax/create.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import sql from 'mssql';
|
||||
import { CREATE } from '../../sql/tax.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function create(pool) {
|
||||
return async (rate, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('rate', sql.Decimal(18, 4), rate)
|
||||
.query(CREATE);
|
||||
|
||||
return result.recordset[0].id;
|
||||
};
|
||||
}
|
||||
12
src/store/tax/ensure.js
Normal file
12
src/store/tax/ensure.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import getByRate from './getByRate.js';
|
||||
import create from './create.js';
|
||||
|
||||
export default function ensure(pool) {
|
||||
const get = getByRate(pool);
|
||||
const add = create(pool);
|
||||
return async (rate, tx) => {
|
||||
const row = await get(rate, tx);
|
||||
if (row) return row.id;
|
||||
return add(rate, tx);
|
||||
};
|
||||
}
|
||||
13
src/store/tax/getByRate.js
Normal file
13
src/store/tax/getByRate.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_RATE } from '../../sql/tax.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function getByRate(pool) {
|
||||
return async (rate, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('rate', sql.Decimal(18, 4), rate)
|
||||
.query(GET_BY_RATE);
|
||||
|
||||
return result.recordset[0];
|
||||
};
|
||||
}
|
||||
8
src/store/tax/list.js
Normal file
8
src/store/tax/list.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import { LIST } from '../../sql/tax.js';
|
||||
|
||||
export default function list(pool) {
|
||||
return async () => {
|
||||
const result = await pool.request().query(LIST);
|
||||
return result.recordset;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user