Typescript migration
* utils/strings.js * utils/urlBuilder.js
This commit is contained in:
parent
2c2c6336db
commit
7325cd4db6
4
server/types/index.ts
Normal file
4
server/types/index.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
// TODO: Complete interface / class declaration.
|
||||
export interface NodeSecrets {
|
||||
monitoringToken: string; // TODO: Token type.
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const _ = require('lodash')
|
||||
|
||||
module.exports = {
|
||||
normalizeString (str) {
|
||||
return _.isString(str) ? str.trim().replace(/\s+/g, ' ') : str;
|
||||
},
|
||||
|
||||
normalizeMac (mac) {
|
||||
// parts only contains values at odd indexes
|
||||
const parts = mac.toUpperCase().replace(/:/g, '').split(/([A-F0-9]{2})/);
|
||||
|
||||
const macParts = [];
|
||||
|
||||
for (let i = 1; i < parts.length; i += 2) {
|
||||
macParts.push(parts[i]);
|
||||
}
|
||||
|
||||
return macParts.join(':');
|
||||
},
|
||||
|
||||
parseInt (str) {
|
||||
const parsed = _.parseInt(str, 10);
|
||||
return parsed.toString() === str ? parsed : undefined;
|
||||
}
|
||||
}
|
23
server/utils/strings.ts
Normal file
23
server/utils/strings.ts
Normal file
|
@ -0,0 +1,23 @@
|
|||
import _ from "lodash"
|
||||
|
||||
export function normalizeString (str: string): string {
|
||||
return _.isString(str) ? str.trim().replace(/\s+/g, ' ') : str;
|
||||
}
|
||||
|
||||
export function normalizeMac (mac: string): string {
|
||||
// parts only contains values at odd indexes
|
||||
const parts = mac.toUpperCase().replace(/:/g, '').split(/([A-F0-9]{2})/);
|
||||
|
||||
const macParts = [];
|
||||
|
||||
for (let i = 1; i < parts.length; i += 2) {
|
||||
macParts.push(parts[i]);
|
||||
}
|
||||
|
||||
return macParts.join(':');
|
||||
}
|
||||
|
||||
export function parseInt (str: string): number | undefined {
|
||||
const parsed = _.parseInt(str, 10);
|
||||
return parsed.toString() === str ? parsed : undefined;
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const _ = require('lodash')
|
||||
|
||||
const config = require('../config').config
|
||||
|
||||
function formUrl(route, queryParams) {
|
||||
let url = config.server.baseUrl;
|
||||
if (route || queryParams) {
|
||||
url += '/#/';
|
||||
}
|
||||
if (route) {
|
||||
url += route;
|
||||
}
|
||||
if (queryParams) {
|
||||
url += '?';
|
||||
url += _.join(
|
||||
_.map(
|
||||
queryParams,
|
||||
function (value, key) {
|
||||
return encodeURIComponent(key) + '=' + encodeURIComponent(value);
|
||||
}
|
||||
),
|
||||
'&'
|
||||
);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
editNodeUrl () {
|
||||
return formUrl('update');
|
||||
},
|
||||
|
||||
monitoringConfirmUrl (nodeSecrets) {
|
||||
return formUrl('monitoring/confirm', { token: nodeSecrets.monitoringToken });
|
||||
},
|
||||
monitoringDisableUrl (nodeSecrets) {
|
||||
return formUrl('monitoring/disable', { token: nodeSecrets.monitoringToken });
|
||||
}
|
||||
}
|
40
server/utils/urlBuilder.ts
Normal file
40
server/utils/urlBuilder.ts
Normal file
|
@ -0,0 +1,40 @@
|
|||
import _ from "lodash"
|
||||
import {config} from "../config"
|
||||
import {NodeSecrets} from "../types"
|
||||
|
||||
// TODO: Typed URLs
|
||||
|
||||
function formUrl(route: string, queryParams?: {[key: string]: string}): string {
|
||||
let url = config.server.baseUrl;
|
||||
if (route || queryParams) {
|
||||
url += '/#/';
|
||||
}
|
||||
if (route) {
|
||||
url += route;
|
||||
}
|
||||
if (queryParams) {
|
||||
url += '?';
|
||||
url += _.join(
|
||||
_.map(
|
||||
queryParams,
|
||||
function (value, key) {
|
||||
return encodeURIComponent(key) + '=' + encodeURIComponent(value);
|
||||
}
|
||||
),
|
||||
'&'
|
||||
);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
export function editNodeUrl (): string {
|
||||
return formUrl('update');
|
||||
}
|
||||
|
||||
export function monitoringConfirmUrl (nodeSecrets: NodeSecrets): string {
|
||||
return formUrl('monitoring/confirm', { token: nodeSecrets.monitoringToken });
|
||||
}
|
||||
|
||||
export function monitoringDisableUrl (nodeSecrets: NodeSecrets): string {
|
||||
return formUrl('monitoring/disable', { token: nodeSecrets.monitoringToken });
|
||||
}
|
Loading…
Reference in a new issue