Files
MOBIS_PUBLIC/src/app/mobisplugins/ispex/ispex.page.ts
2023-02-07 15:35:40 +01:00

101 lines
2.6 KiB
TypeScript

/* eslint-disable @typescript-eslint/naming-convention */
import * as Parse from 'parse';
import { ENV } from '../../app.constant';
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { ModalController } from '@ionic/angular';
import { PreviewPage } from './preview/preview.page';
import { TranslateService } from '@ngx-translate/core';
import { AuthService } from '../../services/auth.service';
import { Auth, user } from '@angular/fire/auth';
import { Storage } from '@ionic/storage-angular';
import { Router } from '@angular/router';
Parse.initialize(ENV.parseAppId, ENV.parseJSKey);
(Parse as any).serverURL = ENV.parseServerUrl; // use your server url
let uploadSuccess = false;
@Component({
selector: 'app-ispex',
templateUrl: './ispex.page.html',
styleUrls: ['./ispex.page.scss'],
})
export class IspexPage implements OnInit {
uploadSuccess = false; // Add this line
image = '';
user = null;
language = '';
constructor(
private modal: ModalController,
private translateService: TranslateService,
private authService: AuthService,
private afAuth: Auth,
private storage: Storage,
private router: Router
) {
user(this.afAuth).subscribe((response) => {
//fill the user to verify if someone is logged in
this.user = response;
console.log(this.user.uid);
});
}
ngOnInit() {}
async openCamera() {
const modal = await this.modal.create({
component: PreviewPage,
cssClass: 'fullscreen',
animated: true,
});
modal.onDidDismiss().then((data) => {
if (data !== null) {
this.image = data.data;
this.uploadSuccess = true;
// create parse class
const myspex_data_store = Parse.Object.extend('myspex_data');
// create new instance of parse class
const myspex_data = new myspex_data_store();
// set value for parse clas
const file = new Parse.File('image.jpg', { base64: this.image });
file.save().then(
(file) => {
console.log(file);
},
(error) => {
console.log(error);
}
);
myspex_data.set('user_uid', this.user.uid);
myspex_data.set('name', this.user.displayName);
myspex_data.set('email', this.user.email);
myspex_data.set('image', file);
myspex_data.save().then(
(result: any) => {
console.log(result);
},
(error: any) => {
console.log(error);
}
);
} else {
console.log('no data');
}
});
return await modal.present();
}
// navigate to the classify page
}