Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { createServer } from 'https';
import config from './config';
import { Routes } from './routes';
import { redisServer } from './servers/redis-server';
import { grpcServer } from './servers/grpc-server';

const serverOption = {
key: fs.readFileSync(config.tls.key, 'utf8'),
Expand All @@ -27,6 +28,7 @@ const httpsServer = createServer(serverOption, app);
httpsServer.listen(config.port, () => {
console.log(`Server running on port ${config.port}`);
});
await grpcServer.start();
} catch (error) {
console.error('Initialization error:', error);
process.exit(1);
Expand Down
2 changes: 1 addition & 1 deletion src/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const config = {
cert: process.env.HTTPS_CERT || certPath,
key: process.env.HTTPS_KEY || keyPath,
},
port: process.env.PORT || 8000,
port: process.env.PORT || 4000,
apiServerUrl: process.env.API_SERVER_URL,
apiServerApiKey: process.env.API_SERVER_API_KEY,
recordingServerUrl: process.env.RECORDING_SERVER_URL,
Expand Down
25 changes: 8 additions & 17 deletions src/protos/media-signaling.proto
Original file line number Diff line number Diff line change
@@ -1,25 +1,16 @@
syntax = "proto3";

package media_signaling_package;

// Service definition for bidirectional communication
service MediaSignaling {
// Health check
rpc HealthCheck(HealthCheckRequest) returns (HealthCheckResponse);
rpc SendMessage(stream SendMessageRequest) returns (stream SendMessageResponse) {};
}


// Health check messages
message HealthCheckRequest {
string service = 1;
message SendMessageRequest {
string type = 1;
map<string, string> args = 2;
}

message HealthCheckResponse {
enum ServingStatus {
UNKNOWN = 0;
SERVING = 1;
NOT_SERVING = 2;
SERVICE_UNKNOWN = 3;
}
ServingStatus status = 1;
message SendMessageResponse {
string type = 1;
map<string, string> args = 2;
}

40 changes: 10 additions & 30 deletions src/protos/media-signaling.ts
Original file line number Diff line number Diff line change
@@ -1,39 +1,19 @@
import type * as grpc from '@grpc/grpc-js';
import type { MessageTypeDefinition } from '@grpc/proto-loader';

import type {
HealthCheckRequest as _media_signaling_package_HealthCheckRequest,
HealthCheckRequest__Output as _media_signaling_package_HealthCheckRequest__Output,
} from './media_signaling_package/HealthCheckRequest';
import type {
HealthCheckResponse as _media_signaling_package_HealthCheckResponse,
HealthCheckResponse__Output as _media_signaling_package_HealthCheckResponse__Output,
} from './media_signaling_package/HealthCheckResponse';
import type {
MediaSignalingClient as _media_signaling_package_MediaSignalingClient,
MediaSignalingDefinition as _media_signaling_package_MediaSignalingDefinition,
} from './media_signaling_package/MediaSignaling';
import type { MediaSignalingClient as _media_signaling_package_MediaSignalingClient, MediaSignalingDefinition as _media_signaling_package_MediaSignalingDefinition } from './media_signaling_package/MediaSignaling';
import type { SendMessageRequest as _media_signaling_package_SendMessageRequest, SendMessageRequest__Output as _media_signaling_package_SendMessageRequest__Output } from './media_signaling_package/SendMessageRequest';
import type { SendMessageResponse as _media_signaling_package_SendMessageResponse, SendMessageResponse__Output as _media_signaling_package_SendMessageResponse__Output } from './media_signaling_package/SendMessageResponse';

type SubtypeConstructor<
Constructor extends new (...args: any) => any,
Subtype,
> = {
new (...args: ConstructorParameters<Constructor>): Subtype;
type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
new(...args: ConstructorParameters<Constructor>): Subtype;
};

export interface ProtoGrpcType {
media_signaling_package: {
HealthCheckRequest: MessageTypeDefinition<
_media_signaling_package_HealthCheckRequest,
_media_signaling_package_HealthCheckRequest__Output
>;
HealthCheckResponse: MessageTypeDefinition<
_media_signaling_package_HealthCheckResponse,
_media_signaling_package_HealthCheckResponse__Output
>;
MediaSignaling: SubtypeConstructor<
typeof grpc.Client,
_media_signaling_package_MediaSignalingClient
> & { service: _media_signaling_package_MediaSignalingDefinition };
};
MediaSignaling: SubtypeConstructor<typeof grpc.Client, _media_signaling_package_MediaSignalingClient> & { service: _media_signaling_package_MediaSignalingDefinition }
SendMessageRequest: MessageTypeDefinition<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageRequest__Output>
SendMessageResponse: MessageTypeDefinition<_media_signaling_package_SendMessageResponse, _media_signaling_package_SendMessageResponse__Output>
}
}

10 changes: 0 additions & 10 deletions src/protos/mediaSignalingPackage/HealthCheckRequest.ts

This file was deleted.

31 changes: 0 additions & 31 deletions src/protos/mediaSignalingPackage/HealthCheckResponse.ts

This file was deleted.

73 changes: 0 additions & 73 deletions src/protos/mediaSignalingPackage/MediaSignalingService.ts

This file was deleted.

10 changes: 0 additions & 10 deletions src/protos/media_signaling_package/HealthCheckRequest.ts

This file was deleted.

31 changes: 0 additions & 31 deletions src/protos/media_signaling_package/HealthCheckResponse.ts

This file was deleted.

75 changes: 13 additions & 62 deletions src/protos/media_signaling_package/MediaSignaling.ts
Original file line number Diff line number Diff line change
@@ -1,72 +1,23 @@
// Original file: src/protos/media-signaling.proto

import type * as grpc from '@grpc/grpc-js';
import type { MethodDefinition } from '@grpc/proto-loader';
import type {
HealthCheckRequest as _media_signaling_package_HealthCheckRequest,
HealthCheckRequest__Output as _media_signaling_package_HealthCheckRequest__Output,
} from './HealthCheckRequest';
import type {
HealthCheckResponse as _media_signaling_package_HealthCheckResponse,
HealthCheckResponse__Output as _media_signaling_package_HealthCheckResponse__Output,
} from './HealthCheckResponse';
import type * as grpc from '@grpc/grpc-js'
import type { MethodDefinition } from '@grpc/proto-loader'
import type { SendMessageRequest as _media_signaling_package_SendMessageRequest, SendMessageRequest__Output as _media_signaling_package_SendMessageRequest__Output } from '../media_signaling_package/SendMessageRequest';
import type { SendMessageResponse as _media_signaling_package_SendMessageResponse, SendMessageResponse__Output as _media_signaling_package_SendMessageResponse__Output } from '../media_signaling_package/SendMessageResponse';

export interface MediaSignalingClient extends grpc.Client {
HealthCheck(
argument: _media_signaling_package_HealthCheckRequest,
metadata: grpc.Metadata,
options: grpc.CallOptions,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
HealthCheck(
argument: _media_signaling_package_HealthCheckRequest,
metadata: grpc.Metadata,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
HealthCheck(
argument: _media_signaling_package_HealthCheckRequest,
options: grpc.CallOptions,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
HealthCheck(
argument: _media_signaling_package_HealthCheckRequest,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
healthCheck(
argument: _media_signaling_package_HealthCheckRequest,
metadata: grpc.Metadata,
options: grpc.CallOptions,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
healthCheck(
argument: _media_signaling_package_HealthCheckRequest,
metadata: grpc.Metadata,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
healthCheck(
argument: _media_signaling_package_HealthCheckRequest,
options: grpc.CallOptions,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
healthCheck(
argument: _media_signaling_package_HealthCheckRequest,
callback: grpc.requestCallback<_media_signaling_package_HealthCheckResponse__Output>
): grpc.ClientUnaryCall;
SendMessage(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageResponse__Output>;
SendMessage(options?: grpc.CallOptions): grpc.ClientDuplexStream<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageResponse__Output>;
sendMessage(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageResponse__Output>;
sendMessage(options?: grpc.CallOptions): grpc.ClientDuplexStream<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageResponse__Output>;

}

export interface MediaSignalingHandlers
extends grpc.UntypedServiceImplementation {
HealthCheck: grpc.handleUnaryCall<
_media_signaling_package_HealthCheckRequest__Output,
_media_signaling_package_HealthCheckResponse
>;
export interface MediaSignalingHandlers extends grpc.UntypedServiceImplementation {
SendMessage: grpc.handleBidiStreamingCall<_media_signaling_package_SendMessageRequest__Output, _media_signaling_package_SendMessageResponse>;

}

export interface MediaSignalingDefinition extends grpc.ServiceDefinition {
HealthCheck: MethodDefinition<
_media_signaling_package_HealthCheckRequest,
_media_signaling_package_HealthCheckResponse,
_media_signaling_package_HealthCheckRequest__Output,
_media_signaling_package_HealthCheckResponse__Output
>;
SendMessage: MethodDefinition<_media_signaling_package_SendMessageRequest, _media_signaling_package_SendMessageResponse, _media_signaling_package_SendMessageRequest__Output, _media_signaling_package_SendMessageResponse__Output>
}
12 changes: 12 additions & 0 deletions src/protos/media_signaling_package/SendMessageRequest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Original file: src/protos/media-signaling.proto


export interface SendMessageRequest {
'type'?: (string);
'args'?: ({[key: string]: string});
}

export interface SendMessageRequest__Output {
'type'?: (string);
'args'?: ({[key: string]: string});
}
12 changes: 12 additions & 0 deletions src/protos/media_signaling_package/SendMessageResponse.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Original file: src/protos/media-signaling.proto


export interface SendMessageResponse {
'type'?: (string);
'args'?: ({[key: string]: string});
}

export interface SendMessageResponse__Output {
'type'?: (string);
'args'?: ({[key: string]: string});
}
Loading