fix: Models are not all removed from local store upon access change (#3729)

* fix: Clean data from stores correctly on 401/403 response

* Convert DataLoader from class component, remove observables and caching

* types
This commit is contained in:
Tom Moor
2022-07-03 22:48:50 +02:00
committed by GitHub
parent 9cd26168e1
commit 5d498632c6
7 changed files with 165 additions and 212 deletions

View File

@@ -4,6 +4,7 @@ import { computed, action } from "mobx";
import Collection from "~/models/Collection";
import { NavigationNode } from "~/types";
import { client } from "~/utils/ApiClient";
import { AuthorizationError, NotFoundError } from "~/utils/errors";
import BaseStore from "./BaseStore";
import RootStore from "./RootStore";
@@ -158,7 +159,7 @@ export default class CollectionsStore extends BaseStore<Collection> {
this.addPolicies(res.policies);
return this.add(res.data);
} catch (err) {
if (err.statusCode === 403) {
if (err instanceof AuthorizationError || err instanceof NotFoundError) {
this.remove(id);
}