Skip to content

Commit

Permalink
bsserver-demo: Being able to create Bootstrap config without dm server.
Browse files Browse the repository at this point in the history
  • Loading branch information
sbernard31 committed Nov 30, 2021
1 parent 152cd9c commit 6abb95c
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
v-model="config.endpoint"
/>
</v-stepper-content>
<v-stepper-content step="2">
<v-stepper-content step="2">
<security-step
ref="step2"
:valid.sync="valid[2]"
Expand Down Expand Up @@ -108,7 +108,6 @@
Cancel
</v-btn>
</v-card-actions>

</v-card>
</v-dialog>
</template>
Expand Down Expand Up @@ -193,31 +192,38 @@ export default {
// do a deep copy
// we should maybe rather use cloneDeep from lodash
let res = JSON.parse(JSON.stringify(c));
if (!res.dm.url) {
res.dm.url =
res.dm.mode == "no_sec"
? this.defval.dm.url.nosec
: this.defval.dm.url.sec;
}
if (!res.bs.url) {
res.bs.url =
res.bs.mode == "no_sec"
? this.defval.bs.url.nosec
: this.defval.bs.url.sec;
// Apply default for dm
if (res.dm) {
if (!res.dm.url) {
res.dm.url =
res.dm.mode == "no_sec"
? this.defval.dm.url.nosec
: this.defval.dm.url.sec;
}
}
// apply default rpk value for bs server
if (res.bs.mode == "rpk") {
for (const key in this.defaultrpk) {
if (!res.bs.details[key]) {
res.bs.details[key] = this.defaultrpk[key];
// Apply default for bs
if (res.bs) {
if (!res.bs.url) {
res.bs.url =
res.bs.mode == "no_sec"
? this.defval.bs.url.nosec
: this.defval.bs.url.sec;
}
// apply default rpk value for bs server
if (res.bs.mode == "rpk") {
for (const key in this.defaultrpk) {
if (!res.bs.details[key]) {
res.bs.details[key] = this.defaultrpk[key];
}
}
}
}
// apply default x509 value for bs server
if (res.bs.mode == "x509") {
for (const key in this.defaultx509) {
if (!res.bs.details[key]) {
res.bs.details[key] = this.defaultx509[key];
// apply default x509 value for bs server
if (res.bs.mode == "x509") {
for (const key in this.defaultx509) {
if (!res.bs.details[key]) {
res.bs.details[key] = this.defaultx509[key];
}
}
}
}
Expand Down
47 changes: 45 additions & 2 deletions leshan-bsserver-demo/webapp/src/components/wizard/ServerStep.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,25 @@
Session by writing 1 instance for objects <code>/0</code> and
<code>/1</code>.
</p>
<p>
By default a LWM2M Server <code>{{ defaultNoSecValue }}</code> with
<strong>NO_SEC</strong> Security Mode is created.
</p>
</v-card-text>
<v-form ref="form" :value="valid" @input="$emit('update:valid', $event)">
<v-form
ref="form"
:value="valid"
@input="$emit('update:valid', !addServer || $event)"
>
<v-switch
class="pl-5"
v-model="addServer"
label="Add a DM Server"
@change="updateAddServer($event)"
></v-switch>
<server-input
:value="value"
v-show="addServer"
:value="internalServer"
@input="$emit('input', $event)"
:defaultNoSecValue="defaultNoSecValue"
:defaultSecureValue="defaultSecureValue"
Expand All @@ -40,7 +55,35 @@ export default {
defaultNoSecValue: String, // default url for nosec endpoint
defaultSecureValue: String, // default url for secured endpoint
},
data() {
return {
addServer: true,
internalServer: { mode: "no_sec" }, // internal server Config
};
},
watch: {
value(v) {
if (!v) {
this.addServer = false;
this.internalServer = { mode: "no_sec" };
} else {
this.addServer = true;
this.internalServer = v;
}
},
},
methods: {
updateAddServer(addServer) {
if (addServer) {
this.$emit("input", this.internalServer);
this.resetValidation();
this.$emit("update:valid", true);
} else {
this.$emit("input", null);
this.$emit("update:valid", true);
}
},
resetValidation() {
this.$refs.form.resetValidation();
},
Expand Down
50 changes: 28 additions & 22 deletions leshan-bsserver-demo/webapp/src/views/Bootstrap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,15 @@ export default {
},
addConfig(config) {
let dmServer = this.formatData(config.dm);
let bsServer = this.formatData(config.bs);
let c = {
endpoint: config.endpoint,
dm: [
dm: [],
bs: [],
};
if (config.dm) {
let dmServer = this.formatData(config.dm);
c.dm = [
{
binding: "U",
defaultMinPeriod: 1,
Expand All @@ -238,26 +242,28 @@ export default {
uri: dmServer.uri,
},
},
],
bs: [
{
security: {
bootstrapServer: true,
certificateUsage: bsServer.certificateUsage,
clientOldOffTime: 1,
publicKeyOrId: bsServer.publicKeyOrId,
secretKey: bsServer.secretKey,
securityMode: bsServer.securityMode,
serverPublicKey: bsServer.serverPublicKey,
serverSmsNumber: "",
smsBindingKeyParam: [],
smsBindingKeySecret: [],
smsSecurityMode: "NO_SEC",
uri: bsServer.uri,
},
];
}
let bsServer = this.formatData(config.bs);
c.bs = [
{
security: {
bootstrapServer: true,
certificateUsage: bsServer.certificateUsage,
clientOldOffTime: 1,
publicKeyOrId: bsServer.publicKeyOrId,
secretKey: bsServer.secretKey,
securityMode: bsServer.securityMode,
serverPublicKey: bsServer.serverPublicKey,
serverSmsNumber: "",
smsBindingKeyParam: [],
smsBindingKeySecret: [],
smsSecurityMode: "NO_SEC",
uri: bsServer.uri,
},
],
};
},
];
if (config.security) {
c.security = config.security;
}
Expand Down

0 comments on commit 6abb95c

Please sign in to comment.