UNPKG

@hpcc-js/comms

Version:
95 lines (76 loc) 2.3 kB
import { IConnection, IOptions } from "../connection.ts"; import { ESPConnection } from "../espConnection.ts"; /* Response structures generated via: * http://localhost:8010/ws_codesign/?ver_=1.1&respjson_ * http://json2ts.com/ */ export namespace WsCodesign { export interface ListUserIDsRequest { } export interface WsCodesignPingRequest { } export interface SignRequest { SigningMethod?: string; UserID: string; KeyPass: string; Text: string; } export interface VerifyRequest { Text: string; } export interface Exception { Code: string; Audience: string; Source: string; Message: string; } export interface Exceptions { Source: string; Exception: Exception[]; } export interface UserIDs { Item: string[]; } export interface ListUserIDsResponse { Exceptions: Exceptions; UserIDs: UserIDs; } export interface WsCodesignPingResponse { } export interface SignResponse { Exceptions: Exceptions; RetCode: number; ErrMsg: string; SignedText: string; } export interface VerifyResponse { Exceptions: Exceptions; RetCode: number; ErrMsg: string; IsVerified: boolean; SignedBy: string; } } export class CodesignService { private _connection: ESPConnection; constructor(optsConnection: IOptions | IConnection) { this._connection = new ESPConnection(optsConnection, "ws_codesign", "1.1"); } connectionOptions(): IOptions { return this._connection.opts(); } ListUserIDs(request: WsCodesign.ListUserIDsRequest): Promise<string[]> { return this._connection.send("ListUserIDs", request).then((response: WsCodesign.ListUserIDsResponse) => { return response.UserIDs.Item; }).catch(e => { return []; }); } Sign(request: WsCodesign.SignRequest): Promise<WsCodesign.SignResponse> { return this._connection.send("Sign", { SigningMethod: "gpg", ...request }); } Verify(request: WsCodesign.VerifyRequest): Promise<WsCodesign.VerifyResponse> { return this._connection.send("Verify", request); } }