import { InitialFetchRequest } from "../../interfaces";
import { UserService, WebSocketService } from "../../services";
import {
+ WithPromiseKeys,
fetchLimit,
isBrowser,
myAuth,
All,
}
+interface RegistrationApplicationsData {
+ listRegistrationApplicationsResponse: ListRegistrationApplicationsResponse;
+}
+
interface RegistrationApplicationsState {
listRegistrationApplicationsResponse?: ListRegistrationApplicationsResponse;
siteRes: GetSiteResponse;
any,
RegistrationApplicationsState
> {
- private isoData = setIsoData(this.context);
+ private isoData = setIsoData<RegistrationApplicationsData>(this.context);
private subscription?: Subscription;
state: RegistrationApplicationsState = {
siteRes: this.isoData.site_res,
this.subscription = wsSubscribe(this.parseMessage);
// Only fetch the data if coming from another route
- if (this.isoData.path == this.context.router.route.match.url) {
+ if (this.isoData.path === this.context.router.route.match.url) {
this.state = {
...this.state,
- listRegistrationApplicationsResponse: this.isoData
- .routeData[0] as ListRegistrationApplicationsResponse,
+ listRegistrationApplicationsResponse:
+ this.isoData.routeData.listRegistrationApplicationsResponse,
loading: false,
};
} else {
this.refetch();
}
- static fetchInitialData(req: InitialFetchRequest): Promise<any>[] {
- let promises: Promise<any>[] = [];
-
- let auth = req.auth;
- if (auth) {
- let form: ListRegistrationApplications = {
- unread_only: true,
- page: 1,
- limit: fetchLimit,
- auth,
- };
- promises.push(req.client.listRegistrationApplications(form));
- }
+ static fetchInitialData({
+ auth,
+ client,
+ }: InitialFetchRequest): WithPromiseKeys<RegistrationApplicationsData> {
+ const form: ListRegistrationApplications = {
+ unread_only: true,
+ page: 1,
+ limit: fetchLimit,
+ auth: auth as string,
+ };
- return promises;
+ return {
+ listRegistrationApplicationsResponse:
+ client.listRegistrationApplications(form),
+ };
}
refetch() {