MED-103: create connected api job
MED-103: create job
This commit is contained in:
@@ -38,7 +38,9 @@ function getSpokenLanguages(spokenLanguages?: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default async function syncConnectedOnline() {
|
export default async function syncConnectedOnline() {
|
||||||
const isProd = process.env.NODE_ENV === 'production';
|
const isProd = !['test', 'localhost'].some((pathString) =>
|
||||||
|
process.env.NEXT_PUBLIC_SITE_URL?.includes(pathString),
|
||||||
|
);
|
||||||
|
|
||||||
const baseUrl = process.env.CONNECTED_ONLINE_URL;
|
const baseUrl = process.env.CONNECTED_ONLINE_URL;
|
||||||
|
|
||||||
@@ -84,34 +86,20 @@ export default async function syncConnectedOnline() {
|
|||||||
let serviceProviders;
|
let serviceProviders;
|
||||||
let jobTitleTranslations;
|
let jobTitleTranslations;
|
||||||
// Filter out "Dentas Demo OÜ" in prod or only sync "Dentas Demo OÜ" in any other environment
|
// Filter out "Dentas Demo OÜ" in prod or only sync "Dentas Demo OÜ" in any other environment
|
||||||
const isDemoClinic = (clinicId: number) => clinicId === 2;
|
const isDemoClinic = (clinicId: number) =>
|
||||||
if (isProd) {
|
isProd ? clinicId !== 2 : clinicId === 2;
|
||||||
clinics = responseData.Data.T_Lic.filter(({ ID }) => !isDemoClinic(ID));
|
clinics = responseData.Data.T_Lic.filter(({ ID }) => isDemoClinic(ID));
|
||||||
services = responseData.Data.T_Service.filter(
|
services = responseData.Data.T_Service.filter(({ ClinicID }) =>
|
||||||
({ ClinicID }) => !isDemoClinic(ClinicID),
|
isDemoClinic(ClinicID),
|
||||||
);
|
);
|
||||||
serviceProviders = responseData.Data.T_Doctor.filter(
|
serviceProviders = responseData.Data.T_Doctor.filter(({ ClinicID }) =>
|
||||||
({ ClinicID }) => !isDemoClinic(ClinicID),
|
isDemoClinic(ClinicID),
|
||||||
);
|
);
|
||||||
jobTitleTranslations = createTranslationMap(
|
jobTitleTranslations = createTranslationMap(
|
||||||
responseData.Data.P_JobTitleTranslations.filter(
|
responseData.Data.P_JobTitleTranslations.filter(({ ClinicID }) =>
|
||||||
({ ClinicID }) => !isDemoClinic(ClinicID),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
clinics = responseData.Data.T_Lic.filter(({ ID }) => isDemoClinic(ID));
|
|
||||||
services = responseData.Data.T_Service.filter(({ ClinicID }) =>
|
|
||||||
isDemoClinic(ClinicID),
|
isDemoClinic(ClinicID),
|
||||||
);
|
),
|
||||||
serviceProviders = responseData.Data.T_Doctor.filter(({ ClinicID }) =>
|
);
|
||||||
isDemoClinic(ClinicID),
|
|
||||||
);
|
|
||||||
jobTitleTranslations = createTranslationMap(
|
|
||||||
responseData.Data.P_JobTitleTranslations.filter(({ ClinicID }) =>
|
|
||||||
isDemoClinic(ClinicID),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const mappedClinics = clinics.map((clinic) => {
|
const mappedClinics = clinics.map((clinic) => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
select
|
||||||
|
cron.schedule(
|
||||||
|
'sync-connected-online-every-night', -- Unique job name
|
||||||
|
'0 1 * * *', -- Cron schedule: every night at 04:00 (GMT +3)
|
||||||
|
$$
|
||||||
|
select
|
||||||
|
net.http_post(
|
||||||
|
url := 'https://test.medreport.ee/api/job/sync-connected-online',
|
||||||
|
headers := jsonb_build_object(
|
||||||
|
'x-jobs-api-key', 'fd26ec26-70ed-11f0-9e95-431ac3b15a84'
|
||||||
|
)
|
||||||
|
) as request_id;
|
||||||
|
$$
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user