Skip to content

Commit af44ed5

Browse files
committed
updated the UI to support the new problem format
1 parent dabd569 commit af44ed5

File tree

10 files changed

+33
-33
lines changed

10 files changed

+33
-33
lines changed

ui/ui-app/src/app/components/modals/InvalidContentModal.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ import {
1010
ModalVariant
1111
} from "@patternfly/react-core";
1212
import { ExclamationCircleIcon } from "@patternfly/react-icons";
13-
import { ApiError } from "@models/apiError.model.ts";
13+
import { RuleViolationProblemDetails } from "@sdk/lib/generated-client/models";
1414

1515

1616
/**
1717
* Properties
1818
*/
1919
export type InvalidContentModalProps = {
20-
error: ApiError|undefined;
20+
error: RuleViolationProblemDetails|undefined;
2121
isOpen: boolean;
2222
onClose: () => void;
2323
};
@@ -30,7 +30,7 @@ export const InvalidContentModal: FunctionComponent<InvalidContentModalProps> =
3030

3131
const errorDetail = (): React.ReactElement => {
3232
if (props.error) {
33-
if (props.error.name === "RuleViolationException" && props.error.causes != null && props.error.causes.length > 0 ) {
33+
if (props.error.nameEscaped === "RuleViolationException" && props.error.causes != null && props.error.causes.length > 0 ) {
3434
return (
3535
<DataList aria-label="Error causes" className="error-causes" >
3636
{

ui/ui-app/src/app/pages/PageErrorHandler.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ export const PageErrorHandler: FunctionComponent<PageErrorHandlerProps> = (props
3030
return props.error !== undefined && props.error.error instanceof TypeError && (props.error.error as TypeError).message.includes("fetch");
3131
};
3232
const is404Error = (): boolean => {
33-
return props.error && props.error.error.error_code && (props.error.error.error_code == 404);
33+
return props.error && props.error.error.status && (props.error.error.status == 404);
3434
};
3535
const is403Error = (): boolean => {
36-
return props.error && props.error.error.error_code && (props.error.error.error_code == 403);
36+
return props.error && props.error.error.status && (props.error.error.status == 403);
3737
};
3838
const is419Error = (): boolean => {
39-
return props.error && props.error.error.error_code && (props.error.error.error_code == 419);
39+
return props.error && props.error.error.status && (props.error.error.status == 419);
4040
};
4141

4242
console.debug("Showing page error: ", props.error);

ui/ui-app/src/app/pages/artifact/ArtifactPage.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ import {
2323
BranchesTabContent,
2424
VersionsTabContent
2525
} from "@app/pages/artifact/components";
26-
import { ApiError } from "@models/apiError.model.ts";
2726
import {
2827
AddVersionToBranch,
2928
ArtifactMetaData,
3029
CreateBranch,
3130
CreateVersion,
3231
Rule,
3332
RuleType,
33+
RuleViolationProblemDetails,
3434
SearchedBranch,
3535
SearchedVersion
3636
} from "@sdk/lib/generated-client/models";
@@ -59,7 +59,7 @@ export const ArtifactPage: FunctionComponent<ArtifactPageProps> = () => {
5959
const [isPleaseWaitModalOpen, setIsPleaseWaitModalOpen] = useState(false);
6060
const [pleaseWaitMessage, setPleaseWaitMessage] = useState("");
6161
const [rules, setRules] = useState<Rule[]>([]);
62-
const [invalidContentError, setInvalidContentError] = useState<ApiError>();
62+
const [invalidContentError, setInvalidContentError] = useState<RuleViolationProblemDetails>();
6363
const [isInvalidContentModalOpen, setIsInvalidContentModalOpen] = useState(false);
6464
const [versionToDelete, setVersionToDelete] = useState<SearchedVersion>();
6565
const [versionDeleteSuccessCallback, setVersionDeleteSuccessCallback] = useState<() => void>();
@@ -309,7 +309,7 @@ export const ArtifactPage: FunctionComponent<ArtifactPageProps> = () => {
309309
appNavigation.navigateTo(artifactVersionLocation);
310310
}).catch( error => {
311311
pleaseWait(false);
312-
if (error && (error.error_code === 400 || error.error_code === 409)) {
312+
if (error && (error.status === 400 || error.status === 409)) {
313313
handleInvalidContentError(error);
314314
} else {
315315
setPageError(toPageError(error, "Error creating artifact version."));
@@ -331,7 +331,7 @@ export const ArtifactPage: FunctionComponent<ArtifactPageProps> = () => {
331331
appNavigation.navigateTo(artifactBranchLocation);
332332
}).catch( error => {
333333
pleaseWait(false);
334-
if (error && (error.error_code === 400 || error.error_code === 409)) {
334+
if (error && (error.status === 400 || error.status === 409)) {
335335
handleInvalidContentError(error);
336336
} else {
337337
setPageError(toPageError(error, "Error creating artifact branch."));

ui/ui-app/src/app/pages/explore/ExplorePage.tsx

+9-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {
1414
toPageError
1515
} from "@app/pages";
1616
import { CreateArtifactModal, CreateGroupModal, InvalidContentModal, RootPageHeader } from "@app/components";
17-
import { ApiError } from "@models/apiError.model.ts";
1817
import { If, ListWithToolbar, PleaseWaitModal, ProgressModal } from "@apicurio/common-ui-components";
1918
import { useGroupsService } from "@services/useGroupsService.ts";
2019
import { AppNavigation, useAppNavigation } from "@services/useAppNavigation.ts";
@@ -25,7 +24,12 @@ import { Paging } from "@models/paging.model.ts";
2524
import { FilterBy, SearchFilter, useSearchService } from "@services/useSearchService.ts";
2625
import {
2726
ArtifactSearchResults,
28-
ArtifactSortByObject, CreateArtifact, CreateGroup, GroupSearchResults, GroupSortByObject,
27+
ArtifactSortByObject,
28+
CreateArtifact,
29+
CreateGroup,
30+
GroupSearchResults,
31+
GroupSortByObject,
32+
RuleViolationProblemDetails,
2933
SortOrder,
3034
SortOrderObject
3135
} from "@sdk/lib/generated-client/models";
@@ -69,7 +73,7 @@ export const ExplorePage: FunctionComponent<ExplorePageProps> = () => {
6973
const [isImporting, setImporting] = useState(false);
7074
const [paging, setPaging] = useState<Paging>(DEFAULT_PAGING);
7175
const [results, setResults] = useState<ArtifactSearchResults | GroupSearchResults>(EMPTY_RESULTS);
72-
const [invalidContentError, setInvalidContentError] = useState<ApiError>();
76+
const [invalidContentError, setInvalidContentError] = useState<RuleViolationProblemDetails>();
7377
const [importProgress, setImportProgress] = useState(0);
7478

7579
const appNavigation: AppNavigation = useAppNavigation();
@@ -155,7 +159,7 @@ export const ExplorePage: FunctionComponent<ExplorePageProps> = () => {
155159
appNavigation.navigateTo(artifactLocation);
156160
}).catch( error => {
157161
pleaseWait(false);
158-
if (error && (error.error_code === 400 || error.error_code === 409)) {
162+
if (error && (error.status === 400 || error.status === 409)) {
159163
handleInvalidContentError(error);
160164
} else {
161165
setPageError(toPageError(error, "Error creating artifact."));
@@ -175,7 +179,7 @@ export const ExplorePage: FunctionComponent<ExplorePageProps> = () => {
175179
appNavigation.navigateTo(groupLocation);
176180
}).catch( error => {
177181
pleaseWait(false);
178-
if (error && (error.error_code === 400 || error.error_code === 409)) {
182+
if (error && (error.status === 400 || error.status === 409)) {
179183
handleInvalidContentError(error);
180184
} else {
181185
setPageError(toPageError(error, "Error creating group."));

ui/ui-app/src/app/pages/group/GroupPage.tsx

+10-4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,14 @@ import { AppNavigation, useAppNavigation } from "@services/useAppNavigation.ts";
2323
import { LoggerService, useLoggerService } from "@services/useLoggerService.ts";
2424
import { GroupsService, useGroupsService } from "@services/useGroupsService.ts";
2525
import { ArtifactsTabContent } from "@app/pages/group/components/tabs/ArtifactsTabContent.tsx";
26-
import { ApiError } from "@models/apiError.model.ts";
27-
import { CreateArtifact, GroupMetaData, Rule, RuleType, SearchedArtifact } from "@sdk/lib/generated-client/models";
26+
import {
27+
CreateArtifact,
28+
GroupMetaData,
29+
Rule,
30+
RuleType,
31+
RuleViolationProblemDetails,
32+
SearchedArtifact
33+
} from "@sdk/lib/generated-client/models";
2834

2935

3036
export type GroupPageProps = {
@@ -45,7 +51,7 @@ export const GroupPage: FunctionComponent<GroupPageProps> = () => {
4551
const [isPleaseWaitModalOpen, setIsPleaseWaitModalOpen] = useState(false);
4652
const [pleaseWaitMessage, setPleaseWaitMessage] = useState("");
4753
const [isCreateArtifactModalOpen, setCreateArtifactModalOpen] = useState<boolean>(false);
48-
const [invalidContentError, setInvalidContentError] = useState<ApiError>();
54+
const [invalidContentError, setInvalidContentError] = useState<RuleViolationProblemDetails>();
4955
const [isInvalidContentModalOpen, setInvalidContentModalOpen] = useState<boolean>(false);
5056
const [artifactToDelete, setArtifactToDelete] = useState<SearchedArtifact>();
5157
const [artifactDeleteSuccessCallback, setArtifactDeleteSuccessCallback] = useState<() => void>();
@@ -134,7 +140,7 @@ export const GroupPage: FunctionComponent<GroupPageProps> = () => {
134140
appNavigation.navigateTo(artifactLocation);
135141
}).catch( error => {
136142
pleaseWait(false);
137-
if (error && (error.error_code === 400 || error.error_code === 409)) {
143+
if (error && (error.status === 400 || error.status === 409)) {
138144
handleInvalidContentError(error);
139145
} else {
140146
setPageError(toPageError(error, "Error creating artifact."));

ui/ui-app/src/app/pages/roles/RolesPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export const RolesPage: FunctionComponent<RolesPageProps> = () => {
104104
pleaseWait(false, "");
105105
setRoles([mapping, ...roles]);
106106
}).catch(error => {
107-
if (error?.error_code === 409) {
107+
if (error?.status === 409) {
108108
// If we get a conflict when trying to create, that means the mapping already exists
109109
// and we should instead update.
110110
updateRoleMapping(principal, role);

ui/ui-app/src/app/pages/version/VersionPage.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export const VersionPage: FunctionComponent<ArtifactVersionPageProps> = () => {
6262
if (typeof e === "string") {
6363
try {
6464
const eo: any = JSON.parse(e);
65-
if (eo && eo.error_code && eo.error_code === 404) {
65+
if (eo && eo.status && eo.status === 404) {
6666
return true;
6767
}
6868
} catch (e) {

ui/ui-app/src/app/pages/version/components/tabs/ErrorTabContentState.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ export const ErrorTabContent: FunctionComponent<ErrorTabContentProps> = (props:
5353
const errorDetail = (): string => {
5454
if (props.error && props.error.error && props.error.error.detail) {
5555
return props.error.error.detail;
56-
}else if (props.error && props.error.error && props.error.error.message) {
57-
return props.error.error.message;
56+
}else if (props.error && props.error.error && props.error.error.title) {
57+
return props.error.error.title;
5858
} else if (props.error && props.error.error) {
5959
return JSON.stringify(props.error.error, null, 3);
6060
} else {

ui/ui-app/src/models/apiError.model.ts

-9
This file was deleted.

ui/ui-app/src/models/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
export * from "./apiError.model";
21
export * from "./RuleViolationCause.model";
32
export * from "./contentTypes.model";
43
export * from "./paging.model";

0 commit comments

Comments
 (0)