Angus içerisinde örnek kullanım:
(() => {
//dosyamızı oluşturmak için datayı çekiyoruz. gelen data csv formatında
const respSubscribe = this.api
.func({
Object: 'FN_REVIEWPRO_CHECKOUTGUEST_CSV',
Parameters: {
STARTDATE: this.filterPanels.first.panelService.formGroup.controls
.STARTDATE.value,
ENDDATE: this.filterPanels.first.panelService.formGroup.controls.ENDDATE
.value,
},
})
.pipe(
rxjs.map((resp) => {
if (!resp?.[0]?.[0]?.DATA) {
return null;
}
//dosya ismini oluşturuyoruz
let fname = this.filterPanels.first.panelService.formGroup.controls
.STARTDATE.value;
let fileName = 'GUESTS_' + fname + '.csv';
return {
fileName: fileName,
data: resp[0][0].DATA,
};
}),
//oluşturalan dosyayı sunucuya yüklüyoruz.
rxjs.switchMap((file) => {
return angus.api.http
.post(
'https://fts.elektraweb.com/' +
file.fileName +
`?hotelId=${angus.api.tenant.HOTELID}
&loginToken=${angus.api.loginToken}
`,
file.data,
{}
)
.pipe(rxjs.timeout(120000));
}),
rxjs.tap((res) => {
// Eğer başarılıysa
if (res?.status == 'OK') {
let successMsg = angus.languageService.dynamicTranslator.translate(
'SFTP sending success'
);
angus.serviceWorkerService.snackBar.open(successMsg, '(x)', {
duration: 10e3,
});
}
})
)
.subscribe();
})();