u
This commit is contained in:
@@ -42,13 +42,16 @@ WHERE id = @id
|
||||
|
||||
export const LIST = `
|
||||
SELECT
|
||||
id,
|
||||
root_category_id AS rootCategoryId,
|
||||
default_language_id AS languageId,
|
||||
taxrate AS taxrateId,
|
||||
reducedtaxrate AS reducedtaxrateId,
|
||||
taxfreerate AS taxfreerateId
|
||||
FROM company
|
||||
c.id,
|
||||
c.name,
|
||||
c.root_category_id AS rootCategoryId,
|
||||
c.default_language_id AS languageId,
|
||||
c.taxrate,
|
||||
c.reducedtaxrate,
|
||||
c.taxfreerate
|
||||
FROM company c
|
||||
INNER JOIN companyuser cu ON cu.company_id = c.id
|
||||
WHERE cu.google_auth_id = @authId
|
||||
`;
|
||||
|
||||
export const DELETE = `
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import sql from 'mssql';
|
||||
import { CREATE } from '../../sql/category.js';
|
||||
|
||||
export default function create(pool) {
|
||||
return async ({ parentId, sort }) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('parentId', sql.Int, parentId)
|
||||
.input('sort', sql.Int, sort)
|
||||
.input('parentId', parentId)
|
||||
.input('sort', sort)
|
||||
.query(CREATE);
|
||||
|
||||
return result.recordset[0].id;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { DELETE } from '../../sql/category.js';
|
||||
|
||||
export default function del(pool) {
|
||||
return async (id) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('id', sql.Int, id)
|
||||
.input('id', id)
|
||||
.query(DELETE);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_TREE } from '../../sql/category.js';
|
||||
|
||||
export default function getTree(pool) {
|
||||
return async (rootId) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('rootId', sql.Int, rootId)
|
||||
.input('rootId', rootId)
|
||||
.query(GET_TREE);
|
||||
|
||||
return result.recordset;
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import sql from 'mssql';
|
||||
import { UPDATE_PARENT_ID } from '../../sql/category.js';
|
||||
|
||||
export default function updateParentId(pool) {
|
||||
return async (id, parentId) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('id', sql.Int, id)
|
||||
.input('parentId', sql.Int, parentId)
|
||||
.input('id', id)
|
||||
.input('parentId', parentId)
|
||||
.query(UPDATE_PARENT_ID);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import sql from 'mssql';
|
||||
import { CREATE } from '../../sql/company.js';
|
||||
import { CREATE as CREATE_CATEGORY } from '../../sql/category.js';
|
||||
import { ADD as ADD_COMPANYUSER } from '../../sql/companyuser.js';
|
||||
import getByName from './getByName.js';
|
||||
import langEnsure from '../lang/ensure.js';
|
||||
import taxEnsure from '../tax/ensure.js';
|
||||
@@ -11,8 +11,8 @@ export default function create(pool) {
|
||||
const ensureLang = langEnsure(pool);
|
||||
const ensureTax = taxEnsure(pool);
|
||||
|
||||
return async ({ iso639, name, taxrate, reducedtaxrate }) => {
|
||||
const tx = new sql.Transaction(pool);
|
||||
return async ({ iso639, name, taxrate, reducedtaxrate, authId }) => {
|
||||
const tx = pool.transaction();
|
||||
await tx.begin();
|
||||
|
||||
try {
|
||||
@@ -27,25 +27,32 @@ export default function create(pool) {
|
||||
const taxfreerateId = await ensureTax(0, tx);
|
||||
|
||||
const category = await request(pool, tx)
|
||||
.input('parentId', sql.Int, null)
|
||||
.input('sort', sql.Int, 0)
|
||||
.input('parentId', null)
|
||||
.input('sort', 0)
|
||||
.query(CREATE_CATEGORY);
|
||||
|
||||
const rootCategoryId = category.recordset[0].id;
|
||||
|
||||
const result = await request(pool, tx)
|
||||
.input('name', sql.NVarChar(255), name)
|
||||
.input('rootCategoryId', sql.Int, rootCategoryId)
|
||||
.input('languageId', sql.Int, languageId)
|
||||
.input('taxrate', sql.Int, taxrateId)
|
||||
.input('reducedtaxrate', sql.Int, reducedtaxrateId)
|
||||
.input('taxfreerate', sql.Int, taxfreerateId)
|
||||
.input('name', name)
|
||||
.input('rootCategoryId', rootCategoryId)
|
||||
.input('languageId', languageId)
|
||||
.input('taxrate', taxrateId)
|
||||
.input('reducedtaxrate', reducedtaxrateId)
|
||||
.input('taxfreerate', taxfreerateId)
|
||||
.query(CREATE);
|
||||
|
||||
const companyId = result.recordset[0].id;
|
||||
|
||||
await request(pool, tx)
|
||||
.input('companyId', companyId)
|
||||
.input('authId', authId)
|
||||
.query(ADD_COMPANYUSER);
|
||||
|
||||
await tx.commit();
|
||||
|
||||
return {
|
||||
id: result.recordset[0].id,
|
||||
id: companyId,
|
||||
rootCategoryId,
|
||||
languageId,
|
||||
taxrateId,
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { DELETE } from '../../sql/company.js';
|
||||
|
||||
export default function del(pool) {
|
||||
return async (companyId) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('companyId', sql.Int, companyId)
|
||||
.input('companyId', companyId)
|
||||
.query(DELETE);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_ID } from '../../sql/company.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function getById(pool) {
|
||||
return async (id, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('id', sql.Int, id)
|
||||
.input('id', id)
|
||||
.query(GET_BY_ID);
|
||||
|
||||
return result.recordset[0];
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_NAME } from '../../sql/company.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function getByName(pool) {
|
||||
return async (name, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('name', sql.NVarChar(255), name)
|
||||
.input('name', name)
|
||||
.query(GET_BY_NAME);
|
||||
|
||||
return result.recordset[0];
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
import { LIST } from '../../sql/company.js';
|
||||
|
||||
export default function list(pool) {
|
||||
return async () => {
|
||||
const result = await pool.request().query(LIST);
|
||||
return async (authId) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('authId', authId)
|
||||
.query(LIST);
|
||||
return result.recordset;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import sql from 'mssql';
|
||||
import { UPDATE } from '../../sql/company.js';
|
||||
import getById from './getById.js';
|
||||
import getByName from './getByName.js';
|
||||
@@ -13,7 +12,7 @@ export default function update(pool) {
|
||||
const ensureTax = taxEnsure(pool);
|
||||
|
||||
return async (id, { iso639, name, taxrate, reducedtaxrate }) => {
|
||||
const tx = new sql.Transaction(pool);
|
||||
const tx = pool.transaction();
|
||||
await tx.begin();
|
||||
|
||||
try {
|
||||
@@ -34,11 +33,11 @@ export default function update(pool) {
|
||||
const reducedtaxrateId = await ensureTax(reducedtaxrate, tx);
|
||||
|
||||
await request(pool, tx)
|
||||
.input('id', sql.Int, id)
|
||||
.input('name', sql.NVarChar(255), name)
|
||||
.input('languageId', sql.Int, languageId)
|
||||
.input('taxrate', sql.Int, taxrateId)
|
||||
.input('reducedtaxrate', sql.Int, reducedtaxrateId)
|
||||
.input('id', id)
|
||||
.input('name', name)
|
||||
.input('languageId', languageId)
|
||||
.input('taxrate', taxrateId)
|
||||
.input('reducedtaxrate', reducedtaxrateId)
|
||||
.query(UPDATE);
|
||||
|
||||
await tx.commit();
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import sql from 'mssql';
|
||||
import { ADD } from '../../sql/companyuser.js';
|
||||
|
||||
export default function add(pool) {
|
||||
return async (companyId, authId) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('companyId', sql.Int, companyId)
|
||||
.input('authId', sql.Int, authId)
|
||||
.input('companyId', companyId)
|
||||
.input('authId', authId)
|
||||
.query(ADD);
|
||||
|
||||
return result.recordset[0].id;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { DELETE } from '../../sql/companyuser.js';
|
||||
|
||||
export default function del(pool) {
|
||||
return async (id) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('id', sql.Int, id)
|
||||
.input('id', id)
|
||||
.query(DELETE);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_EMAIL } from '../../sql/companyuser.js';
|
||||
|
||||
export default function getByEmail(pool) {
|
||||
return async (email) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('email', sql.NVarChar(320), email)
|
||||
.input('email', email)
|
||||
.query(GET_BY_EMAIL);
|
||||
|
||||
return result.recordset.map((row) => row.id);
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { ADD } from '../../sql/google_auth.js';
|
||||
|
||||
export default function add(pool) {
|
||||
return async (email) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('email', sql.NVarChar(320), email)
|
||||
.input('email', email)
|
||||
.query(ADD);
|
||||
|
||||
return result.recordset[0].id;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_EMAIL } from '../../sql/google_auth.js';
|
||||
|
||||
export default function getByEmail(pool) {
|
||||
return async (email) => {
|
||||
const result = await pool
|
||||
.request()
|
||||
.input('email', sql.NVarChar(320), email)
|
||||
.input('email', email)
|
||||
.query(GET_BY_EMAIL);
|
||||
|
||||
return result.recordset[0];
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { REMOVE_ALLOWED_EMAIL } from '../../sql/google_auth.js';
|
||||
|
||||
export default function removeAllowedEmail(pool) {
|
||||
return async (email) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('email', sql.NVarChar(320), email)
|
||||
.input('email', email)
|
||||
.query(REMOVE_ALLOWED_EMAIL);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import sql from 'mssql';
|
||||
import { SET_SELECTED_COMPANY } from '../../sql/google_auth.js';
|
||||
|
||||
export default function setSelectedCompany(pool) {
|
||||
return async (id, companyId) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('id', sql.Int, id)
|
||||
.input('companyId', sql.Int, companyId)
|
||||
.input('id', id)
|
||||
.input('companyId', companyId)
|
||||
.query(SET_SELECTED_COMPANY);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { CREATE } from '../../sql/language.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function create(pool) {
|
||||
return async (iso639, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('iso639', sql.NVarChar(10), iso639)
|
||||
.input('iso639', iso639)
|
||||
.query(CREATE);
|
||||
|
||||
return result.recordset[0].id;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { DELETE } from '../../sql/language.js';
|
||||
|
||||
export default function del(pool) {
|
||||
return async (id) => {
|
||||
await pool
|
||||
.request()
|
||||
.input('id', sql.Int, id)
|
||||
.input('id', id)
|
||||
.query(DELETE);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import sql from 'mssql';
|
||||
import { GET_BY_ISO639 } from '../../sql/language.js';
|
||||
import request from '../request.js';
|
||||
|
||||
export default function getByIso639(pool) {
|
||||
return async (iso639, tx) => {
|
||||
const result = await request(pool, tx)
|
||||
.input('iso639', sql.NVarChar(10), iso639)
|
||||
.input('iso639', iso639)
|
||||
.query(GET_BY_ISO639);
|
||||
|
||||
return result.recordset[0];
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import sql from 'mssql';
|
||||
|
||||
export default function request(pool, tx) {
|
||||
return tx ? new sql.Request(tx) : pool.request();
|
||||
return (tx ?? pool).request();
|
||||
}
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
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)
|
||||
.input('rate', rate)
|
||||
.query(CREATE);
|
||||
|
||||
return result.recordset[0].id;
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
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)
|
||||
.input('rate', rate)
|
||||
.query(GET_BY_RATE);
|
||||
|
||||
return result.recordset[0];
|
||||
|
||||
Reference in New Issue
Block a user