import AmbientConfig from "./AmbientConfig";
export class socketConfig {
  wssBaseURL: string;

  // onStartOfRecording?: (isRecording: boolean) => void;
  // onStopOfRecording?: (isRecording: boolean) => void;
  onError?: (errorMessage: string) => void;
  onMetaEvent?: (jobId: string) => void;

  constructor(private _config: AmbientConfig) {
    this.wssBaseURL = `wss://${_config.server}/ambient/v1/stream-job`;
  }

  public prepareWSSURL(
    _filetype: string,
    _noteparams: string,
    jobName?: string,
    jobId?: string
  ): string {
    let WSSURL = this.wssBaseURL;
    WSSURL += `?filetype=${_filetype}`;
    WSSURL += `&noteparams=${_noteparams}`;
    WSSURL += `&subscriptioncode=${this._config.subscriptionCode}`;
    WSSURL += `&accesskey=${this._config.accessKey}`;
    WSSURL += `&usertag=${this._config.userTag}`;
    if (jobName && jobName !== "") {
      WSSURL += `&filename=${jobName}`;
    }
    if (jobId && jobId !== "") {
      WSSURL += `&jobid=${jobId}`;
    }
    return WSSURL;
  }
}
