{"_id":"@opuscapita/fsm-workflow-transition-history","_rev":"38-688ebd27542306c3fe1500a14308a3ff","name":"@opuscapita/fsm-workflow-transition-history","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@opuscapita/fsm-workflow-transition-history","version":"0.0.1","author":"","license":"Apache-2.0","_id":"@opuscapita/fsm-workflow-transition-history@0.0.1","maintainers":[{"name":"alexeysergeev","email":"sab@scand.com"}],"dist":{"shasum":"2b71fa3784e281fa722aac265196467a381bfffc","tarball":"https://registry.npmjs.org/@opuscapita/fsm-workflow-transition-history/-/fsm-workflow-transition-history-0.0.1.tgz","integrity":"sha512-LrJtilGeKg8ZtA1/16Yas5Zzv9+wiAHP/8nXoGszMyV6itC4M1ZC01H+X+h5+dwbDRdOw873PwDxbZj5HTXJaQ==","signatures":[{"sig":"MEYCIQCbHVoRmFF53bAHeHRGAbGysguIpcQCIdBPYIfEOHDYGgIhANML8wXwPgkklGked0O1cGJ6PQ1IWA4x++2DTNfq+fpM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","files":["index.js"],"scripts":{"lint":"node ./node_modules/.bin/eslint .","start":"node -e \"require('./demo/server').run()\"","lint-tab":"node ./node_modules/.bin/eslint . --rule '\"indent\": [2, \"tab\", { \"SwitchCase\": 1, \"VariableDeclarator\": 1 }]'","npm-publish":"update-changelog -- --all && npm-publish","publish-release":"npm run npm-publish -- --release"},"_npmUser":{"name":"alexeysergeev","email":"sab@scand.com"},"_npmVersion":"5.6.0","description":"Business-object history for FSM workflow","directories":{},"_nodeVersion":"8.9.4","dependencies":{"umzug":"2.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"eslint":"3.19.0","helmet":"3.10.0","mysql2":"1.5.1","express":"4.16.2","sequelize":"4.32.1","body-parser":"1.18.2","babel-eslint":"7.2.3","sequelize-cli":"3.2.0","eslint-plugin-react":"6.10.3","@opuscapita/npm-scripts":"2.0.0","eslint-config-opuscapita":"1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/fsm-workflow-transition-history-0.0.1.tgz_1517575193545_0.017530069686472416","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@opuscapita/fsm-workflow-transition-history","version":"0.0.3","author":"","license":"Apache-2.0","_id":"@opuscapita/fsm-workflow-transition-history@0.0.3","maintainers":[{"name":"lukaszkepa","email":"lke.kemps@gmail.com"},{"name":"ocmachineuser","email":"pim.machineuser@opuscapita.com"},{"name":"oscneira","email":"oscar.neira@opuscapita.com"},{"name":"nczeranka","email":"norbert.czeranka@opuscapita.com"},{"name":"jenni","email":"jenni.ristonmaa@gmail.com"},{"name":"amourzenkov-sc","email":"andrei.mourzenkov@opuscapita.com"},{"name":"egor.stambakio","email":"egor.stambakio@opuscapita.com"},{"name":"alexanderdanilov","email":"adanilov@scand.com"},{"name":"abaliunov-sc","email":"baliunov@scand.com"},{"name":"dmitrydivin","email":"divin.dmitry@gmail.com"},{"name":"dsanko","email":"dsanko@scand.com"},{"name":"samikarj","email":"samikarj@gmail.com"},{"name":"elefantino","email":"net.tyumen@mail.ru"},{"name":"kwierchris","email":"christian.drengenberg@opuscapita.com"},{"name":"tamkov-sc","email":"tamkov@scand.com"},{"name":"eriihine","email":"esa.riihinen@gmail.com"},{"name":"havantkim","email":"kimmo.havantola@opuscapita.com"},{"name":"ilkkalehtinen","email":"ilkka.lehtinen@opuscapita.com"},{"name":"gr4per","email":"arne.graeper@opuscapita.com"},{"name":"kirillvolkovich","email":"kirill.volkovich@opuscapita.com"},{"name":"alexeysergeev","email":"sab@scand.com"}],"dist":{"shasum":"07eb8487a0130e287efb037158340dc4592a0e9a","tarball":"https://registry.npmjs.org/@opuscapita/fsm-workflow-transition-history/-/fsm-workflow-transition-history-0.0.3.tgz","integrity":"sha512-QOJnCVdbV1EHYnd6ikS+fL+VQBhxTr7wJWDA+e6hEdTLPF/C/YSZutgeE6H4tSekxfRdm0d3zKAEKT2H52NIsg==","signatures":[{"sig":"MEYCIQDnkhdL2b2/cF6OQjhSLuoGqMgP5PYDzae4fFyLRefHxgIhAIbgsKchEngJCTxXa60BHu1owN1npEyVi8uZjZ1iHvO8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","files":["index.js","db/"],"scripts":{"lint":"node ./node_modules/.bin/eslint .","start":"node -e \"require('./demo/server').run()\"","lint-tab":"node ./node_modules/.bin/eslint . --rule '\"indent\": [2, \"tab\", { \"SwitchCase\": 1, \"VariableDeclarator\": 1 }]'","npm-publish":"update-changelog -- --all && npm-publish","publish-release":"npm run npm-publish -- --release"},"_npmUser":{"name":"amourzenkov-sc","email":"andrei.mourzenkov@opuscapita.com"},"_npmVersion":"5.6.0","description":"Business-object history for FSM workflow","directories":{},"_nodeVersion":"8.9.4","dependencies":{"umzug":"2.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"eslint":"3.19.0","helmet":"3.10.0","mysql2":"1.5.1","express":"4.16.2","sequelize":"4.32.1","body-parser":"1.18.2","babel-eslint":"7.2.3","sequelize-cli":"3.2.0","eslint-plugin-react":"6.10.3","@opuscapita/npm-scripts":"2.0.0","eslint-config-opuscapita":"1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/fsm-workflow-transition-history-0.0.3.tgz_1517819816417_0.8386138288769871","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@opuscapita/fsm-workflow-transition-history","version":"0.0.4","author":"","license":"Apache-2.0","_id":"@opuscapita/fsm-workflow-transition-history@0.0.4","maintainers":[{"name":"lukaszkepa","email":"lke.kemps@gmail.com"},{"name":"ocmachineuser","email":"pim.machineuser@opuscapita.com"},{"name":"oscneira","email":"oscar.neira@opuscapita.com"},{"name":"nczeranka","email":"norbert.czeranka@opuscapita.com"},{"name":"jenni","email":"jenni.ristonmaa@gmail.com"},{"name":"amourzenkov-sc","email":"andrei.mourzenkov@opuscapita.com"},{"name":"egor.stambakio","email":"egor.stambakio@opuscapita.com"},{"name":"alexanderdanilov","email":"adanilov@scand.com"},{"name":"abaliunov-sc","email":"baliunov@scand.com"},{"name":"dmitrydivin","email":"divin.dmitry@gmail.com"},{"name":"dsanko","email":"dsanko@scand.com"},{"name":"samikarj","email":"samikarj@gmail.com"},{"name":"elefantino","email":"net.tyumen@mail.ru"},{"name":"kwierchris","email":"christian.drengenberg@opuscapita.com"},{"name":"tamkov-sc","email":"tamkov@scand.com"},{"name":"eriihine","email":"esa.riihinen@gmail.com"},{"name":"havantkim","email":"kimmo.havantola@opuscapita.com"},{"name":"ilkkalehtinen","email":"ilkka.lehtinen@opuscapita.com"},{"name":"gr4per","email":"arne.graeper@opuscapita.com"},{"name":"kirillvolkovich","email":"kirill.volkovich@opuscapita.com"},{"name":"alexeysergeev","email":"sab@scand.com"}],"dist":{"shasum":"7576959831a89883b3bfd66ad2c39802b908fa11","tarball":"https://registry.npmjs.org/@opuscapita/fsm-workflow-transition-history/-/fsm-workflow-transition-history-0.0.4.tgz","integrity":"sha512-PGKk8XXtqqpGkKUYG1l7wj1JVmFO5RFrNUcIc8gPOIavA7RLbZzFjybKXZMeSHrRJ4WvSKS1L+uTP725ufTGAg==","signatures":[{"sig":"MEUCIHTAtf9Y31hcwqwd6BeHT6E1LG3po6+EZ4QpwqKkNkOMAiEA3qglaup0YxT7kEExCjknyi6K7QjH4dwwmlfgbOs/M3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","files":["index.js","constants.js","db/"],"scripts":{"lint":"node ./node_modules/.bin/eslint .","start":"node -e \"require('./demo/server').run()\"","lint-tab":"node ./node_modules/.bin/eslint . --rule '\"indent\": [2, \"tab\", { \"SwitchCase\": 1, \"VariableDeclarator\": 1 }]'","npm-publish":"update-changelog -- --all && npm-publish","publish-release":"npm run npm-publish -- --release"},"_npmUser":{"name":"amourzenkov-sc","email":"andrei.mourzenkov@opuscapita.com"},"_npmVersion":"5.6.0","description":"Business-object history for FSM workflow","directories":{},"_nodeVersion":"8.9.4","dependencies":{"umzug":"2.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"eslint":"3.19.0","helmet":"3.10.0","mysql2":"1.5.1","express":"4.16.2","sequelize":"4.32.1","body-parser":"1.18.2","babel-eslint":"7.2.3","sequelize-cli":"3.2.0","eslint-plugin-react":"6.10.3","@opuscapita/npm-scripts":"2.0.0","eslint-config-opuscapita":"1.0.7"},"_npmOperationalInternal":{"tmp":"tmp/fsm-workflow-transition-history-0.0.4.tgz_1517820563410_0.0721703046001494","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-02-02T12:39:54.416Z","modified":"2026-04-15T16:05:33.462Z","0.0.1":"2018-02-02T12:39:54.416Z","0.0.3":"2018-02-05T08:36:57.311Z","0.0.4":"2018-02-05T08:49:24.569Z"},"license":"Apache-2.0","description":"Business-object history for FSM workflow","maintainers":[{"email":"kacpermklosowski@gmail.com","name":"kuos"},{"email":"pim.machineuser@opuscapita.com","name":"ocmachineuser"},{"email":"elzbieta.rymarkiewicz-czapiewska@opuscapita.com","name":"elaczapiewska"},{"email":"ocbuildautomation@opuscapita.com","name":"ocautomation"},{"email":"piotr.krzysztof.murdzia@gmail.com","name":"piotr.krzysztof.murdzia"},{"email":"domin25001@gmail.com","name":"dsbbl"},{"email":"stefan.machnow@opuscapita.com","name":"smachnow"},{"email":"ilham.kaddouri@opuscapita.com","name":"ilhamkadduri"},{"email":"michal.blachu14@gmail.com","name":"mblachu"}],"readme":"# Workflow Transition History\n\n![badge-npm-version](https://img.shields.io/npm/v/@opuscapita/fsm-workflow-transition-history.svg)\n![NPM Downloads](https://img.shields.io/npm/dm/@opuscapita/fsm-workflow-transition-history.svg)\n\nWorkflow Transition History is an extension to FSM Core.  It provies server-side API for storing and extracting Business Object lifecycle history.\n\n## Installation\n\nInstall package\n\n```\nnpm install --save @opuscapita/fsm-workflow-transition-history\n```\n\n## Basic Usage\n\n```javascript\nconst Sequelize = require('sequelize');\nconst workflowTransitionHistory = require('@opuscapita/fsm-workflow-transition-history');\nconst dbConfig = require('./config/db.js');\n\nconst sequelize = new Sequelize(dbConfig);\n\nworkflowTransitionHistory.runMigrations(sequelize).\n  then(_ => workflowTransitionHistory.createModel(sequelize)).\n  then(handlers => {\n    const { add, search } = handlers;\n\n    add({\n      from: 'from-state',\n      to: 'to-state',\n      event: 'transition-event',\n      businessObjType: 'invoice',\n      businessObjId: 'ew153-7210',\n      user: 'user-id-46270e',\n      description: 'Optional business object transition description text'\n    }).\n      then(obj => console.log('The following obj has been added to history:', obj)).\n      catch(err => console.error('Error adding obj to histofy:', err));\n\n    search({\n\n      // Optional.\n      // Its format is the same as \"where\" in sequelize.model().findAll\n      where: {\n        from: 'from-state',\n        to: 'to-state'\n      },\n\n      // Optional.\n      // Its format is the same as \"order\" in sequelize.model().findAll\n      order: [[\"createdOn\",\"ASC\"]]\n\n    }).\n      then(objList => console.log(objList.map(obj => JSON.stringify({\n        id: obj.id,\n        from: obj.from,\n        to: obj.to,\n        event: obj.event,\n        businessObjType: obj.businessObjType,\n        businessObjId: obj.businessObjId,\n        user: obj.user,\n        description: obj.description,\n        createdOn: obj.createdOn\n      })))).\n      catch(err => console.error('Error extracting objects from history:', err));\n  });\n```\nSee [Express Server Demo](demo/server.js) for an example of using Workflow Transition History.\n","readmeFilename":"README.md"}