26 Commits

Author SHA1 Message Date
cc2f5f58e2 Add ability to specify jsonrpc context as extra argument
In this case the interface does not define context, but the implementing
service may use it as an optional argument:

  interface IService {
    add(a: number, b: number): number
  }

  class Service implements IService {
    add(a: number, b: number, ctx?: IContext): number {
      return a + b + ctx!.userId
    }
  }
2019-08-06 20:10:38 +07:00
86e90d28bb Make express jsonrpc use a builder pattern 2019-08-05 21:07:46 +07:00
f3f6166aab Send 405 when GET request is not allowed 2019-08-05 21:07:46 +07:00
e2f6c5f798 Encode JSON-RPC GET request params as JSON 2019-08-05 21:07:46 +07:00
81225b77a8 Implement GET method for idempotent methods 2019-08-05 21:07:46 +07:00
7edbe354a9 Remove TODO from jsonrpc 2019-08-05 21:07:46 +07:00
15d54639ab Move ILogger to @rondo/common 2019-08-04 13:15:33 +07:00
aeb208162f Refactor express#handleError 2019-08-04 13:02:01 +07:00
e6a98bb450 Add ability to call idempotent methods via GET request 2019-08-04 10:19:42 +07:00
c273c1b914 Extract jsonrpc functionality into a separate file 2019-08-04 10:08:06 +07:00
1cb41e4b4a Move types to types.ts, rename some types 2019-08-02 08:27:53 +07:00
9aba9000b7 Rename createReduxClient to createActions 2019-08-01 20:01:30 +07:00
daf32de431 Add test for missing method 2019-08-01 19:55:30 +07:00
2b0ccfb984 Update createReducer API for jsonrpc 2019-08-01 19:40:26 +07:00
4faedc23ce WIP: Add ability to define reducer handlers 2019-08-01 19:03:10 +07:00
82ec4c321a Add & test createReducer 2019-08-01 16:35:40 +07:00
dca9691d7d Add ability to easily create redux middleware for async actions 2019-08-01 15:51:59 +07:00
fa27dda530 Add ability to infer jsonrpc redux action types 2019-08-01 13:57:51 +07:00
166981fe3b Move jsonrpc back to single package 2019-08-01 12:26:23 +07:00
f500d7f66c Split jsonrpc into smaller packages 2019-08-01 09:17:38 +07:00
dde96b41d3 Add packages/scripts 2019-07-31 09:53:45 +08:00
3787315905 Add jsonrpc local, remote and supertest clients 2019-07-31 08:44:50 +08:00
cfc6933e78 jsonrpc: Add ability to specify context via high-order functions 2019-07-31 01:10:27 +08:00
401e5b481a Set status to 204 for notifications 2019-07-31 00:53:57 +08:00
e16edd5655 Add 100% test coverage for jsonrpc server 2019-07-31 00:19:46 +08:00
faf76ec76a Add jsonrpc middleware 2019-07-24 23:59:02 +08:00