Skip to content

Commit d01efca

Browse files
committed
Initial version
0 parents  commit d01efca

22 files changed

+5970
-0
lines changed

src/index.html

Lines changed: 3165 additions & 0 deletions
Large diffs are not rendered by default.

src/scripts/clientapi.account.js

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
(function ($, api) {
2+
function getAccount () {
3+
var uri = api.account.url('user');
4+
api.get(uri);
5+
}
6+
7+
function deleteAccount() {
8+
var uri = api.account.url('user');
9+
api.remove(uri, '');
10+
}
11+
12+
function putAccount(PutUserAccountDataTitle, PutUserAccountDataGender, PutUserAccountDataFname, PutUserAccountDataLname, PutUserAccountDataStreet, PutUserAccountDataNumber, PutUserAccountDataPCode, PutUserAccountDataLocation, PutUserAccountDataTelNo, PutUserAccountDataMTelNo, PutUserAccountDataCulture, PutUserAccountDataMEmail, PutUserAccountDataCCode) {
13+
var uri = api.account.url('user');
14+
var payload = {
15+
data: [
16+
{
17+
'name': 'Title',
18+
'value': PutUserAccountDataTitle
19+
},
20+
{
21+
'name': 'Gender',
22+
'value': PutUserAccountDataGender
23+
},
24+
{
25+
'name': 'FirstName',
26+
'value': PutUserAccountDataFname
27+
},
28+
{
29+
'name': 'LastName',
30+
'value': PutUserAccountDataLname
31+
},
32+
{
33+
'name': 'Street',
34+
'value': PutUserAccountDataStreet
35+
},
36+
{
37+
'name': 'Number',
38+
'value': PutUserAccountDataNumber
39+
},
40+
{
41+
'name': 'PostalCode',
42+
'value': PutUserAccountDataPCode
43+
},
44+
{
45+
'name': 'Location',
46+
'value': PutUserAccountDataLocation
47+
},
48+
{
49+
'name': 'TelephoneNumber',
50+
'value': PutUserAccountDataTelNo
51+
},
52+
{
53+
'name': 'MobileTelephoneNumber',
54+
'value': PutUserAccountDataMTelNo
55+
},
56+
{
57+
'name': 'Culture',
58+
'value': PutUserAccountDataCulture
59+
},
60+
{
61+
'name': 'EmailAddress',
62+
'value': PutUserAccountDataMEmail
63+
},
64+
{
65+
'name': 'CountryCode',
66+
'value': PutUserAccountDataCCode
67+
}
68+
]
69+
};
70+
71+
api.update(uri, JSON.stringify(payload));
72+
}
73+
74+
function getRelationship() {
75+
var uri = api.account.url('relationship');
76+
api.get(uri);
77+
}
78+
79+
function deleteRelationship() {
80+
var uri = api.account.url('relationship');
81+
api.remove(uri, '');
82+
}
83+
84+
function changePassword(ChangePassCurrPass, ChangePassNewPass, ChangePassLang, ChangePassClientId, ChangePassRedUrl) {
85+
var uri = api.account.url('user', 'password');
86+
var payload = {
87+
'CurrentPassword': ChangePassCurrPass,
88+
'NewPassword': ChangePassNewPass,
89+
'Language': ChangePassLang,
90+
'ClientRequest': {
91+
'ClientId': ChangePassClientId,
92+
'RedirectUrl': ChangePassRedUrl
93+
}
94+
};
95+
api.create(uri, JSON.stringify(payload));
96+
}
97+
98+
function postRelationship(PostActionValue, ShcSerialNo, ShcName, PinCode, RestoreConfig) {
99+
var uri = api.account.url('relationship');
100+
var value = PostActionValue;
101+
102+
if (value === 'true') {
103+
value = true;
104+
} else if (value === 'false') {
105+
value = false;
106+
}
107+
108+
var payload = {
109+
'accountname': '',
110+
'serialnumber': ShcSerialNo,
111+
'desc': '',
112+
'config': [
113+
{
114+
'name': 'Name',
115+
'value': ShcName
116+
},
117+
{
118+
'name': 'Code',
119+
'value': PinCode
120+
},
121+
{
122+
'name': 'RestoreConfig',
123+
'value': RestoreConfig === 'true'
124+
}
125+
]
126+
};
127+
128+
api.create(uri, JSON.stringify(payload));
129+
}
130+
131+
function postConfigRelationship(RelationshipNewName) {
132+
var uri = api.account.url('relationship', 'config');
133+
var payload = {
134+
'name': 'Name',
135+
'value': RelationshipNewName
136+
};
137+
138+
api.create(uri, JSON.stringify(payload));
139+
}
140+
141+
function sendResetPasswordLink(SendResetPasswordLinkEmail, SendResetPasswordLinkLanguage, SendResetPassClientId, SendResetPassRedUrl) {
142+
var uri = api.account.url('user', 'password', 'forgot');
143+
var payload = {
144+
'Email': SendResetPasswordLinkEmail,
145+
'Language': SendResetPasswordLinkLanguage,
146+
'ClientRequest': {
147+
'ClientId': SendResetPassClientId,
148+
'RedirectUrl': SendResetPassRedUrl
149+
},
150+
'__RequestVerificationToken': 'dummy'
151+
}
152+
153+
api.create(uri, JSON.stringify(payload));
154+
}
155+
156+
function removeStoreAccount() {
157+
var uri = api.account.url('user', 'storeaccountname');
158+
api.remove(uri, '');
159+
}
160+
161+
function updateApiCommands(bind) {
162+
bind({
163+
userUri: api.account.url('user'),
164+
relationshipUri: api.account.url('relationship'),
165+
relationshipConfigUri: api.account.url('relationship', 'config'),
166+
changePasswordUri: api.account.url('user', 'password'),
167+
resetPasswordUri: api.account.url('user', 'password', 'forgot'),
168+
storeAccountUri: api.account.url('user', 'storeaccountname'),
169+
tacUri: api.account.url('authorize', 'TaC')
170+
});
171+
}
172+
173+
api.extend({
174+
getAccount: getAccount,
175+
putAccount: putAccount,
176+
deleteAccount: deleteAccount,
177+
changePassword: changePassword,
178+
getRelationship: getRelationship,
179+
deleteRelationship: deleteRelationship,
180+
postConfigRelationship: postConfigRelationship,
181+
postRelationship: postRelationship,
182+
updateApiCommands: updateApiCommands,
183+
sendResetPasswordLink: sendResetPasswordLink,
184+
removeStoreAccount: removeStoreAccount
185+
});
186+
}(jQuery, ClientApi));

src/scripts/clientapi.action.js

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
(function ($, api) {
2+
var actionUri = api.url('action');
3+
4+
function invokeSetStateAction(PostActionLink, PostActionValue, PostActionParameter) {
5+
if (!PostActionLink) {
6+
return alert('Action link missing');
7+
}
8+
9+
var value = PostActionValue;
10+
11+
if (value === 'true') {
12+
value = true;
13+
} else if (value === 'false') {
14+
value = false;
15+
} else if (!isNaN(parseFloat(value))) {
16+
value = parseFloat(PostActionValue);
17+
}
18+
19+
var payload = {
20+
'type': 'device/SHC.RWE/1.0/action/SetState',
21+
'Link': {
22+
'value': PostActionLink
23+
},
24+
'Data': [{
25+
'name': PostActionParameter,
26+
'type': '/entity/Constant',
27+
'constant': {
28+
'value': value
29+
}
30+
}]
31+
};
32+
33+
api.create(actionUri, JSON.stringify(payload));
34+
}
35+
36+
function invokeActivateDeviceDiscovery() {
37+
var payload = {
38+
'desc': '/desc/device/SHC.RWE/1.0/action/ActivateDeviceDiscovery',
39+
'timestamp': '2015-01-01T00:00:00',
40+
'type': 'device/SHC.RWE/1.0/action/ActivateDeviceDiscovery',
41+
'Link': {
42+
'value': '/desc/Device/SHC.RWE/1.0'
43+
}
44+
};
45+
46+
api.create(actionUri, JSON.stringify(payload));
47+
}
48+
49+
function invokeDeactivateDeviceDiscovery() {
50+
var payload = {
51+
'desc': '/desc/device/SHC.RWE/1.0/action/DeactivateDeviceDiscovery',
52+
'timestamp': '2015-01-01T00:00:00',
53+
'type': 'device/SHC.RWE/1.0/action/DeactivateDeviceDiscovery',
54+
'Link': {
55+
'value': '/desc/Device/SHC.RWE/1.0'
56+
}
57+
};
58+
59+
api.create(actionUri, JSON.stringify(payload));
60+
}
61+
62+
function invokeAction(PostActionPayload) {
63+
if (!PostActionPayload) {
64+
return alert('Action payload missing');
65+
}
66+
67+
api.create(actionUri, PostActionPayload);
68+
}
69+
70+
function updateApiCommands(bind) {
71+
bind({
72+
actionUri: actionUri
73+
});
74+
}
75+
76+
api.extend({
77+
invokeSetStateAction: invokeSetStateAction,
78+
invokeActivateDeviceDiscovery: invokeActivateDeviceDiscovery,
79+
invokeDeactivateDeviceDiscovery: invokeDeactivateDeviceDiscovery,
80+
invokeAction: invokeAction,
81+
updateApiCommands: updateApiCommands
82+
});
83+
}(jQuery, ClientApi));
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
(function ($, api) {
2+
var capabilityUri = api.url('capability');
3+
4+
// Get capability by id
5+
function getCapability(GetCapabilityId, GetCapabilityTKey, GetCapabilityTValue) {
6+
var uri = capabilityUri;
7+
8+
if (GetCapabilityId) {
9+
uri += '/' + GetCapabilityId;
10+
}
11+
12+
if (GetCapabilityTKey && GetCapabilityTValue) {
13+
uri += '?tkey=' + GetCapabilityTKey + '&tval=' + GetCapabilityTValue;
14+
}
15+
16+
api.get(uri);
17+
}
18+
19+
// Get capability state
20+
function getCapabilityConfig(GetCapabilityConfigId, GetCapabilityConfigName) {
21+
var uri = capabilityUri;
22+
23+
if (!GetCapabilityConfigId) {
24+
return alert('CapabilityId missing');
25+
}
26+
27+
uri += '/' + GetCapabilityConfigId + '/config';
28+
29+
if (GetCapabilityConfigName) {
30+
uri += '?name=' + GetCapabilityConfigName;
31+
}
32+
33+
api.get(uri);
34+
}
35+
36+
// Get capability state
37+
function getCapabilityState(GetCapabilityStateId, GetCapabilityStateName) {
38+
var uri = capabilityUri;
39+
40+
if (!GetCapabilityStateId) {
41+
return alert('CapabilityId missing');
42+
}
43+
44+
uri += '/' + GetCapabilityStateId + '/state';
45+
46+
if (GetCapabilityStateName) {
47+
uri += '?name=' + GetCapabilityStateName;
48+
}
49+
50+
api.get(uri);
51+
}
52+
53+
// Get capability tag
54+
function getCapabilityTag(GetCapabilityTagId, GetCapabilityTagName) {
55+
var uri = capabilityUri;
56+
57+
if (!GetCapabilityTagId) {
58+
return alert('CapabilityId missing');
59+
}
60+
61+
uri += '/' + GetCapabilityTagId + '/tag';
62+
63+
if (GetCapabilityTagName) {
64+
uri += '?name=' + GetCapabilityTagName;
65+
}
66+
67+
api.get(uri);
68+
}
69+
70+
// Get capability tag
71+
function getAllCapabilityStates() {
72+
var uri = capabilityUri + '/states';
73+
api.get(uri);
74+
}
75+
76+
function putCapabilities(PutCapabilitiesPayload) {
77+
if (!PutCapabilitiesPayload) {
78+
return alert('Capabilities payload missing');
79+
}
80+
81+
api.update(capabilityUri, PutCapabilitiesPayload);
82+
}
83+
84+
function updateApiCommands(bind) {
85+
bind({
86+
capabilityUri: capabilityUri,
87+
capabilityIdUri: capabilityUri + '/{id}',
88+
capabilityConfigUri: capabilityUri + '/{id}/config?name={config_name}',
89+
capabilityStateUri: capabilityUri + '/{id}/state?name={state_name}',
90+
capabilityStatesUri: capabilityUri + '/states',
91+
capabilityTagUri: capabilityUri + '/{id}/tag?name={tag_name}'
92+
});
93+
}
94+
95+
api.extend({
96+
getCapability: getCapability,
97+
getCapabilityConfig: getCapabilityConfig,
98+
getCapabilityState: getCapabilityState,
99+
getCapabilityTag: getCapabilityTag,
100+
getAllCapabilityStates: getAllCapabilityStates,
101+
putCapabilities: putCapabilities,
102+
updateApiCommands: updateApiCommands
103+
});
104+
}(jQuery, ClientApi));

0 commit comments

Comments
 (0)