81 lines
2.0 KiB
TypeScript
Raw Normal View History

2019-09-18 15:02:21 +09:00
import { Injectable } from '@angular/core';
2019-09-23 14:38:22 +09:00
import { Observable } from 'rxjs';
2019-09-23 15:17:48 +09:00
import { map, take } from 'rxjs/operators';
2019-09-23 14:38:22 +09:00
import { ProtocolService } from '@ucap-webmessenger/protocol';
import {
SVC_TYPE_ROOM,
SSVC_TYPE_ROOM_OPEN_REQ,
SSVC_TYPE_ROOM_OPEN2_REQ,
SSVC_TYPE_ROOM_OPEN3_REQ,
SSVC_TYPE_ROOM_OPEN4_REQ
} from '../types/service';
import {
RoomOpenRequest,
encodeRoomOpen,
decodeRoomOpen,
RoomOpenResponse
} from '../models/room-open';
import {
RoomOpen2Request,
RoomOpen2Response,
decodeRoomOpen2,
encodeRoomOpen2
} from '../models/room-open2';
import {
RoomOpen3Request,
RoomOpen3Response,
encodeRoomOpen3,
decodeRoomOpen3
} from '../models/room-open3';
import {
RoomOpen4Request,
RoomOpen4Response,
encodeRoomOpen4,
decodeRoomOpen4
} from '../models/room-open4';
2019-09-18 15:02:21 +09:00
@Injectable({
providedIn: 'root'
})
export class RoomProtocolService {
2019-09-23 14:38:22 +09:00
constructor(private protocolService: ProtocolService) {}
public roomOpen(req: RoomOpenRequest): Observable<RoomOpenResponse> {
return this.protocolService
.call(SVC_TYPE_ROOM, SSVC_TYPE_ROOM_OPEN_REQ, ...encodeRoomOpen(req))
2019-09-23 15:17:48 +09:00
.pipe(
take(1),
map(res => decodeRoomOpen(res))
);
2019-09-23 14:38:22 +09:00
}
public roomOpen2(req: RoomOpen2Request): Observable<RoomOpen2Response> {
return this.protocolService
.call(SVC_TYPE_ROOM, SSVC_TYPE_ROOM_OPEN2_REQ, ...encodeRoomOpen2(req))
2019-09-23 15:17:48 +09:00
.pipe(
take(1),
map(res => decodeRoomOpen2(res))
);
2019-09-23 14:38:22 +09:00
}
public roomOpen3(req: RoomOpen3Request): Observable<RoomOpen3Response> {
return this.protocolService
.call(SVC_TYPE_ROOM, SSVC_TYPE_ROOM_OPEN3_REQ, ...encodeRoomOpen3(req))
2019-09-23 15:17:48 +09:00
.pipe(
take(1),
map(res => decodeRoomOpen3(res))
);
2019-09-23 14:38:22 +09:00
}
public roomOpen4(req: RoomOpen4Request): Observable<RoomOpen4Response> {
return this.protocolService
.call(SVC_TYPE_ROOM, SSVC_TYPE_ROOM_OPEN4_REQ, ...encodeRoomOpen4(req))
2019-09-23 15:17:48 +09:00
.pipe(
take(1),
map(res => decodeRoomOpen4(res))
);
2019-09-23 14:38:22 +09:00
}
2019-09-18 15:02:21 +09:00
}