Skip to content

Commit cca814c

Browse files
authored
FastAPI Integration (#28)
* remove query references * remove mut references * remove apollo client * remove references * add check for currentWeakSupervisionRun * remove references * added Observable * fixes huddle data race * log check * msg change * removed msg change * udpate ref
1 parent 6686e77 commit cca814c

28 files changed

+27
-1606
lines changed

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
"lint": "next lint"
1010
},
1111
"dependencies": {
12-
"@apollo/client": "^3.7.10",
1312
"@headlessui/react": "^1.7.18",
1413
"@heroicons/react": "^2.0.17",
1514
"@monaco-editor/react": "^4.5.1",
@@ -30,7 +29,6 @@
3029
"eslint": "8.47.0",
3130
"eslint-config-next": "13.4.19",
3231
"focus-visible": "^5.2.0",
33-
"graphql": "^16.6.0",
3432
"lodash.debounce": "^4.0.8",
3533
"next": "13.5.6",
3634
"postcss-focus-visible": "^6.0.4",

src/components/projects/projectId/data-browser/SearchGroups.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ export default function SearchGroups() {
200200
useEffect(() => {
201201
if (!currentWeakSupervisionRun) return;
202202
if (currentWeakSupervisionRun.state == Status.NOT_YET_RUN) return;
203+
if (!currentWeakSupervisionRun.selectedInformationSources) return;
203204
setSelectedHeuristicsWS(currentWeakSupervisionRun.selectedInformationSources.split(','));
204205
}, [currentWeakSupervisionRun]);
205206

src/components/projects/projectId/labeling/sessionId/main-component/LabelingMainComponent.tsx

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { SessionManager } from "@/src/util/classes/labeling/session-manager";
88
import { UserManager } from "@/src/util/classes/labeling/user-manager";
99
import { DUMMY_HUDDLE_ID, getDefaultLabelingSuiteSettings, parseLabelingLink, prepareRLADataForRole } from "@/src/util/components/projects/projectId/labeling/labeling-main-component-helper";
1010
import { useRouter } from "next/router";
11-
import { useCallback, useEffect, useState } from "react";
11+
import { useCallback, useEffect, useState, useRef } from "react";
1212
import { useDispatch, useSelector } from "react-redux";
1313
import style from "@/src/styles/components/projects/projectId/labeling.module.css";
1414
import NavigationBarTop from "./NavigationBarTop";
@@ -51,6 +51,8 @@ export default function LabelingMainComponent() {
5151
const [absoluteWarning, setAbsoluteWarning] = useState(null);
5252
const [lockedLink, setLockedLink] = useState(false);
5353

54+
const hasRequestedHuddleData = useRef(false);
55+
5456
useEffect(() => {
5557
if (!projectId || !router.query) return;
5658
let tmp = localStorage.getItem(SETTINGS_KEY);
@@ -150,18 +152,20 @@ export default function LabelingMainComponent() {
150152
dispatch(updateRecordRequests('rla', null));
151153
return;
152154
}
153-
setTimeout(() => {
154-
getTokenizedRecord({ recordId: SessionManager.currentRecordId }, (res) => {
155-
dispatch(updateRecordRequests('token', res.data.tokenizeRecord));
156-
});
157-
getRecordByRecordId(projectId, SessionManager.currentRecordId, (res) => {
158-
dispatch(updateRecordRequests('record', res.data.recordByRecordId));
159-
});
160-
getRecordLabelAssociations(projectId, SessionManager.currentRecordId, (rla) => {
161-
const rlas = rla['data']?.['recordByRecordId']?.['recordLabelAssociations']['edges'].map(e => e.node);
162-
dispatch(updateRecordRequests('rla', prepareRLADataForRole(rlas, user, userDisplayId, userDisplayRole)));
163-
});
164-
}, 100);
155+
if (SessionManager.currentRecordId !== null) {
156+
setTimeout(() => {
157+
getTokenizedRecord({ recordId: SessionManager.currentRecordId }, (res) => {
158+
dispatch(updateRecordRequests('token', res.data.tokenizeRecord));
159+
});
160+
getRecordByRecordId(projectId, SessionManager.currentRecordId, (res) => {
161+
dispatch(updateRecordRequests('record', res.data.recordByRecordId));
162+
});
163+
getRecordLabelAssociations(projectId, SessionManager.currentRecordId, (rla) => {
164+
const rlas = rla['data']?.['recordByRecordId']?.['recordLabelAssociations']['edges'].map(e => e.node);
165+
dispatch(updateRecordRequests('rla', prepareRLADataForRole(rlas, user, userDisplayId, userDisplayRole)));
166+
});
167+
}, 100);
168+
}
165169
}, [SessionManager.currentRecordId, user]);
166170

167171
useEffect(() => {
@@ -228,6 +232,8 @@ export default function LabelingMainComponent() {
228232
}
229233

230234
function requestHuddleData(huddleId: string) {
235+
if (hasRequestedHuddleData.current === true) return;
236+
hasRequestedHuddleData.current = true;
231237
getHuddleData(projectId, { huddleId: huddleId, huddleType: SessionManager.labelingLinkData.linkType }, (result) => {
232238
const huddleData = result['data']['requestHuddleData'];
233239
if (huddleId == DUMMY_HUDDLE_ID) {
@@ -259,6 +265,7 @@ export default function LabelingMainComponent() {
259265
SessionManager.jumpToPosition(pos);
260266
dispatch(setDisplayUserRole(user.role));
261267
router.push(`/projects/${projectId}/labeling/${SessionManager.huddleData.linkData.huddleId}?pos=${SessionManager.huddleData.linkData.requestedPos}&type=${SessionManager.huddleData.linkData.linkType}`);
268+
hasRequestedHuddleData.current = false;
262269
});
263270
}
264271

src/pages/_app.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import { ApolloProvider } from '@apollo/client'
21
import type { AppProps } from 'next/app'
3-
import client from '../services/gql/apollo-client'
42
import '../styles/tailwind.css'
53
import Head from 'next/head'
64
import Layout from '../components/shared/layout/Layout'
@@ -24,13 +22,11 @@ export default function App({ Component, pageProps }: AppProps) {
2422
</Head>
2523

2624
<Provider store={store}>
27-
<ApolloProvider client={client}>
28-
<GlobalStoreDataComponent>
29-
<Layout {...pageProps}>
30-
<Component {...pageProps} />
31-
</Layout>
32-
</GlobalStoreDataComponent>
33-
</ApolloProvider>
25+
<GlobalStoreDataComponent>
26+
<Layout {...pageProps}>
27+
<Component {...pageProps} />
28+
</Layout>
29+
</GlobalStoreDataComponent>
3430
</Provider>
3531
</>
3632
}

src/services/base/project.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export function getProjectByProjectId(projectId: string, onResult: (result: any)
1010
jsonFetchWrapper(finalUrl, FetchType.GET, onResult);
1111
}
1212

13-
1413
export function getAllProjects(onResult: (result: any) => void) {
1514
const finalUrl = `${projectEndpoint}/all-projects`;
1615
jsonFetchWrapper(finalUrl, FetchType.GET, onResult);

src/services/base/s3-service.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { UploadState, UploadStates } from "@/src/types/shared/upload";
2-
import { Observable } from '@apollo/client';
32
import { S3 } from 'aws-sdk';
43
import { ConfigManager } from "./config";
4+
import { Observable } from "rxjs";
55

66

77
export function uploadFile(credentialsAndUploadIdParsed: any, file: File, filename: string): Observable<UploadState> {
8-
98
const credentials = credentialsAndUploadIdParsed["Credentials"];
109
const uploadTaskId = credentialsAndUploadIdParsed["uploadTaskId"];
1110
const bucket = credentialsAndUploadIdParsed["bucket"];
@@ -42,7 +41,6 @@ export function uploadFile(credentialsAndUploadIdParsed: any, file: File, filena
4241
state: UploadStates.DONE,
4342
progress: 100
4443
})
45-
subscriber.complete();
4644
});
4745
return managedUpload.on('httpUploadProgress', function (progress) {
4846
subscriber.next({
@@ -78,7 +76,6 @@ export function downloadFile(credentialBlock: any, isStringData: boolean = true)
7876
}
7977
return new Observable((subscriber) => {
8078
s3Client.getObject(getParams, function (err, data) {
81-
// Handle any error and exit
8279
if (err) {
8380
subscriber.error(null)
8481
}
@@ -88,7 +85,6 @@ export function downloadFile(credentialBlock: any, isStringData: boolean = true)
8885
} else {
8986
subscriber.next(data.Body)
9087
}
91-
subscriber.complete();
9288
});
9389
});
9490

src/services/gql/apollo-client.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/services/gql/mutations/data-browser.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

src/services/gql/mutations/edit-records.ts

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/services/gql/mutations/heuristics.ts

Lines changed: 0 additions & 132 deletions
This file was deleted.

0 commit comments

Comments
 (0)