Files
dashlibstorage/src/index.js
2026-07-31 16:17:33 +02:00

91 lines
3.3 KiB
JavaScript

import companyuserGetByEmail from './store/companyuser/getByEmail.js';
import companyuserAdd from './store/companyuser/add.js';
import companyuserDelete from './store/companyuser/delete.js';
import companyCreate from './store/company/create.js';
import companyUpdate from './store/company/update.js';
import companyDelete from './store/company/delete.js';
import companyList from './store/company/list.js';
import categoryGetTreeForCompany from './store/category/getTreeForCompany.js';
import categoryGetCategoryArticles from './store/category/getCategoryArticles.js';
import categoryCreateUnderParent from './store/category/createUnderParent.js';
import categoryDelete from './store/category/delete.js';
import articleCreateUnderParent from './store/article/createUnderParent.js';
import articleGetBySku from './store/article/getBySku.js';
import langCreate from './store/lang/create.js';
import langDelete from './store/lang/delete.js';
import langList from './store/lang/list.js';
import langGetByIso639 from './store/lang/getByIso639.js';
import langEnsure from './store/lang/ensure.js';
import taxCreate from './store/tax/create.js';
import taxGetByRate from './store/tax/getByRate.js';
import taxEnsure from './store/tax/ensure.js';
import taxList from './store/tax/list.js';
import googleAuthAdd from './store/google_auth/add.js';
import googleAuthGetByEmail from './store/google_auth/getByEmail.js';
import googleAuthListAllowedEmails from './store/google_auth/listAllowedEmails.js';
import googleAuthRemoveAllowedEmail from './store/google_auth/removeAllowedEmail.js';
import googleAuthSetSelectedCompany from './store/google_auth/setSelectedCompany.js';
import storePurge from './store/purge.js';
import storeInitialize from './store/initialize.js';
export default class LibDashStore {
constructor(pool) {
this.pool = pool;
this.companyuser = {
getByEmail: companyuserGetByEmail(pool),
add: companyuserAdd(pool),
delete: companyuserDelete(pool),
};
this.company = {
create: companyCreate(pool),
update: companyUpdate(pool),
delete: companyDelete(pool),
list: companyList(pool),
};
this.category = {
getTreeForCompany: categoryGetTreeForCompany(pool),
getCategoryArticles: categoryGetCategoryArticles(pool),
createUnderParent: categoryCreateUnderParent(pool),
delete: categoryDelete(pool),
};
this.article = {
createUnderParent: articleCreateUnderParent(pool),
getBySku: articleGetBySku(pool),
};
this.lang = {
create: langCreate(pool),
getByIso639: langGetByIso639(pool),
ensure: langEnsure(pool),
delete: langDelete(pool),
list: langList(pool),
};
this.tax = {
create: taxCreate(pool),
getByRate: taxGetByRate(pool),
ensure: taxEnsure(pool),
list: taxList(pool),
};
this.google_auth = {
add: googleAuthAdd(pool),
getByEmail: googleAuthGetByEmail(pool),
listAllowedEmails: googleAuthListAllowedEmails(pool),
removeAllowedEmail: googleAuthRemoveAllowedEmail(pool),
setSelectedCompany: googleAuthSetSelectedCompany(pool),
};
this.purge = storePurge(pool);
this.initialize = storeInitialize(pool);
return this.initialize().then(() => this);
}
}
export { SCHEMA_SCRIPTS } from './schema.js';