-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmodifyVoJsonDataField.js
More file actions
31 lines (26 loc) · 1.14 KB
/
modifyVoJsonDataField.js
File metadata and controls
31 lines (26 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
* This script will access the data field of a user to modify it
*/
const Common = Java.type('com.serotonin.m2m2.Common');
const usersService = services.usersService;
try {
const admin = usersService.get('admin');
if(admin.getData() == null) {
admin.setData(Common.getBean(Java.type('com.fasterxml.jackson.databind.ObjectMapper'), Java.type('com.infiniteautomation.mango.spring.MangoRuntimeContextConfiguration').COMMON_OBJECT_MAPPER_NAME).createObjectNode())
}
admin.getData().put('/number', 1);
admin.getData().put('/string', 'One');
admin.getData().put('/emptyString', '');
usersService.update('admin', admin);
const editedAdmin = usersService.get('admin');
console.log('number: ' + editedAdmin.getData().at('/number'));
console.log('string: ' + editedAdmin.getData().at('/string'));
console.log('emptyString: ' + editedAdmin.getData().at('/emptyString'));
console.log('missing: ' + editedAdmin.getData().at('/missing'));
//Test for empty node
if(editedAdmin.getData().at('/missing').isEmpty()) {
console.log('found missing node');
}
}catch(error) {
console.log(error);
}