/** * sanarlink.service.ts * Copyright (C) 2021 Sanar * * @author Edgard Leal * @module sanarlink.service.ts */ import { HttpRequestService } from '../http.request.service'; import { SanarLinkResponse } from './SanarLinkResponse'; import { SanarLinkInput } from './TrialLinkInput'; const RESMED_URL = process.env.RESMED_URL || 'http://sanarmed.com/residenciamedica'; export class SanarLinkService { static instance: SanarLinkService; static getInstance(): SanarLinkService { if (!SanarLinkService.instance) { SanarLinkService.instance = new SanarLinkService(); } return SanarLinkService.instance; } private httpClient: HttpRequestService; constructor() { this.httpClient = new HttpRequestService( process.env.SANARLINK_URL, ); } public async upsertLink(input: SanarLinkInput): Promise { const url = `${RESMED_URL}/trial/${input.course_slug}?origin=tgt-${input.user_id}`; const response = await this.httpClient.get('/api.php', { params: { url, }, }); return response.url; } }