]> Untitled Git - lemmy.git/commitdiff
Strongly typing WebsocketJsonResponse. Forgot comment-form.tsx
authorDessalines <tyhou13@gmx.com>
Sun, 19 Jan 2020 05:38:45 +0000 (00:38 -0500)
committerDessalines <tyhou13@gmx.com>
Sun, 19 Jan 2020 05:38:45 +0000 (00:38 -0500)
18 files changed:
ui/src/components/comment-form.tsx
ui/src/components/communities.tsx
ui/src/components/community-form.tsx
ui/src/components/community.tsx
ui/src/components/inbox.tsx
ui/src/components/login.tsx
ui/src/components/main.tsx
ui/src/components/modlog.tsx
ui/src/components/moment-time.tsx
ui/src/components/navbar.tsx
ui/src/components/password_change.tsx
ui/src/components/post-form.tsx
ui/src/components/post.tsx
ui/src/components/search.tsx
ui/src/components/setup.tsx
ui/src/components/user.tsx
ui/src/interfaces.ts
ui/src/utils.ts

index f58168992a25339d590707a8e8a99e826a5633a5..dddcbe724e079564c657895868eecb6689a744d6 100644 (file)
@@ -10,9 +10,9 @@ import {
 } from '../interfaces';
 import { Subscription } from 'rxjs';
 import {
+  wsJsonToRes,
   capitalizeFirstLetter,
   mentionDropdownFetchLimit,
-  msgOp,
   mdToHtml,
   randomStr,
   markdownHelpUrl,
@@ -311,10 +311,10 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
 
       this.userSub = WebSocketService.Instance.subject.subscribe(
         msg => {
-          let op: UserOperation = msgOp(msg);
-          if (op == UserOperation.Search) {
-            let res: SearchResponse = msg;
-            let users = res.users.map(u => {
+          let res = wsJsonToRes(msg);
+          if (res.op == UserOperation.Search) {
+            let data = res.data as SearchResponse;
+            let users = data.users.map(u => {
               return { key: u.name };
             });
             cb(users);
@@ -343,10 +343,10 @@ export class CommentForm extends Component<CommentFormProps, CommentFormState> {
 
       this.communitySub = WebSocketService.Instance.subject.subscribe(
         msg => {
-          let op: UserOperation = msgOp(msg);
-          if (op == UserOperation.Search) {
-            let res: SearchResponse = msg;
-            let communities = res.communities.map(u => {
+          let res = wsJsonToRes(msg);
+          if (res.op == UserOperation.Search) {
+            let data = res.data as SearchResponse;
+            let communities = data.communities.map(u => {
               return { key: u.name };
             });
             cb(communities);
index 683d495e2dc30c33729578869fe51aa036a103e3..ebcbc345ecd4671fb19149c18a44a274ddd75b2e 100644 (file)
@@ -10,6 +10,7 @@ import {
   FollowCommunityForm,
   ListCommunitiesForm,
   SortType,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService } from '../services';
 import { wsJsonToRes } from '../utils';
@@ -227,7 +228,7 @@ export class Communities extends Component<any, CommunitiesState> {
     WebSocketService.Instance.listCommunities(listCommunitiesForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 93f4d649f6866247838f73c62b53e89e7f6bae93..14cd8e4fb85a975a2cf93c4968f1f3ea8caf70ea 100644 (file)
@@ -239,7 +239,7 @@ export class CommunityForm extends Component<
     i.props.onCancel();
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     console.log(msg);
     if (res.error) {
index a48f468bfa95d2e843f708c569c069a4525e8b98..357fe260629525935b7d90827142efec0a3fabcd 100644 (file)
@@ -14,6 +14,7 @@ import {
   ListingType,
   GetPostsResponse,
   CreatePostLikeResponse,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { PostListings } from './post-listings';
@@ -251,7 +252,7 @@ export class Community extends Component<any, State> {
     WebSocketService.Instance.getPosts(getPostsForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index a46017e268324394734cc5920e023b3b38ffe28b..4aa9cebee44d899c1dde9f2662fcfc2b46965cff 100644 (file)
@@ -12,6 +12,7 @@ import {
   GetUserMentionsResponse,
   UserMentionResponse,
   CommentResponse,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { wsJsonToRes, fetchLimit } from '../utils';
@@ -296,7 +297,7 @@ export class Inbox extends Component<any, InboxState> {
     WebSocketService.Instance.markAllAsRead();
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 42d5e05fd80cc0f7dc98106a6909161d68809cd0..29482f4536969079ee86c2a1e717841ac331d020 100644 (file)
@@ -8,6 +8,7 @@ import {
   UserOperation,
   PasswordResetForm,
   GetSiteResponse,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { wsJsonToRes, validEmail } from '../utils';
@@ -292,7 +293,7 @@ export class Login extends Component<any, State> {
     WebSocketService.Instance.passwordReset(resetForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     if (res.error) {
       alert(i18n.t(res.error));
index 63519056b7a2e85bc71bcb74863bf8bd4108b058..1ccebc80a22d60f9a9d244ae45aa9b44e1200924 100644 (file)
@@ -17,6 +17,7 @@ import {
   CreatePostLikeResponse,
   Post,
   GetPostsForm,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { PostListings } from './post-listings';
@@ -561,7 +562,7 @@ export class Main extends Component<any, MainState> {
     WebSocketService.Instance.getPosts(getPostsForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 5a66744be5158beddaa6fcdce9b3ee8403d49c3b..b2011af5b925e18ae5613a813c787ca28536409d 100644 (file)
@@ -422,7 +422,7 @@ export class Modlog extends Component<any, ModlogState> {
     WebSocketService.Instance.getModlog(modlogForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 6bb4d99cfc5365f4cf3b76fa4e61bd081bb04fa7..fd2a7efadf10db0ba74f779b7d2900811472c2a7 100644 (file)
@@ -1,5 +1,5 @@
 import { Component } from 'inferno';
-import * as moment from 'moment';
+import moment from 'moment';
 import { getMomentLanguage } from '../utils';
 import { i18n } from '../i18next';
 
index 50bf19c72f25cb97bd57c56b0e516fabca842212..fac5421289795a2edabdfce94c29dd518004f421 100644 (file)
@@ -12,6 +12,7 @@ import {
   SortType,
   GetSiteResponse,
   Comment,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import {
   wsJsonToRes,
@@ -181,7 +182,7 @@ export class Navbar extends Component<any, NavbarState> {
     i.setState(i.state);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     if (res.error) {
       if (res.error == 'not_logged_in') {
index d25c0daff7d309fae84b4182b8e94988811d7c0c..97f108883be856aaaa942e34eb52792cbfa40ce4 100644 (file)
@@ -5,6 +5,7 @@ import {
   UserOperation,
   LoginResponse,
   PasswordChangeForm,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { wsJsonToRes, capitalizeFirstLetter } from '../utils';
@@ -133,7 +134,7 @@ export class PasswordChange extends Component<any, State> {
     WebSocketService.Instance.passwordChange(i.state.passwordChangeForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     if (msg.error) {
       alert(i18n.t(msg.error));
index a2541504f7ac98adb8efc6cf5049887dbbe5a5be..454a569fa94d62c209dc2a10d3dbb71d12f63825 100644 (file)
@@ -16,6 +16,7 @@ import {
   SearchType,
   SearchResponse,
   GetSiteResponse,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import {
@@ -457,7 +458,7 @@ export class PostForm extends Component<PostFormProps, PostFormState> {
       });
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     if (res.error) {
       alert(i18n.t(res.error));
index 866894a9d41cba9e6b26d99a314ce3e7cc0c3a9c..1e334b1d22aa96d48241c0e57b41235400150066 100644 (file)
@@ -26,6 +26,7 @@ import {
   SearchResponse,
   GetSiteResponse,
   GetCommunityResponse,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { wsJsonToRes, hotRank } from '../utils';
@@ -341,7 +342,7 @@ export class Post extends Component<any, PostState> {
     );
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index f310b80c892c119140a37699a0d4eea27f3526b8..ae0f8dbc180ca458690fa645e599f2b40e12a537 100644 (file)
@@ -12,6 +12,7 @@ import {
   SearchForm,
   SearchResponse,
   SearchType,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService } from '../services';
 import {
@@ -460,7 +461,7 @@ export class Search extends Component<any, SearchState> {
     );
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 5b0811117442ab22c0dfcfa4587c7a80c161ee9f..c4c9dc63a8e91622a8084b39abe07802fad3064a 100644 (file)
@@ -1,7 +1,12 @@
 import { Component, linkEvent } from 'inferno';
 import { Subscription } from 'rxjs';
 import { retryWhen, delay, take } from 'rxjs/operators';
-import { RegisterForm, LoginResponse, UserOperation } from '../interfaces';
+import {
+  RegisterForm,
+  LoginResponse,
+  UserOperation,
+  WebSocketJsonResponse,
+} from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import { wsJsonToRes } from '../utils';
 import { SiteForm } from './site-form';
@@ -181,7 +186,7 @@ export class Setup extends Component<any, State> {
     i.setState(i.state);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     let res = wsJsonToRes(msg);
     if (res.error) {
       alert(i18n.t(res.error));
index 8987fdfc7bee8443400404cc2bf5868a1d71286a..606d85ab495ce6f4b1c6d52df0760e60fd290a04 100644 (file)
@@ -18,6 +18,7 @@ import {
   BanUserResponse,
   AddAdminResponse,
   DeleteAccountForm,
+  WebSocketJsonResponse,
 } from '../interfaces';
 import { WebSocketService, UserService } from '../services';
 import {
@@ -968,7 +969,7 @@ export class User extends Component<any, UserState> {
     WebSocketService.Instance.deleteAccount(i.state.deleteAccountForm);
   }
 
-  parseMessage(msg: any) {
+  parseMessage(msg: WebSocketJsonResponse) {
     console.log(msg);
     let res = wsJsonToRes(msg);
     if (res.error) {
index 3af5be02c06a3ba01f3527dad7acb7653053f986..63c608563ff1f1a77558e7addbd5063d64290b2e 100644 (file)
@@ -726,3 +726,9 @@ export interface WebSocketResponse {
   data: ResponseType;
   error?: string;
 }
+
+export interface WebSocketJsonResponse {
+  op: string;
+  data: ResponseType;
+  error?: string;
+}
index 363de6639b6f3a5122d7f39c3b07de3edaa1fae3..90ef68995f284d69b96d84c699e815ab0b69c7a8 100644 (file)
@@ -16,6 +16,7 @@ import {
   ListingType,
   SearchType,
   WebSocketResponse,
+  WebSocketJsonResponse,
 } from './interfaces';
 import { UserService } from './services/UserService';
 import markdown_it from 'markdown-it';
@@ -39,7 +40,7 @@ export function randomStr() {
     .substr(2, 10);
 }
 
-export function wsJsonToRes(msg: any): WebSocketResponse {
+export function wsJsonToRes(msg: WebSocketJsonResponse): WebSocketResponse {
   let opStr: string = msg.op;
   return {
     op: UserOperation[opStr],