Skip to content

Commit 31450b3

Browse files
committed
feat(nestjs-json-rpc,nestjs-json-rpc-sdk): add ws transport
Add WebSocket transport for backend Add Websocket transport for sdk,
1 parent 1532cf9 commit 31450b3

39 files changed

+842
-86
lines changed

apps/json-api-front/proxy.conf.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
"/api": {
33
"target": "http://localhost:3000",
44
"secure": false
5+
},
6+
"/rpc": {
7+
"target": "http://localhost:3000",
8+
"secure": false,
9+
"ws": true
510
}
611
}

apps/json-api-front/src/app/app.component.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,11 @@ import {
88
Rpc,
99
} from '@klerick/nestjs-json-rpc-sdk/json-rpc-sdk.module';
1010

11+
import { RpcService as IRpcService } from '@nestjs-json-api/type-for-rpc';
1112
import { switchMap } from 'rxjs';
1213

13-
interface TestRpc {
14-
test(a: number, b: number): Promise<number>;
15-
test2(firstArg: string, secondArg: number): Promise<string>;
16-
}
17-
1814
type RpcMap = {
19-
TestRpc: TestRpc;
15+
RpcService: IRpcService;
2016
};
2117

2218
@Component({
@@ -33,9 +29,15 @@ export class AppComponent implements OnInit {
3329
private rpcBatch = inject(RPC_BATCH);
3430

3531
ngOnInit(): void {
36-
const rpc1 = this.rpc.TestRpc.test(1, 2);
37-
const rpc2 = this.rpc.TestRpc.test2('string', 2);
32+
const rpc1 = this.rpc.RpcService.someMethode(1);
33+
34+
const rpc2 = this.rpc.RpcService.methodeWithObjectParams({
35+
a: 1,
36+
b: 1,
37+
});
38+
3839
this.rpcBatch(rpc2, rpc1).subscribe(([r2, r1]) => console.log(r1, r2));
40+
3941
this.JsonApiSdkService.getAll(class Users {}, {
4042
page: {
4143
size: 2,
@@ -74,9 +76,9 @@ export class AppComponent implements OnInit {
7476

7577
const tmpUsers = new Users();
7678
tmpUsers.id = 1;
77-
// this.JsonApiSdkService.getRelationships(tmpUsers, 'addresses').subscribe(
78-
// (r) => console.log(r)
79-
// );
79+
this.JsonApiSdkService.getRelationships(tmpUsers, 'addresses').subscribe(
80+
(r) => console.log(r)
81+
);
8082

8183
const roles = new Roles();
8284
roles.id = 10000;

apps/json-api-front/src/app/app.config.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
JsonRpcAngular,
55
TransportType,
66
} from '@klerick/nestjs-json-rpc-sdk/json-rpc-sdk.module';
7+
import io from 'socket.io-client';
78

89
export const appConfig: ApplicationConfig = {
910
providers: [
@@ -17,9 +18,12 @@ export const appConfig: ApplicationConfig = {
1718
),
1819
importProvidersFrom(
1920
JsonRpcAngular.forRoot({
20-
transport: TransportType.HTTP,
21+
transport: TransportType.WS,
2122
rpcPath: 'rpc',
22-
rpcHost: 'http://localhost:4200',
23+
rpcHost: 'ws://localhost:4200',
24+
useWsNativeSocket: true,
25+
// useWsNativeSocket: false,
26+
// webSocketCtor: io('http://localhost:3000', { path: '/rpc' }),
2327
})
2428
),
2529
],

apps/json-api-server-e2e/src/json-api/json-api-sdk/atomic-sdk.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { FilterOperand, JsonSdkPromise } from 'json-api-nestjs-sdk';
33
import { Addresses, CommentKind, Comments, Roles, Users } from 'database';
44
import { faker } from '@faker-js/faker';
55
import { getUser } from '../utils/data-utils';
6-
import { run, creatSdk } from '../utils/run-ppplication';
6+
import { run, creatSdk } from '../utils/run-application';
77

88
let app: INestApplication;
99

apps/json-api-server-e2e/src/json-api/json-api-sdk/check-common-decorator.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { FilterOperand, JsonSdkPromise } from 'json-api-nestjs-sdk';
33
import { AxiosError } from 'axios';
44
import { Users } from 'database';
55

6-
import { run, creatSdk } from '../utils/run-ppplication';
6+
import { run, creatSdk } from '../utils/run-application';
77

88
let app: INestApplication;
99

apps/json-api-server-e2e/src/json-api/json-api-sdk/check-othe-call.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { BookList, Users } from 'database';
44
import { AxiosError } from 'axios';
55
import { faker } from '@faker-js/faker';
66
import { lastValueFrom } from 'rxjs';
7-
import { creatSdk, run, axiosAdapter } from '../utils/run-ppplication';
7+
import { creatSdk, run, axiosAdapter } from '../utils/run-application';
88

99
let app: INestApplication;
1010

apps/json-api-server-e2e/src/json-api/json-api-sdk/get-method.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { faker } from '@faker-js/faker';
44

55
import { FilterOperand, JsonSdkPromise } from 'json-api-nestjs-sdk';
66
import { getUser } from '../utils/data-utils';
7-
import { creatSdk, run } from '../utils/run-ppplication';
7+
import { creatSdk, run } from '../utils/run-application';
88

99
let app: INestApplication;
1010

apps/json-api-server-e2e/src/json-api/json-api-sdk/patch-methode.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Addresses, CommentKind, Comments, Users } from 'database';
33
import { faker } from '@faker-js/faker';
44
import { JsonSdkPromise } from 'json-api-nestjs-sdk';
55

6-
import { creatSdk, run } from '../utils/run-ppplication';
6+
import { creatSdk, run } from '../utils/run-application';
77

88
let app: INestApplication;
99

apps/json-api-server-e2e/src/json-api/json-api-sdk/post-method.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Addresses, BookList, CommentKind, Comments, Users } from 'database';
22
import { faker } from '@faker-js/faker';
33
import { JsonSdkPromise } from 'json-api-nestjs-sdk';
44

5-
import { creatSdk, run } from '../utils/run-ppplication';
5+
import { creatSdk, run } from '../utils/run-application';
66
import { INestApplication } from '@nestjs/common';
77
let app: INestApplication;
88

apps/json-api-server-e2e/src/json-api/json-rpc/run-json-rpc.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
RpcError,
66
} from '@klerick/nestjs-json-rpc-sdk';
77

8-
import { creatRpcSdk, MapperRpc, run } from '../utils/run-ppplication';
8+
import { creatRpcSdk, MapperRpc, run } from '../utils/run-application';
99

1010
let app: INestApplication;
1111

0 commit comments

Comments
 (0)