Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - restorecommerce/data: Data sets for Restorecommerce · GitHub
Skip to content

Repository files navigation

Data Sets for Restorecommerce

Build Status

The data sets serve several purposes:

  • Share and re-use of master data such as lists of counties, VAT rates, courier tariffs etc.

  • For automated testing

  • For demonstration purposes

Getting Started

Note: Recommented for setups from scratch with clean databases only!

This tutorial will install all dependencies, generate all data and import all data! Depending on the dataset size, each process may take a while. For more sensitive and detail usage, please check individual documentation:

For quick start, please proceed with following steps:

  1. Ensure that system or charts is running, either locally or remotely. At remote, please adjust endpoints in .config.json.

  2. Install all dependencies:

    npm ci
  3. Trigger all transformers and generators to create all generative data:

    npm run transform
  4. Extract the API-Key from restorecommerce-facade-srv logs:

    1. If facade-srv is running locally,

      • run:

        npm run env:token
      • ensure a file .env was created with content e.g.:

        ACCESS_TOKEN=87a85f2661db4888ab88b8997ed0adc8
    2. If facade-srv is running remotely,

      • attach to its shell and try:

        echo $(docker logs --tail 10000 restorecommerce_facade_srv 2> /dev/null | grep 'Bootstrap API Key is:' | awk '{print \"\rACCESS_TOKEN=\"$7}')
      • then export the API-Key to your local environment:

        export ACCESS_TOKEN={API-KEY}
  5. Import all data, this process may take some time:

    npm run import
  6. All done! Please check the database whether all data is imported.

All NPM Script Commands

The project root provides a couble of handy NPM Script Commands to accelerate the workflow across all datasets.

Transformers

All:

  • Transforms all generative data:

    npm run transform

System:

  • Transforms all generative data for system:

    npm run transform:system
  • Transforms unit-codes from XLS to YAML:

    npm run transform:system:unitcodes

Demo Shop:

  • Transforms all generative data for demo-shop:

    npm run transform:demoshop
  • Transforms catalog data from CSV to YAML:

    npm run transform:demoshop

Imports

All:

  • Imports all data:

    npm run import

System:

  • Imports all system data only:

    npm run import:system
  • Imports users, roles, policy-sets, policies and rules from system data:

    npm run import:system:identity
  • Imports policy-sets, policies and rules from system data:

    npm run import:system:rules
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from system data:

    npm run import:system:master
  • Imports generated unit-codes from system data:

    npm run import:system:extra

Demo Shop:

  • Imports all data from demo-shop only:

    npm run import:demoshop
  • Imports users from demo-shop data:

    npm run import:demoshop:identity
  • Imports commands, contact-point-types, countries, locales, organizations, tax-types, taxes and timezones from demo-shop data:

    npm run import:demoshop:master
  • Imports generated products, manufactures, price-groups, prototypes and categories from demo-shop data:

    npm run import:demoshop:catalog

Utilities

  • Extracts API-Key from local facade-srv logs:

    npm run env:token

The Access Control Data Model

All entities of this dataset are organized along a hierarchy of organizations. Each entity is owned by one or more organization(s) and by its creator in common case.

All organizations are children of system while restorecommerce-demo-root implies the first tandent. Each tandent has two sub-organizations for categorization between organizations of shops or customers. Shop and customer organizations may have any sub-hierarchy as pleased. Here an overview of the current organization hierarchy:

system:
- restorecommerce-demo-root:
- restorecommerce-demo-shops:
- restorecommerce-demo-shop-000
- restorecommerce-demo-customers:
- restorecommerce-demo-customer-000
- restorecommerce-demo-customer-001

A combination of roles given to a user grant variant read and write permissions per entity within defined scopes. The following roles are provided by system:identity:

  • superadministrator: An exclusive role for developers and technical users.

    1. Permits full access to all entities regardless of ownership or hierarchy.

  • administrator: An exclusive role for maintenance and product owners.

    1. Permits full access to all entities within an hierarchical scope.

  • sales: Maintains daily business for shops.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create for products and other catalog entities within hierarchical scope.

    3. Permits read and modify for submitted orderings within hierarchical scope.

  • moderator: Maintains users and customer organizations.

    1. Permits read for all entities within an hierarchical scope.

    2. Permits create and modify for organizations and users within scope.

    3. Permits withdraw for submitted orderings within scope.

  • member: Acts as a member of customer organizations.

    1. Permits read for users, addresses, contact-points and sub-organizations within hierarchical scope

  • customer: Acts as a customer of a shops.

    1. Permits read for products and other catalog entities within hierarchical scope.

    2. Permits to submit orders within hierarchical scope.

  • user: Acts as an authenticated users.

    1. Permits read for all owned entities

    2. Permits read and modify of exposed user data

    3. Permits to create orders within hierarchical scope

  • scoped: Expands read permission to a certain scope.

    1. Permits read within scope

  • unauthenticated: Acts as an unauthenticated users.

    1. Permits to reset password

    2. Permits read for exposed data of system

Examples

The Common Sales User has a sales-role with scope on a shop-organization and a scoped-role on system. By that it can maintain the shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information.

The Common Moderator User has a moderator-role with scope on a customer-organization and a scoped-role on system. By that it can maintain the customer organization but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a customer-role on a shop, so it can submit orders.

The Common Customer User has a customer-role with scope on a shop-organization and a scoped-role on system. By that it can submit orders to a shop but also read all master data in system. - Optionally it has a user-role, so it can modify its user information. - Optionally it has a member-role on a customer-organization, so it can create and submit orders in the name of that organization.

Trouble Shooting

Access deny errors during import:

  • Please restart facade-srv and retrive the latest API-Key

About

Data sets for Restorecommerce

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages