File tree 3 files changed +22
-11
lines changed
3 files changed +22
-11
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,9 @@ export const fetchInitialMessages = ({commit}) => {
10
10
}
11
11
12
12
export const fetchMessages = ( { commit} , lastFetchedMessageDate ) => {
13
- axios . get ( 'http://localhost:5000/fetchMessages?lastFetchedMessageDate=' + lastFetchedMessageDate )
13
+ axios . post ( 'http://localhost:5000/fetchMessages' , {
14
+ lastMessageDate : lastFetchedMessageDate
15
+ } )
14
16
. then ( response => {
15
17
commit ( 'FETCH_MESSAGES' , response . data )
16
18
} ) . catch ( err => {
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ const store = new Vuex.Store({
14
14
state . lastFetchedMessageDate = payload . lastFetchedMessageDate
15
15
} ,
16
16
FETCH_MESSAGES : ( state , payload ) => {
17
- state . messages = state . messages . concat ( payload )
17
+ state . messages = state . messages . concat ( payload . messages )
18
18
state . lastFetchedMessageDate = minBy ( state . messages , 'date' ) . date
19
19
}
20
20
} ,
Original file line number Diff line number Diff line change @@ -17,9 +17,6 @@ public IActionResult Index()
17
17
18
18
[ Route ( "initialMessages" ) ]
19
19
public JsonResult initialMessages ( ) {
20
- //Added to simulate initial loading from remote server
21
- Thread . Sleep ( 2000 ) ;
22
-
23
20
var initialMessages = FakeMessageStore . FakeMessages
24
21
. OrderByDescending ( m => m . Date )
25
22
. Take ( 2 ) ;
@@ -32,13 +29,25 @@ public JsonResult initialMessages(){
32
29
return Json ( initialValues ) ;
33
30
}
34
31
32
+ [ HttpPost ]
35
33
[ Route ( "fetchMessages" ) ]
36
- public JsonResult FetchMessages ( DateTime lastFetchedMessageDate ) {
37
- return Json ( Message . CreateMessage (
38
- "New Message" ,
39
- DateTime . Now . Millisecond . ToString ( ) ,
40
- DateTime . Now
41
- ) ) ;
34
+ public JsonResult FetchMessages ( [ FromBody ] FetchMessageRequest request ) {
35
+ var messages = FakeMessageStore . FakeMessages
36
+ . OrderByDescending ( m => m . Date )
37
+ . Where ( p => p . Date < request . lastMessageDate ) ;
38
+
39
+ if ( messages . Any ( ) ) {
40
+ var newMessages = messages . Take ( 2 ) ;
41
+ return Json ( new ClientState ( )
42
+ {
43
+ Messages = newMessages ,
44
+ LastFetchedMessageDate = newMessages . Last ( ) . Date
45
+ } ) ;
46
+ }
47
+ return Json ( null ) ;
42
48
}
43
49
}
50
+ public class FetchMessageRequest {
51
+ public DateTime lastMessageDate { get ; set ; }
52
+ }
44
53
}
You can’t perform that action at this time.
0 commit comments