changes for gdpr and site types
This commit is contained in:
parent
c8a7991d77
commit
98e50d0e96
7 changed files with 63 additions and 79 deletions
|
|
@ -59,7 +59,7 @@ export default class APIClient {
|
|||
|
||||
constructor() {
|
||||
const jwt = store.getState().getIn(['user', 'jwt']);
|
||||
const siteId = store.getState().getIn(['site', 'siteId']);
|
||||
const siteId = store.getState().site.siteId;
|
||||
this.init = {
|
||||
headers: new Headers({
|
||||
Accept: 'application/json',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import Site from 'Types/site';
|
||||
import Site from "Types/site";
|
||||
import GDPR from 'Types/site/gdpr';
|
||||
import {
|
||||
mergeReducers,
|
||||
|
|
@ -164,4 +164,3 @@ export default mergeReducers(
|
|||
...getCRUDRequestTypes(name)
|
||||
})
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
import Run from './run';
|
||||
|
||||
export const Results = results => Run(results);
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
import Record from 'Types/Record';
|
||||
|
||||
export default Record({
|
||||
id: undefined,
|
||||
maskEmails: false,
|
||||
maskNumbers: false,
|
||||
defaultInputMode: 'plain',
|
||||
sampleRate: 0,
|
||||
}, {
|
||||
idKey: 'id',
|
||||
methods: {
|
||||
toData() {
|
||||
const js = this.toJS();
|
||||
|
||||
delete js.key;
|
||||
return js;
|
||||
},
|
||||
},
|
||||
});
|
||||
18
frontend/app/types/site/gdpr.ts
Normal file
18
frontend/app/types/site/gdpr.ts
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
export interface IGDPR {
|
||||
id?: number;
|
||||
maskEmails: boolean;
|
||||
maskNumbers: boolean;
|
||||
defaultInputMode: string;
|
||||
sampleRate: number;
|
||||
}
|
||||
|
||||
export default function GDPR(data?: Partial<IGDPR>): IGDPR {
|
||||
const defaults: IGDPR = {
|
||||
id: undefined,
|
||||
maskEmails: false,
|
||||
maskNumbers: false,
|
||||
defaultInputMode: 'plain',
|
||||
sampleRate: 0,
|
||||
}
|
||||
return Object.assign({}, defaults, data);
|
||||
}
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
import Record from 'Types/Record';
|
||||
import GDPR from './gdpr';
|
||||
|
||||
export const RED = 'red';
|
||||
export const YELLOW = 'yellow';
|
||||
export const GREEN = 'green';
|
||||
|
||||
export const STATUS_COLOR_MAP = {
|
||||
[RED]: '#CC0000',
|
||||
[YELLOW]: 'orange',
|
||||
[GREEN]: 'green',
|
||||
};
|
||||
|
||||
export default Record(
|
||||
{
|
||||
id: undefined,
|
||||
name: '',
|
||||
host: '',
|
||||
platform: 'web',
|
||||
status: RED,
|
||||
lastRecordedSessionAt: undefined,
|
||||
gdpr: GDPR(),
|
||||
recorded: undefined,
|
||||
stackIntegrations: false,
|
||||
projectKey: undefined,
|
||||
trackerVersion: undefined,
|
||||
saveRequestPayloads: false,
|
||||
sampleRate: 0,
|
||||
conditionsCount: 0,
|
||||
},
|
||||
{
|
||||
idKey: 'id',
|
||||
methods: {
|
||||
validate() {
|
||||
return this.name.length > 0;
|
||||
},
|
||||
|
||||
toData() {
|
||||
const js = this.toJS();
|
||||
delete js.key;
|
||||
delete js.gdpr;
|
||||
return js;
|
||||
},
|
||||
},
|
||||
fromJS: ({ gdpr, projectId, name, ...rest }) => ({
|
||||
...rest,
|
||||
host: name,
|
||||
name: name,
|
||||
id: projectId === undefined ? undefined : `${projectId}`, //?!?!?!?!?
|
||||
gdpr: GDPR(gdpr),
|
||||
}),
|
||||
}
|
||||
);
|
||||
43
frontend/app/types/site/site.ts
Normal file
43
frontend/app/types/site/site.ts
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
import GDPR, { IGDPR } from './gdpr';
|
||||
|
||||
export interface ISite {
|
||||
id?: number;
|
||||
name: string;
|
||||
host: string;
|
||||
platform: string;
|
||||
lastRecordedSessionAt: any;
|
||||
gdpr: IGDPR;
|
||||
recorded: boolean;
|
||||
stackIntegrations: boolean;
|
||||
projectKey?: string;
|
||||
projectId?: number;
|
||||
trackerVersion?: string;
|
||||
saveRequestPayloads: boolean;
|
||||
sampleRate: number;
|
||||
conditionsCount: number;
|
||||
}
|
||||
|
||||
export default function Site(data: Partial<ISite>): ISite {
|
||||
const defaults: ISite = {
|
||||
id: undefined,
|
||||
name: '',
|
||||
host: '',
|
||||
platform: 'web',
|
||||
lastRecordedSessionAt: undefined,
|
||||
gdpr: GDPR(),
|
||||
recorded: false,
|
||||
stackIntegrations: false,
|
||||
projectKey: undefined,
|
||||
projectId: undefined,
|
||||
trackerVersion: undefined,
|
||||
saveRequestPayloads: false,
|
||||
sampleRate: 0,
|
||||
conditionsCount: 0,
|
||||
};
|
||||
|
||||
return Object.assign({}, defaults, {
|
||||
...data,
|
||||
gdpr: GDPR(data.gdpr),
|
||||
host: data.name,
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue