Skip to content

Commit 305d4a5

Browse files
feat(admin): adding uniformity in cancel and back buttons present in Script, Logging & SSA (#2415)
1 parent f996ddd commit 305d4a5

File tree

13 files changed

+611
-287
lines changed

13 files changed

+611
-287
lines changed
Lines changed: 104 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,133 @@
1-
// @ts-nocheck
21
import { BasicQueryStringUtils } from '@openid/appauth'
32

4-
export const isFourZeroOneError = (error) => {
5-
return error.status === 401 ? true : false
3+
type GenericRecord = Record<string, unknown>
4+
5+
type AdditionalActionData = GenericRecord & {
6+
modifiedFields?: unknown
7+
performedOn?: unknown
68
}
79

8-
export const hasApiToken = () => {
9-
if (localStorage.getItem('gluu.api.token')) {
10-
return true
10+
type AdditionalPayload = GenericRecord & {
11+
action?: {
12+
action_message?: string
13+
action_data?: AdditionalActionData
1114
}
12-
return false
15+
action_message?: string
16+
message?: string
17+
modifiedFields?: unknown
18+
performedOn?: unknown
19+
tableData?: unknown
20+
omitPayload?: boolean
21+
}
22+
23+
export const isFourZeroOneError = (error?: { status?: number } | null): boolean => {
24+
return error?.status === 401
1325
}
1426

15-
export const saveState = (state) => {
27+
export const hasApiToken = (): boolean => {
28+
return Boolean(localStorage.getItem('gluu.api.token'))
29+
}
30+
31+
export const saveState = (state?: string | null): void => {
1632
if (state) {
1733
localStorage.setItem('gluu.flow.state', state)
1834
}
1935
}
2036

21-
export const saveIssuer = (issuer) => {
37+
export const saveIssuer = (issuer: string): void => {
2238
localStorage.setItem('issuer', issuer)
2339
}
2440

25-
export const getIssuer = () => {
41+
export const getIssuer = (): string | null => {
2642
return localStorage.getItem('issuer')
2743
}
2844

29-
export const isValidState = (newState) => {
30-
return localStorage.getItem('gluu.flow.state') === newState ? true : false
45+
export const isValidState = (newState?: string | null): boolean => {
46+
return localStorage.getItem('gluu.flow.state') === newState
3147
}
3248

33-
export const addAdditionalData = (audit, action, resource, payload) => {
34-
audit['action'] = action
35-
audit['resource'] = resource
36-
audit['message'] = payload?.action?.action_message || payload.action_message || payload.message
37-
if (payload.action?.action_data?.modifiedFields || payload?.modifiedFields) {
38-
audit['modifiedFields'] = payload.action
39-
? payload.action?.action_data?.modifiedFields
40-
: payload?.modifiedFields
49+
export const addAdditionalData = (
50+
audit: GenericRecord,
51+
action: string,
52+
resource: string,
53+
payload: AdditionalPayload = {},
54+
): void => {
55+
const sanitizedPayload: AdditionalPayload = { ...payload }
56+
57+
if (payload.action) {
58+
sanitizedPayload.action = { ...payload.action }
59+
if (payload.action.action_data) {
60+
sanitizedPayload.action.action_data = { ...payload.action.action_data }
61+
}
62+
}
63+
64+
const shouldOmitPayload = Boolean(sanitizedPayload.omitPayload)
65+
if ('omitPayload' in sanitizedPayload) {
66+
delete sanitizedPayload.omitPayload
67+
}
68+
69+
audit.action = action
70+
audit.resource = resource
71+
72+
const message =
73+
sanitizedPayload.action?.action_message ??
74+
sanitizedPayload.action_message ??
75+
sanitizedPayload.message
76+
if (message !== undefined) {
77+
audit.message = message
78+
}
79+
80+
const actionData = sanitizedPayload.action?.action_data
81+
82+
if (actionData?.modifiedFields !== undefined || sanitizedPayload.modifiedFields !== undefined) {
83+
audit.modifiedFields =
84+
actionData?.modifiedFields !== undefined
85+
? actionData.modifiedFields
86+
: sanitizedPayload.modifiedFields
4187
}
42-
if (payload.action?.action_data?.performedOn || payload?.performedOn) {
43-
audit['performedOn'] = payload.action
44-
? payload.action?.action_data?.performedOn
45-
: payload?.performedOn
88+
89+
if (actionData?.performedOn !== undefined || sanitizedPayload.performedOn !== undefined) {
90+
audit.performedOn =
91+
actionData?.performedOn !== undefined ? actionData.performedOn : sanitizedPayload.performedOn
92+
}
93+
94+
if (actionData) {
95+
if ('modifiedFields' in actionData) {
96+
delete actionData.modifiedFields
97+
}
98+
if ('performedOn' in actionData) {
99+
delete actionData.performedOn
100+
}
101+
}
102+
103+
if ('modifiedFields' in sanitizedPayload) {
104+
delete sanitizedPayload.modifiedFields
105+
}
106+
107+
if ('performedOn' in sanitizedPayload) {
108+
delete sanitizedPayload.performedOn
109+
}
110+
111+
if ('action_message' in sanitizedPayload) {
112+
delete sanitizedPayload.action_message
113+
}
114+
115+
if ('tableData' in sanitizedPayload) {
116+
delete sanitizedPayload.tableData
117+
}
118+
119+
if (!shouldOmitPayload) {
120+
audit.payload = sanitizedPayload.action ? sanitizedPayload.action.action_data : sanitizedPayload
46121
}
47-
delete payload.action?.action_data?.modifiedFields
48-
delete payload?.modifiedFields
49-
delete payload.action_message
50-
delete payload.tableData
51122

52-
audit['payload'] = payload.action ? payload.action.action_data : payload || {}
53-
audit['date'] = new Date()
123+
audit.date = new Date()
54124
}
55125

56126
export class NoHashQueryStringUtils extends BasicQueryStringUtils {
57-
parse(input, useHash) {
127+
parse(
128+
input: Parameters<BasicQueryStringUtils['parse']>[0],
129+
_useHash?: Parameters<BasicQueryStringUtils['parse']>[1],
130+
): ReturnType<BasicQueryStringUtils['parse']> {
58131
return super.parse(input, false)
59132
}
60133
}

0 commit comments

Comments
 (0)