@5minds/node-red-contrib-processcube 1.14.0-develop-da639a-m9v93t0h → 1.14.0-develop-495d78-magw0hhy
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        package/package.json
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            {
         
     | 
| 
       2 
2 
     | 
    
         
             
                "name": "@5minds/node-red-contrib-processcube",
         
     | 
| 
       3 
     | 
    
         
            -
                "version": "1.14.0-develop- 
     | 
| 
      
 3 
     | 
    
         
            +
                "version": "1.14.0-develop-495d78-magw0hhy",
         
     | 
| 
       4 
4 
     | 
    
         
             
                "license": "MIT",
         
     | 
| 
       5 
5 
     | 
    
         
             
                "description": "Node-RED nodes for ProcessCube",
         
     | 
| 
       6 
6 
     | 
    
         
             
                "scripts": {
         
     | 
| 
         @@ -48,6 +48,7 @@ 
     | 
|
| 
       48 
48 
     | 
    
         
             
                        "processcubeEngineConfig": "processcube-engine-config.js",
         
     | 
| 
       49 
49 
     | 
    
         
             
                        "ProcessinstanceQuery": "processinstance-query.js",
         
     | 
| 
       50 
50 
     | 
    
         
             
                        "ProcessinstanceDelete": "processinstance-delete.js",
         
     | 
| 
      
 51 
     | 
    
         
            +
                        "ProcessinstanceDeleteAdvanced": "processinstance-delete-advanced.js",
         
     | 
| 
       51 
52 
     | 
    
         
             
                        "ProcessdefinitionDeploy": "processdefinition-deploy.js",
         
     | 
| 
       52 
53 
     | 
    
         
             
                        "ProcessdefinitionQuery": "processdefinition-query.js",
         
     | 
| 
       53 
54 
     | 
    
         
             
                        "messageEventTrigger": "message-event-trigger.js",
         
     | 
| 
         @@ -0,0 +1,79 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <script type="text/javascript">
         
     | 
| 
      
 2 
     | 
    
         
            +
                RED.nodes.registerType('processinstance-delete-advanced', {
         
     | 
| 
      
 3 
     | 
    
         
            +
                    category: 'ProcessCube DevOps',
         
     | 
| 
      
 4 
     | 
    
         
            +
                    color: '#02AFD6',
         
     | 
| 
      
 5 
     | 
    
         
            +
                    defaults: {
         
     | 
| 
      
 6 
     | 
    
         
            +
                        name: { value: '' },
         
     | 
| 
      
 7 
     | 
    
         
            +
                        engine: { value: '', type: 'processcube-engine-config' },
         
     | 
| 
      
 8 
     | 
    
         
            +
                        query: { value: 'payload' },
         
     | 
| 
      
 9 
     | 
    
         
            +
                        query_type: { value: 'msg' },
         
     | 
| 
      
 10 
     | 
    
         
            +
                        delete_releated: { value: false },
         
     | 
| 
      
 11 
     | 
    
         
            +
                    },
         
     | 
| 
      
 12 
     | 
    
         
            +
                    inputs: 1,
         
     | 
| 
      
 13 
     | 
    
         
            +
                    outputs: 1,
         
     | 
| 
      
 14 
     | 
    
         
            +
                    icon: 'font-awesome/fa-sign-in',
         
     | 
| 
      
 15 
     | 
    
         
            +
                    label: function () {
         
     | 
| 
      
 16 
     | 
    
         
            +
                        return this.name || 'processinstance-delete-advanced';
         
     | 
| 
      
 17 
     | 
    
         
            +
                    },
         
     | 
| 
      
 18 
     | 
    
         
            +
                    oneditprepare: function () {
         
     | 
| 
      
 19 
     | 
    
         
            +
                        $('#node-input-query').typedInput({
         
     | 
| 
      
 20 
     | 
    
         
            +
                            default: 'msg',
         
     | 
| 
      
 21 
     | 
    
         
            +
                            types: ['msg', 'json'],
         
     | 
| 
      
 22 
     | 
    
         
            +
                        });
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                        $('#node-input-query').typedInput('value', this.query);
         
     | 
| 
      
 25 
     | 
    
         
            +
                        $('#node-input-query').typedInput('type', this.query_type);
         
     | 
| 
      
 26 
     | 
    
         
            +
                    },
         
     | 
| 
      
 27 
     | 
    
         
            +
                    oneditsave: function () {
         
     | 
| 
      
 28 
     | 
    
         
            +
                        (this.query = $('#node-input-query').typedInput('value')),
         
     | 
| 
      
 29 
     | 
    
         
            +
                            (this.query_type = $('#node-input-query').typedInput('type'));
         
     | 
| 
      
 30 
     | 
    
         
            +
                    },
         
     | 
| 
      
 31 
     | 
    
         
            +
                });
         
     | 
| 
      
 32 
     | 
    
         
            +
            </script>
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            <script type="text/html" data-template-name="processinstance-delete-advanced">
         
     | 
| 
      
 35 
     | 
    
         
            +
                <div class="form-row">
         
     | 
| 
      
 36 
     | 
    
         
            +
                    <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
         
     | 
| 
      
 37 
     | 
    
         
            +
                    <input type="text" id="node-input-name" placeholder="Name" />
         
     | 
| 
      
 38 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 39 
     | 
    
         
            +
                <div class="form-row">
         
     | 
| 
      
 40 
     | 
    
         
            +
                    <label for="node-input-engine"><i class="fa fa-tag"></i> Engine-URL</label>
         
     | 
| 
      
 41 
     | 
    
         
            +
                    <input type="text" id="node-input-engine" placeholder="Engine-URL" />
         
     | 
| 
      
 42 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 43 
     | 
    
         
            +
                <div class="form-row">
         
     | 
| 
      
 44 
     | 
    
         
            +
                    <label for="node-input-query"><i class="fa fa-tag"></i> Query</label>
         
     | 
| 
      
 45 
     | 
    
         
            +
                    <input type="text" id="node-input-query" />
         
     | 
| 
      
 46 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 47 
     | 
    
         
            +
                <div class="form-row" style="margin-bottom: 3px;">
         
     | 
| 
      
 48 
     | 
    
         
            +
                  <input type="checkbox" checked id="node-input-delete_releated" style="display: inline-block; width: auto; vertical-align: top; margin-left: 30px; margin-right: 5px;">
         
     | 
| 
      
 49 
     | 
    
         
            +
                  <label style="width:auto" for="node-input-delete_releated">Delete related</label>
         
     | 
| 
      
 50 
     | 
    
         
            +
                </div>
         
     | 
| 
      
 51 
     | 
    
         
            +
            </script>
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            <script type="text/markdown" data-help-name="processinstance-delete-advanced">
         
     | 
| 
      
 54 
     | 
    
         
            +
            Delete old instances of a process model in the ProcessCube.
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            Only engines version >= 19 are supported.
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            ## Inputs
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            : payload (json): The Parameter to delete the instances.
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            ## Outputs
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            : Explanation of the payload:
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            Object
         
     | 
| 
      
 68 
     | 
    
         
            +
            {
         
     | 
| 
      
 69 
     | 
    
         
            +
                processInstanceId: The IDs of the ProcessInstances to delete (Example : 12345678,87654321).
         
     | 
| 
      
 70 
     | 
    
         
            +
                processModelId: The ID of the ProcessModel to delete the instances from.
         
     | 
| 
      
 71 
     | 
    
         
            +
                finishedBefore: The date before which the instances should be deleted.
         
     | 
| 
      
 72 
     | 
    
         
            +
                finshedAfter: The date after which the instances should be deleted.
         
     | 
| 
      
 73 
     | 
    
         
            +
            }
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            ### References
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            -   [The ProcessCube Developer Network](https://processcube.io) - All documentation for the ProcessCube© platform
         
     | 
| 
      
 78 
     | 
    
         
            +
            -   [Node-RED Integration in ProcessCube©](https://processcube.io/docs/node-red) - Node-RED integration in ProcessCube©
         
     | 
| 
      
 79 
     | 
    
         
            +
            </script>
         
     | 
| 
         @@ -0,0 +1,33 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module.exports = function (RED) {
         
     | 
| 
      
 2 
     | 
    
         
            +
                function ProcessInstanceDeleteAdvanced(config) {
         
     | 
| 
      
 3 
     | 
    
         
            +
                    RED.nodes.createNode(this, config);
         
     | 
| 
      
 4 
     | 
    
         
            +
                    const node = this;
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                    node.on('input', async function (msg) {
         
     | 
| 
      
 7 
     | 
    
         
            +
                        node.engine = RED.nodes.getNode(config.engine);
         
     | 
| 
      
 8 
     | 
    
         
            +
                        const client = node.engine ? node.engine.engineClient : null;
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                        let query = RED.util.evaluateNodeProperty(config.query, config.query_type, node, msg);
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                        const isUser = !!msg._client?.user && !!msg._client.user.accessToken;
         
     | 
| 
      
 13 
     | 
    
         
            +
                        const userIdentity = isUser ? { userId: msg._client.user.id, token: msg._client.user.accessToken } : null;
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                        if (!client || !client.processInstances) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                            node.error('No engine or processInstances API configured.', msg);
         
     | 
| 
      
 17 
     | 
    
         
            +
                            return;
         
     | 
| 
      
 18 
     | 
    
         
            +
                        }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                        try {
         
     | 
| 
      
 21 
     | 
    
         
            +
                            const result = await client.processInstances.delete(query, config.delete_releated, userIdentity)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                            msg.payload = result
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                            node.send(msg);
         
     | 
| 
      
 26 
     | 
    
         
            +
                        } catch (queryError) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                            node.error(`Failed to delete process instances Error: ${queryError.message}`, msg);
         
     | 
| 
      
 28 
     | 
    
         
            +
                        }
         
     | 
| 
      
 29 
     | 
    
         
            +
                    });
         
     | 
| 
      
 30 
     | 
    
         
            +
                }
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                RED.nodes.registerType('processinstance-delete-advanced', ProcessInstanceDeleteAdvanced);
         
     | 
| 
      
 33 
     | 
    
         
            +
            };
         
     | 
| 
         @@ -14,7 +14,8 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
                    outputs: 1,
         
     | 
| 
       15 
15 
     | 
    
         
             
                    icon: 'usertask_event_listener.svg',
         
     | 
| 
       16 
16 
     | 
    
         
             
                    label: function () {
         
     | 
| 
       17 
     | 
    
         
            -
                        return this.name || 'usertask-event-listener';
         
     | 
| 
      
 17 
     | 
    
         
            +
                        return this.name || (this.eventtype ? `usertask: ${this.eventtype}` : 'usertask-event-listener');
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       18 
19 
     | 
    
         
             
                    },
         
     | 
| 
       19 
20 
     | 
    
         
             
                    oneditprepare: function () {
         
     | 
| 
       20 
21 
     | 
    
         
             
                        $('#node-input-query').typedInput({
         
     |