Skip to content

Commit

Permalink
Merge branch 'fix-small-issues'
Browse files Browse the repository at this point in the history
  • Loading branch information
simlarsen committed May 8, 2023
2 parents 6d88109 + 83abc61 commit f3dd60e
Show file tree
Hide file tree
Showing 40 changed files with 111 additions and 985 deletions.
5 changes: 5 additions & 0 deletions Common/Types/JSONFunctions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import DatabaseProperty from './Database/DatabaseProperty';
import OneUptimeDate from './Date';
import BaseModel from '../Models/BaseModel';
import GreaterThan from './Database/GreaterThan';
import JSON5 from 'json5';
import GreaterThanOrEqual from './Database/GreaterThanOrEqual';
import LessThan from './Database/LessThan';
import LessThanOrEqual from './Database/LessThanOrEqual';
Expand Down Expand Up @@ -679,6 +680,10 @@ export default class JSONFunctions {
return returnArr;
}

public static parse(val: string): JSONObject {
return JSON5.parse(val);
}

public static deserialize(val: JSONObject): JSONObject {
const newVal: JSONObject = {};
for (const key in val) {
Expand Down
15 changes: 7 additions & 8 deletions Common/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"@types/uuid": "^8.3.4",
"axios": "^0.26.1",
"crypto-js": "^4.1.1",
"json5": "^2.2.3",
"moment": "^2.29.2",
"moment-timezone": "^0.5.40",
"nanoid": "^3.3.2",
Expand Down
2 changes: 1 addition & 1 deletion CommonServer/Infrastructure/GlobalCache.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export default abstract class Cache {

try {
const jsonObject: JSONObject = JSONFunctions.deserialize(
JSON.parse(value)
JSONFunctions.parse(value)
) as JSONObject;

if (!jsonObject) {
Expand Down
7 changes: 5 additions & 2 deletions CommonServer/Types/Workflow/Components/API/Utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { RunOptions } from '../../ComponentCode';
import URL from 'Common/Types/API/URL';
import HTTPResponse from 'Common/Types/API/HTTPResponse';
import HTTPErrorResponse from 'Common/Types/API/HTTPErrorResponse';
import JSONFunctions from 'Common/Types/JSONFunctions';

export class ApiComponentUtils {
public static getReturnValues(
Expand Down Expand Up @@ -55,14 +56,16 @@ export class ApiComponentUtils {
}

if (args['request-body'] && typeof args['request-body'] === 'string') {
args['request-body'] = JSON.parse(args['request-body'] as string);
args['request-body'] = JSONFunctions.parse(
`${args['request-body'] as string}`
);
}

if (
args['request-headers'] &&
typeof args['request-headers'] === 'string'
) {
args['request-headers'] = JSON.parse(
args['request-headers'] = JSONFunctions.parse(
args['request-headers'] as string
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@ export default class CreateManyBaseModel<
}

if (typeof args['json-array'] === 'string') {
args['json-array'] = JSON.parse(args['json-array'] as string);
args['json-array'] = JSONFunctions.parse(
args['json-array'] as string
);
}

if (!Array.isArray(args['json-array'])) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export default class CreateOneBaseModel<
}

if (typeof args['json'] === 'string') {
args['json'] = JSON.parse(args['json'] as string);
args['json'] = JSONFunctions.parse(args['json'] as string);
}

if (typeof args['json'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export default class DeleteManyBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ export default class DeleteOneBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default class FindManyBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand All @@ -105,7 +105,7 @@ export default class FindManyBaseModel<
}

if (typeof args['select'] === 'string') {
args['select'] = JSON.parse(args['select'] as string);
args['select'] = JSONFunctions.parse(args['select'] as string);
}

if (typeof args['select'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export default class FindOneBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand All @@ -103,7 +103,7 @@ export default class FindOneBaseModel<
}

if (typeof args['select'] === 'string') {
args['select'] = JSON.parse(args['select'] as string);
args['select'] = JSONFunctions.parse(args['select'] as string);
}

if (typeof args['select'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default class UpdateManyBaseModel<
}

if (typeof args['data'] === 'string') {
args['data'] = JSON.parse(args['data'] as string);
args['data'] = JSONFunctions.parse(args['data'] as string);
}

if (typeof args['data'] !== 'object') {
Expand All @@ -105,7 +105,7 @@ export default class UpdateManyBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export default class UpdateOneBaseModel<
}

if (typeof args['data'] === 'string') {
args['data'] = JSON.parse(args['data'] as string);
args['data'] = JSONFunctions.parse(args['data'] as string);
}

if (typeof args['data'] !== 'object') {
Expand All @@ -103,7 +103,7 @@ export default class UpdateOneBaseModel<
}

if (typeof args['query'] === 'string') {
args['query'] = JSON.parse(args['query'] as string);
args['query'] = JSONFunctions.parse(args['query'] as string);
}

if (typeof args['query'] !== 'object') {
Expand Down
3 changes: 2 additions & 1 deletion CommonServer/Types/Workflow/Components/JSON/JsonToText.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import ComponentMetadata, { Port } from 'Common/Types/Workflow/Component';
import ComponentID from 'Common/Types/Workflow/ComponentID';
import JSONComponents from 'Common/Types/Workflow/Components/JSON';
import ComponentCode, { RunOptions, RunReturnType } from '../../ComponentCode';
import JSONFunctions from 'Common/Types/JSONFunctions';

export default class JsonToText extends ComponentCode {
public constructor() {
Expand Down Expand Up @@ -53,7 +54,7 @@ export default class JsonToText extends ComponentCode {
}

if (typeof args['json'] === 'string') {
args['json'] = JSON.parse(args['json'] as string);
args['json'] = JSONFunctions.parse(args['json'] as string);
}

if (typeof args['json'] !== 'object') {
Expand Down
5 changes: 3 additions & 2 deletions CommonServer/Types/Workflow/Components/JSON/MergeJson.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import ComponentMetadata, { Port } from 'Common/Types/Workflow/Component';
import ComponentID from 'Common/Types/Workflow/ComponentID';
import JSONComponents from 'Common/Types/Workflow/Components/JSON';
import ComponentCode, { RunOptions, RunReturnType } from '../../ComponentCode';
import JSONFunctions from 'Common/Types/JSONFunctions';

export default class MergeJSON extends ComponentCode {
public constructor() {
Expand Down Expand Up @@ -53,7 +54,7 @@ export default class MergeJSON extends ComponentCode {
}

if (typeof args['json1'] === 'string') {
args['json1'] = JSON.parse(args['json1'] as string);
args['json1'] = JSONFunctions.parse(args['json1'] as string);
}

if (typeof args['json1'] !== 'object') {
Expand All @@ -67,7 +68,7 @@ export default class MergeJSON extends ComponentCode {
}

if (typeof args['json2'] === 'string') {
args['json2'] = JSON.parse(args['json2'] as string);
args['json2'] = JSONFunctions.parse(args['json2'] as string);
}

if (typeof args['json2'] !== 'object') {
Expand Down
5 changes: 4 additions & 1 deletion CommonServer/Types/Workflow/Components/JSON/TextToJson.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import ComponentMetadata, { Port } from 'Common/Types/Workflow/Component';
import ComponentID from 'Common/Types/Workflow/ComponentID';
import JSONComponents from 'Common/Types/Workflow/Components/JSON';
import ComponentCode, { RunOptions, RunReturnType } from '../../ComponentCode';
import JSONFunctions from 'Common/Types/JSONFunctions';

export default class TextToJSON extends ComponentCode {
public constructor() {
Expand Down Expand Up @@ -59,7 +60,9 @@ export default class TextToJSON extends ComponentCode {
}

try {
const returnValue: JSONObject = JSON.parse(args['text'] as string);
const returnValue: JSONObject = JSONFunctions.parse(
args['text'] as string
);
return Promise.resolve({
returnValues: {
json: returnValue,
Expand Down
3 changes: 2 additions & 1 deletion CommonServer/Types/Workflow/Components/JavaScript.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import VM, { VMScript } from 'vm2';
import axios from 'axios';
import http from 'http';
import https from 'https';
import JSONFunctions from 'Common/Types/JSONFunctions';

export default class JavaScriptCode extends ComponentCode {
public constructor() {
Expand Down Expand Up @@ -83,7 +84,7 @@ export default class JavaScriptCode extends ComponentCode {
const functionToRun: any = vm.run(script);

const returnVal: any = await functionToRun(
JSON.parse((args['arguments'] as string) || '{}')
JSONFunctions.parse((args['arguments'] as string) || '{}')
);

return {
Expand Down
3 changes: 2 additions & 1 deletion CommonServer/Utils/JsonWebToken.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import JSONWebTokenData from 'Common/Types/JsonWebTokenData';
import Name from 'Common/Types/Name';
import User from 'Model/Models/User';
import StatusPagePrivateUser from 'Model/Models/StatusPagePrivateUser';
import JSONFunctions from 'Common/Types/JSONFunctions';

class JSONWebToken {
public static sign(
Expand Down Expand Up @@ -53,7 +54,7 @@ class JSONWebToken {
const decodedToken: string = JSON.stringify(
jwt.verify(token, EncryptionSecret.toString()) as string
);
const decoded: JSONObject = JSON.parse(decodedToken);
const decoded: JSONObject = JSONFunctions.parse(decodedToken);

if (decoded['statusPageId']) {
return {
Expand Down
5 changes: 3 additions & 2 deletions CommonServer/Utils/StartServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import ObjectID from 'Common/Types/ObjectID';
import StatusCode from 'Common/Types/API/StatusCode';
import Typeof from 'Common/Types/Typeof';
import Response from './Response';
import JSONFunctions from 'Common/Types/JSONFunctions';
// import OpenTelemetrySDK from "./OpenTelemetry";

const app: ExpressApplication = Express.getExpressApp();
Expand Down Expand Up @@ -65,7 +66,7 @@ const setDefaultHeaders: RequestHandler = (
next: NextFunction
): void => {
if (typeof req.body === Typeof.String) {
req.body = JSON.parse(req.body);
req.body = JSONFunctions.parse(req.body);
}
res.header('Access-Control-Allow-Credentials', 'true');
res.header('Access-Control-Allow-Origin', req.headers['origin']);
Expand Down Expand Up @@ -115,7 +116,7 @@ const init: Function = async (
window.process.env = {}
}
const envVars = '${JSON.stringify(process.env)}';
window.process.env = JSON.parse(envVars);
window.process.env = JSONFunctions.parse(envVars);
`;

Response.sendJavaScriptResponse(req, res, script);
Expand Down
1 change: 0 additions & 1 deletion CommonUI/src/Components/CodeEditor/CodeEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ const CodeEditor: FunctionComponent<ComponentProps> = (
acceptSuggestionOnCommitCharacter: true,
acceptSuggestionOnEnter: 'on',
accessibilitySupport: 'auto',

automaticLayout: true,
codeLens: false,
colorDecorators: true,
Expand Down
3 changes: 2 additions & 1 deletion CommonUI/src/Components/Workflow/RunModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import ErrorMessage from '../ErrorMessage/ErrorMessage';
import ConfirmModal from '../Modal/ConfirmModal';
import SideOver from '../SideOver/SideOver';
import RunForm from './RunForm';
import JSONFunctions from 'Common/Types/JSONFunctions';

export interface ComponentProps {
onClose: () => void;
Expand Down Expand Up @@ -80,7 +81,7 @@ const RunModal: FunctionComponent<ComponentProps> = (
'string'
) {
component.returnValues[args.id] =
JSON.parse(
JSONFunctions.parse(
component.returnValues[
args.id
] as string
Expand Down
4 changes: 2 additions & 2 deletions CommonUI/src/Utils/API/API.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class BaseAPI extends API {
if (headers && headers['global-permissions']) {
PermissionUtil.setGlobalPermissions(
JSONFunctions.deserialize(
JSON.parse(headers['global-permissions'])
JSONFunctions.parse(headers['global-permissions'])
) as UserGlobalAccessPermission
);
}
Expand All @@ -49,7 +49,7 @@ class BaseAPI extends API {
if (headers && headers['project-permissions']) {
PermissionUtil.setProjectPermissions(
JSONFunctions.deserialize(
JSON.parse(headers['project-permissions'])
JSONFunctions.parse(headers['project-permissions'])
) as UserTenantAccessPermission
);
}
Expand Down
5 changes: 4 additions & 1 deletion CommonUI/src/Utils/JsonWebToken.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import { JSONObject } from 'Common/Types/JSON';
import JSONFunctions from 'Common/Types/JSONFunctions';

export default class JsonWebToken {
public static decode(token: string): JSONObject | null {
if (token && token.includes('.')) {
return JSON.parse(window.atob(token.split('.')[1] as string));
return JSONFunctions.parse(
window.atob(token.split('.')[1] as string)
);
}

return null;
Expand Down
2 changes: 1 addition & 1 deletion CommonUI/src/Utils/LocalStorage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export default class LocalStorage {
try {
if (value) {
return JSONFunctions.deserializeValue(
JSON.parse(value?.toString())
JSONFunctions.parse(value?.toString())
);
}
return value;
Expand Down
Loading

0 comments on commit f3dd60e

Please sign in to comment.