cob-cli 2.9.0 → 2.11.0

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.
Files changed (45) hide show
  1. package/customizations/frontend.easy.js +16 -0
  2. package/package.json +1 -1
  3. package/templates/dashboards/dash/dist/css/app.3140d0d1.css +8 -0
  4. package/templates/dashboards/dash/dist/dashboard.html +4 -4
  5. package/templates/dashboards/dash/dist/js/{app.b5565900.js → app.a65a4c2c.js} +2 -2
  6. package/templates/dashboards/dash/dist/js/app.a65a4c2c.js.map +1 -0
  7. package/templates/dashboards/dash/src/App.vue +2 -3
  8. package/templates/dashboards/dash/src/components/Board.vue +14 -2
  9. package/templates/dashboards/dash/src/output.css +44978 -284
  10. package/templates/dashboards/dash/tailwind.config.js +5 -0
  11. package/templates/frontend/easy/css/_easy/googlefonts.css +360 -0
  12. package/templates/frontend/easy/css/_easy/vuetify.cob-scoped.css +10488 -0
  13. package/templates/frontend/easy/js/_easy/lib/axios.min.js +9 -0
  14. package/templates/frontend/easy/js/_easy/lib/marked.min.js +6 -0
  15. package/templates/frontend/easy/js/_easy/lib/vue.js +11912 -0
  16. package/templates/frontend/easy/js/_easy/lib/vue.min.js +6 -0
  17. package/templates/frontend/easy/js/_easy/lib/vuetify.min.js +6 -0
  18. package/templates/frontend/easy/js/customizations2.__MERGE__.js +22 -0
  19. package/templates/frontend/easy/webapp/.browserslistrc +2 -0
  20. package/templates/frontend/easy/webapp/.eslintrc.js +17 -0
  21. package/templates/frontend/easy/webapp/README.md +60 -0
  22. package/templates/frontend/easy/webapp/babel.config.js +5 -0
  23. package/templates/frontend/easy/webapp/dist/css/app.a4fb91f8.css +1 -0
  24. package/templates/frontend/easy/webapp/dist/dashboard.html +13 -0
  25. package/templates/frontend/easy/webapp/dist/js/app.63a57dcd.js +2 -0
  26. package/templates/frontend/easy/webapp/dist/js/app.63a57dcd.js.map +1 -0
  27. package/templates/frontend/easy/webapp/package-lock.json +32986 -0
  28. package/templates/frontend/easy/webapp/package.json +32 -0
  29. package/templates/frontend/easy/webapp/postcss.config.js +5 -0
  30. package/templates/frontend/easy/webapp/public/dashboard.html +13 -0
  31. package/templates/frontend/easy/webapp/src/App.vue +181 -0
  32. package/templates/frontend/easy/webapp/src/assets/logo.png +0 -0
  33. package/templates/frontend/easy/webapp/src/components/HelloWorld.vue +59 -0
  34. package/templates/frontend/easy/webapp/src/components/PermBuilder.vue +163 -0
  35. package/templates/frontend/easy/webapp/src/components/PlanExecutor.vue +225 -0
  36. package/templates/frontend/easy/webapp/src/components/ProductPermBuilder.vue +95 -0
  37. package/templates/frontend/easy/webapp/src/components/RmDefinitionChooser.vue +59 -0
  38. package/templates/frontend/easy/webapp/src/components/RmDomainChooser.vue +60 -0
  39. package/templates/frontend/easy/webapp/src/components/RoleBuilder.vue +73 -0
  40. package/templates/frontend/easy/webapp/src/main.js +19 -0
  41. package/templates/frontend/easy/webapp/src/perm-templates.js +189 -0
  42. package/templates/frontend/easy/webapp/src/perms.js +197 -0
  43. package/templates/frontend/easy/webapp/vue.config.js +66 -0
  44. package/templates/dashboards/dash/dist/css/app.a16bfc97.css +0 -8
  45. package/templates/dashboards/dash/dist/js/app.b5565900.js.map +0 -1
@@ -0,0 +1,95 @@
1
+ <template>
2
+ <v-layout column wrap>
3
+ <v-flex sm12 xs12 v-if="debug">
4
+ {{ value }}
5
+ <br/>
6
+ {{ productPerms }}
7
+ </v-flex>
8
+
9
+ <v-flex >
10
+ <h3>Produto</h3>
11
+ <v-combobox xs1 v-model="product" :items="products"
12
+ @change="value.perms = [] ; updateParent"
13
+ label="Produto" dense solo></v-combobox>
14
+ </v-flex>
15
+
16
+ <v-flex sm12 xs12>
17
+ <h3>Permissões</h3>
18
+ <v-layout row v-for="(perm, index) in productPerms" v-bind:key="perm.id" >
19
+ <v-btn small fab color="error" v-on:click="value.perms.splice(index, 1)">-</v-btn>
20
+ <PermBuilder :perms="possiblePerms" :debug="debug" v-model="perm.perm" @input="updateParent(index, perm.perm)" />
21
+ </v-layout>
22
+ </v-flex>
23
+
24
+ <v-flex sm2 xs12 text-left>
25
+ <v-btn color="primary" v-on:click="addPerm">+</v-btn>
26
+ </v-flex>
27
+
28
+ <v-flex sm12 xs12>
29
+ <h3>Roles</h3>
30
+ <RoleBuilder v-model="this.value.roles" :debug="debug" @input="updateParent" />
31
+ </v-flex>
32
+
33
+ </v-layout>
34
+ </template>
35
+
36
+ <script>
37
+ import PermBuilder from './PermBuilder.vue';
38
+ import RoleBuilder from './RoleBuilder.vue';
39
+
40
+ var fakePermIdsForVFor = 1;
41
+
42
+ export default {
43
+ name: 'ProductPermBuilder',
44
+
45
+ components: {
46
+ PermBuilder,
47
+ RoleBuilder
48
+ },
49
+
50
+ props: {
51
+ perms: Object,
52
+ value: Object,
53
+ debug: Boolean
54
+ },
55
+
56
+ computed: {
57
+ products: function(){
58
+ return Object.keys(this.perms)
59
+ },
60
+
61
+ product: {
62
+ get: function(){
63
+ return this.value.product || '';
64
+ },
65
+ set: function(newValue){
66
+ this.value.product = newValue
67
+ }
68
+ },
69
+
70
+ possiblePerms: function(){
71
+ return this.perms[this.value.product];
72
+ },
73
+
74
+ productPerms: function(){
75
+ return ( this.value.perms || [] ).map(p => ({id: fakePermIdsForVFor++, perm:p}));
76
+ },
77
+ },
78
+
79
+ methods: {
80
+ addPerm: function(){
81
+ this.value.perms.push({ name:"", description: ""})
82
+ },
83
+
84
+ updateParent: function(index, newValue){
85
+ this.$set(this.value.perms, index, newValue)
86
+ },
87
+
88
+ }
89
+ }
90
+
91
+ </script>
92
+
93
+ <style></style>
94
+
95
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <v-autocomplete v-model = "rmid"
3
+ :items = "definitions"
4
+ v-on:input = "updateParent"
5
+ :loading = "isLoading"
6
+ hide-no-data
7
+ item-text = "name"
8
+ item-value = "id"
9
+ :return-object = false
10
+ ></v-autocomplete>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: "RmDefinitionChooser",
16
+
17
+ props: {
18
+ value: Object,
19
+ debug: Boolean
20
+ },
21
+
22
+ data() {
23
+ return {
24
+ rmid: this.value,
25
+ isLoading: false,
26
+ definitions: [],
27
+ search: null
28
+ }
29
+ },
30
+
31
+ created: function(){
32
+ // Definitions have already been loaded
33
+ if (this.definitions.length > 0) return
34
+
35
+ // Items have already been requested
36
+ if (this.isLoading) return
37
+
38
+ this.isLoading = true
39
+
40
+ // Lazily load input items
41
+ fetch('/recordm/recordm/definitions?includeDisabled=false')
42
+ .then(res => res.json())
43
+ .then(res => {
44
+ this.definitions = res.map(d => ({id: String(d.id), name: d.name}))
45
+ })
46
+ .catch(err => {
47
+ console.log(err)
48
+ })
49
+ .finally(() => (this.isLoading = false))
50
+ },
51
+
52
+ methods: {
53
+ updateParent: function(){
54
+ this.$emit('input', { id: this.rmid, name: this.definitions.find( d => d.id == this.rmid).name })
55
+ }
56
+ },
57
+ }
58
+ </script>
59
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <v-autocomplete v-model = "rmid"
3
+ :items = "domains"
4
+ v-on:input = "updateParent"
5
+ :loading = "isLoading"
6
+ item-text = "name"
7
+ item-value = "id"
8
+ :return-object = false
9
+ hide-no-data
10
+ ></v-autocomplete>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: "RmDomainsChooser",
16
+
17
+ props: {
18
+ value: String,
19
+ debug: Boolean
20
+ },
21
+
22
+ data() {
23
+ return {
24
+ rmid: this.value,
25
+ isLoading: false,
26
+ domains: [],
27
+ search: null
28
+ }
29
+ },
30
+
31
+ created: function(){
32
+ // Domains have already been loaded
33
+ if (this.domains.length > 0) return
34
+
35
+ // Items have already been requested
36
+ if (this.isLoading) return
37
+
38
+ this.isLoading = true
39
+
40
+ // Lazily load input items
41
+ fetch('/recordm/recordm/domains')
42
+ .then(res => res.json())
43
+ .then(res => {
44
+ this.domains = res.map(d => ({id: String(d.id), name: d.name}))
45
+ })
46
+ .catch(err => {
47
+ console.log(err)
48
+ })
49
+ .finally(() => (this.isLoading = false))
50
+ },
51
+
52
+ methods: {
53
+ updateParent: function(){
54
+ this.$emit('input', this.rmid)
55
+ }
56
+ }
57
+
58
+ }
59
+ </script>
60
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <v-layout column>
3
+ <v-layout row wrap v-for="(role, index) in productRoles" v-bind:key="role.id" >
4
+ <v-flex sm1 xs12 text-left>
5
+ <v-btn small fab color="error" v-on:click="value.splice(index, 1)">-</v-btn>
6
+ </v-flex>
7
+ <v-flex md3 sm12 xs12 text-left>
8
+ <v-text-field v-model="role.role.name"
9
+ label="nome"
10
+ @input="updateParentRole(index, 'name', role.role.name)"></v-text-field>
11
+ </v-flex>
12
+ <v-flex md8 sm12 xs12 text-left>
13
+ <v-layout column>
14
+ <v-flex text-left>
15
+ <v-textarea v-model="role.role.description"
16
+ @input="updateParentRole(index, 'description', role.role.description)"
17
+ label="description" rows="1" auto-grow></v-textarea>
18
+ </v-flex>
19
+ <v-flex text-left>
20
+ <v-combobox v-model="role.role.perms"
21
+ label="perms"
22
+ dense multiple chips
23
+ @input="updateParentRole(index, 'perms', role.role.perms)"></v-combobox>
24
+ </v-flex>
25
+ </v-layout>
26
+ </v-flex>
27
+ </v-layout>
28
+
29
+ <v-flex sm2 xs12 style="text-align: left">
30
+ <v-btn color="primary" v-on:click="addRole">+</v-btn>
31
+ </v-flex>
32
+ </v-layout>
33
+ </template>
34
+
35
+ <script>
36
+ var fakeRoleIdsForVFor = 1;
37
+
38
+ export default {
39
+ name: 'RoleBuilder',
40
+
41
+ props: {
42
+ value: Array,
43
+ debug: Boolean
44
+ },
45
+
46
+ computed: {
47
+ productRoles: function(){
48
+ return ( this.value || [] ).map(r => ({id: fakeRoleIdsForVFor++, role:r}));
49
+ }
50
+ },
51
+
52
+ methods: {
53
+ addRole: function(){
54
+ this.value.push({ name:"", description: "", perms: []})
55
+ },
56
+
57
+ updateParentRole: function(index, field, newValue){
58
+ const role = this.value[index];
59
+
60
+ if(field === 'perms'){
61
+ role[field] = newValue;
62
+ } else {
63
+ role[field] = newValue;
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ </script>
70
+
71
+ <style></style>
72
+
73
+ <!-- vim: set sw=2 ts=2 et : -->
@@ -0,0 +1,19 @@
1
+ import Vue from 'vue'
2
+ import App from './App.vue'
3
+ import Vuetify from 'vuetify'
4
+ import Components from '@cob/ui-vue-components'
5
+
6
+ Vue.config.productionTip = false
7
+ Vue.config.devtools = true
8
+
9
+ Vue.use(Vuetify, {
10
+ iconfont: 'md',
11
+ })
12
+
13
+ Object.keys(Components).forEach(name => {
14
+ Vue.component(name, Components[name]);
15
+ });
16
+
17
+ new Vue({
18
+ render: h => h(App),
19
+ }).$mount('#userm-easy')
@@ -0,0 +1,189 @@
1
+ export default [
2
+ {
3
+ name: "Perms base acesso ao RM",
4
+ vars: [
5
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
6
+ ],
7
+ productPerms: [
8
+ {
9
+ product: "recordm",
10
+ perms: [
11
+ { name: "module:view:custom-resource" , description: "" },
12
+ { name: "module:view:gestaoocurrencias-importacao", description: "" },
13
+ { name: "module:view:instance.create" , description: "" },
14
+ { name: "module:view:instance.detail" , description: "" },
15
+ { name: "module:view:instance.duplicate" , description: "" },
16
+ { name: "module:view:instance.groupedit" , description: "" },
17
+ { name: "module:view:search-definition" , description: "" },
18
+ { name: "module:view:search-domain" , description: "" },
19
+ { name: "instances:export" , description: "" },
20
+ { name: "process:instantiate" , description: "" },
21
+ { name: "rm-importer-stats:read" , description: "" },
22
+ { name: "view:share" , description: "" },
23
+ ],
24
+ roles: [
25
+ {
26
+ name: "RM BASE Access",
27
+ description: "Perfil base para aceder ao RM",
28
+ perms: [
29
+ "module:view:custom-resource " ,
30
+ "module:view:gestaoocurrencias-importacao",
31
+ "module:view:instance.create " ,
32
+ "module:view:instance.detail " ,
33
+ "module:view:instance.duplicate " ,
34
+ "module:view:instance.groupedit " ,
35
+ "module:view:search-definition " ,
36
+ "module:view:search-domain " ,
37
+ "instances:export " ,
38
+ "process:instantiate " ,
39
+ "rm-importer-stats:read " ,
40
+ "view:share " ,
41
+ ]
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ name: "Perms base Definição RM",
49
+ vars: [
50
+ { name: "DEF" , type: "RM-DEF", value: {}},
51
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
52
+ ],
53
+ productPerms: [
54
+ {
55
+ product: "recordm",
56
+ perms: [
57
+ { name: "definitions:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler definição $$MSG$$" },
58
+ { name: "definitions:instantiate:$$DEF.ID$$" , description: "$$DEF.NAME$$ - criar novas instâncias $$MSG$$" },
59
+ { name: "instances:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler instâncias $$MSG$$" },
60
+ { name: "instances:update:$$DEF.ID$$" , description: "$$DEF.NAME$$ - update de instâncias $$MSG$$" },
61
+ { name: "tasks:*:$$DEF.ID$$" , description: "$$DEF.NAME$$ - todas perms sobre tasks $$MSG$$" },
62
+ { name: "instances:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - apagar instâncias $$MSG$$" }
63
+ ],
64
+ roles: [
65
+ {
66
+ name: "rm - $$DEF.NAME$$ - read",
67
+ description: "consultar $$MSG$$ ",
68
+ perms: [ "definitions:read:$$DEF.ID$$", "instances:read:$$DEF.ID$$" ]
69
+ },
70
+ {
71
+ name: "rm - $$DEF.NAME$$ - change",
72
+ description: "criar e alterar instâncias $$MSG$$",
73
+ perms: [
74
+ "definitions:instantiate:$$DEF.ID$$",
75
+ "instances:update:$$DEF.ID$$",
76
+ "tasks:*:$$DEF.ID$$",
77
+ "instances:delete:$$DEF.ID$$"
78
+ ]
79
+ }
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ name: "Perms base Definição RM com delete separado",
86
+ vars: [
87
+ { name: "DEF" , type: "RM-DEF", value: ""},
88
+ { name: "MSG" , type: "simple" , value: "mensagem para acrescentar na descrição"}
89
+ ],
90
+ productPerms: [
91
+ {
92
+ product: "recordm",
93
+ perms: [
94
+ { name: "definitions:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler Definição $$MSG$$" },
95
+ { name: "definitions:instantiate:$$DEF.ID$$" , description: "$$DEF.NAME$$ - criar novas instâncias $$MSG$$" },
96
+ { name: "instances:read:$$DEF.ID$$" , description: "$$DEF.NAME$$ - ler instâncias $$MSG$$" },
97
+ { name: "instances:update:$$DEF.ID$$" , description: "$$DEF.NAME$$ - update de instãncias $$MSG$$" },
98
+ { name: "tasks:*:$$DEF.ID$$" , description: "$$DEF.NAME$$ - todas perms sobre tasks $$MSG$$" },
99
+ { name: "instances:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - apagar instâncias $$MSG$$" }
100
+ ],
101
+ roles: [
102
+ {
103
+ name: "rm - $$DEF.NAME$$ - read",
104
+ description: "consultar instâncias de $$DEF.NAME$$",
105
+ perms: [ "definitions:read:$$DEF.ID$$", "instances:read:$$DEF.ID$$" ]
106
+ },
107
+ {
108
+ name: "rm - $$DEF.NAME$$ - change",
109
+ description: "criar e alterar instâncias de $$DEF.NAME$$",
110
+ perms: [
111
+ "definitions:instantiate:$$DEF.ID$$",
112
+ "instances:update:$$DEF.ID$$",
113
+ "tasks:*:$$DEF.ID$$"
114
+ ]
115
+ },
116
+ {
117
+ name: "rm - $$DEF.NAME$$ - delete",
118
+ description: "apagar instâncias de $$DEF.NAME$$",
119
+ perms: [ "instances:delete:$$DEF.ID$$" ]
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ name: "Perms separadas de $tasks para Definição RM",
127
+ vars: [
128
+ { name: "DEF" , type: "RM-DEF", value: ""}
129
+ ],
130
+ productPerms: [
131
+ {
132
+ product: "recordm",
133
+ perms: [
134
+ { name: "tasks:create:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - create" },
135
+ { name: "tasks:assign:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - assign" },
136
+ { name: "tasks:complete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - complete" },
137
+ { name: "tasks:delete:$$DEF.ID$$" , description: "$$DEF.NAME$$ - tasks - delete" }
138
+ ],
139
+ roles: [
140
+ {
141
+ name: "rm - $$DEF.NAME$$ - tasks create and delete",
142
+ description: "criar e apagar tarefas",
143
+ perms: [
144
+ "tasks:create:$$DEF.ID$$",
145
+ "tasks:delete:$$DEF.ID$$"
146
+ ]
147
+ },
148
+ {
149
+ name: "rm - $$DEF.NAME$$ - tasks assign",
150
+ description: "assignar tarefas",
151
+ perms: [
152
+ "tasks:assign:$$DEF.ID$$"
153
+ ]
154
+ },
155
+ {
156
+ name: "rm - $$DEF.NAME$$ - tasks complete",
157
+ description: "completar tarefas",
158
+ perms: [
159
+ "tasks:complete:$$DEF.ID$$"
160
+ ]
161
+ }
162
+ ]
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ name: "Perms base Domínio RM",
168
+ vars: [
169
+ { name: "ID", type: "RM-DOMAIN-ID", value: ""},
170
+ { name: "NAME", type: "simple", value: "nome do dominio"},
171
+ { name: "MSG", type: "simple", value: "mensagem para acrescentar na descrição"}
172
+ ],
173
+ productPerms: [
174
+ {
175
+ product: "recordm",
176
+ perms: [
177
+ { name: "domains:read:$$ID$$" , description: "$$NAME$$ - consultar $$MSG$$" }
178
+ ],
179
+ roles: [
180
+ {
181
+ name: "rm - $$NAME$$ - domain",
182
+ description: "consultar domínio $$MSG$$",
183
+ perms: [ "domains:read:$$ID$$" ]
184
+ }
185
+ ]
186
+ }
187
+ ]
188
+ }
189
+ ]
@@ -0,0 +1,197 @@
1
+ export default {
2
+ userm: [
3
+ {
4
+ domain: 'module',
5
+ actions: [{
6
+ name: 'view',
7
+ entities:[
8
+ { name: 'group' } ,
9
+ { name: 'role' } ,
10
+ { name: 'permission' } ,
11
+ { name: 'create.user' } ,
12
+ { name: 'details.user' } ,
13
+ { name: 'create.group' } ,
14
+ { name: 'details.group' } ,
15
+ { name: 'create.role' } ,
16
+ { name: 'details.role' } ,
17
+ { name: 'create.permission' } ,
18
+ { name: 'details.permission' } ,
19
+ { name: 'custom-resource' }
20
+ ]
21
+ }]
22
+ },
23
+ {
24
+ domain: 'user',
25
+ actions: [
26
+ { name: 'create' } ,
27
+ { name: 'read' } ,
28
+ { name: 'update' } ,
29
+ { name: 'delete' } ,
30
+ { name: 'assign-substitute' }
31
+ ]
32
+ },
33
+ {
34
+ domain: 'group',
35
+ actions: [
36
+ { name: 'create' } ,
37
+ { name: 'read' } ,
38
+ { name: 'update' } ,
39
+ { name: 'delete' } ,
40
+ { name: 'add-user' } ,
41
+ { name: 'add-role' } ,
42
+ { name: 'remove-user' } ,
43
+ { name: 'remove-role' }
44
+ ]
45
+ },
46
+ {
47
+ domain: 'role',
48
+ actions: [
49
+ { name: 'create' } ,
50
+ { name: 'read' } ,
51
+ { name: 'update' } ,
52
+ { name: 'delete' } ,
53
+ { name: 'add-permission' } ,
54
+ { name: 'remove-permission' }
55
+ ]
56
+ },
57
+ {
58
+ domain: 'permission',
59
+ actions: [
60
+ { name: 'create' } ,
61
+ { name: 'read' } ,
62
+ { name: 'update' } ,
63
+ { name: 'delete' }
64
+ ]
65
+ },
66
+ ],
67
+
68
+ confm: [
69
+ {
70
+ domain: 'module',
71
+ actions: [{
72
+ name: 'view',
73
+ entities:[
74
+ { name: 'dashboard ' },
75
+ { name: 'search ' },
76
+ { name: 'cpedetails ' },
77
+ { name: 'cpestatus ' },
78
+ { name: 'bulkcommands' },
79
+ { name: 'jobs ' },
80
+ { name: 'jobdetails ' },
81
+ { name: 'jobstatus ' },
82
+ { name: 'templates ' },
83
+ { name: 'reports ' },
84
+ { name: 'reportdetail' },
85
+ { name: 'custom-resource' }
86
+ ]
87
+ }]
88
+ },
89
+ {
90
+ domain: 'equips',
91
+ actions: [
92
+ { name: 'create' },
93
+ { name: 'read' },
94
+ { name: 'update' },
95
+ { name: 'delete' },
96
+ { name: 'import' },
97
+ { name: 'configuration' },
98
+ { name: 'command' }
99
+ ]
100
+ },
101
+ {
102
+ domain: 'jobreqs',
103
+ actions: [ { name: 'read' } ]
104
+ },
105
+ {
106
+ domain: 'templates',
107
+ actions: [
108
+ { name: 'read' },
109
+ { name: 'update' },
110
+ { name: 'generate' },
111
+ { name: 'zonereorder' },
112
+ { name: 'zonedelete' }
113
+ ]
114
+ }
115
+ ],
116
+
117
+ recordm: [
118
+ {
119
+ domain: 'module',
120
+ help: '',
121
+ actions: [{
122
+ name: 'view',
123
+ help: '',
124
+ entities:[
125
+ { name: 'domains' } ,
126
+ { name: 'definition.create' } ,
127
+ { name: 'definition.edit' } ,
128
+ { name: 'search-domain' } ,
129
+ { name: 'search-definition' } ,
130
+ { name: 'instance.create' } ,
131
+ { name: 'instance.detail' } ,
132
+ { name: 'instance.duplicate'} ,
133
+ { name: 'instance.groupedit'} ,
134
+ { name: 'reports' } ,
135
+ { name: 'reportdetail' } ,
136
+ { name: 'custom-resource' }
137
+ ]
138
+ }]
139
+ },
140
+ {
141
+ domain: 'view',
142
+ actions: [{name: 'share'}]
143
+ },
144
+ {
145
+ domain: 'domains',
146
+ actions: [
147
+ { name: 'create'},
148
+ { name: 'read', entities: [{ type: 'RM-DOMAIN-ID' }] },
149
+ { name: 'update' },
150
+ { name: 'delete' }
151
+ ]
152
+ },
153
+ {
154
+ domain: 'definitions',
155
+ actions: [
156
+ { name: 'create' },
157
+ { name: 'read' , entities: [{ type: 'RM-DEF' }]},
158
+ { name: 'instantiate' , entities: [{ type: 'RM-DEF' }] , help: 'para criar novas instâncias'},
159
+ { name: 'update' },
160
+ { name: 'delete' },
161
+ { name: 'bulkrequest' , entities: [{ type: 'RM-DEF' }] , help: ''},
162
+ { name: 'instance.add-log' , help: ''},
163
+ { name: 'instance.validate-for-user' , help: ''}
164
+ ]
165
+ },
166
+ {
167
+ domain: 'instances',
168
+ actions: [
169
+ { name: 'read' , entities: [{ type: 'RM-DEF' }]},
170
+ { name: 'update', entities: [{ type: 'RM-DEF' }]},
171
+ { name: 'delete', entities: [{ type: 'RM-DEF' }]},
172
+ { name: 'import', entities: [{ type: 'RM-DEF' }]},
173
+ { name: 'export', entities: [{ type: 'RM-DEF' }]}
174
+ ]
175
+ },
176
+ {
177
+ domain: 'tasks',
178
+ actions: [
179
+ { name: '*' , entities: [{ type: 'RM-DEF' }]},
180
+ { name: 'create' , entities: [{ type: 'RM-DEF' }]},
181
+ { name: 'assign' , entities: [{ type: 'RM-DEF' }]},
182
+ { name: 'complete', entities: [{ type: 'RM-DEF' }]},
183
+ { name: 'delete' , entities: [{ type: 'RM-DEF' }]}
184
+ ]
185
+ },
186
+ {
187
+ domain: 'workitem',
188
+ help: 'para poder criar tarefas nos $tasklist',
189
+ actions: [{ name: 'create' }]
190
+ },
191
+ {
192
+ domain: 'process',
193
+ help: 'para poder lançar processos nos $tasklist',
194
+ actions: [{ name: 'instantiate' }]
195
+ }
196
+ ]
197
+ }