diff --git a/REMEMBER.txt b/REMEMBER.txt index d64fe04..9eeb1d1 100644 --- a/REMEMBER.txt +++ b/REMEMBER.txt @@ -89,6 +89,7 @@ ionic generate service waiting-interest ionic generate service socket-tools +ionic generate service media-connect ionic generate component tracking ionic generate component myjob-offers diff --git a/package.json b/package.json index fa2b791..12f92a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "WrenchBoard", - "version": "46.2.4", + "version": "46.2.5", "author": "WrenchBaoard LLC", "homepage": "https://www.wrenchboard.com/", "scripts": { @@ -35,9 +35,11 @@ "@capacitor/keyboard": "^5.0.0", "@capacitor/preferences": "^5.0.6", "@capacitor/status-bar": "^5.0.0", + "@capawesome/capacitor-file-picker": "^5.3.0", "@codetrix-studio/capacitor-google-auth": "^3.3.2", "@ionic/angular": "^6.1.9", "angularx-qrcode": "^14.0.0", + "axios": "^1.5.1", "bn-ng-idle": "^2.0.5", "flutterwave-angular-v3": "^1.2.1", "jwt-decode": "^3.1.2", diff --git a/src/app/pages/jobmessage/jobmessage.page.html b/src/app/pages/jobmessage/jobmessage.page.html index 83d5cce..9d11b9c 100644 --- a/src/app/pages/jobmessage/jobmessage.page.html +++ b/src/app/pages/jobmessage/jobmessage.page.html @@ -11,8 +11,6 @@ - -
@@ -31,78 +29,9 @@
- - - - - {{item.msg_from}} - - {{item.msg_date}} - - {{item.msg}} - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - diff --git a/src/app/pages/jobreview/jobreview.page.html b/src/app/pages/jobreview/jobreview.page.html index fea5a0e..2f8445d 100644 --- a/src/app/pages/jobreview/jobreview.page.html +++ b/src/app/pages/jobreview/jobreview.page.html @@ -100,10 +100,10 @@ - + - + @@ -124,19 +124,7 @@ - - - - - - - - - - - - diff --git a/src/app/pages/jobreview/jobreview.page.ts b/src/app/pages/jobreview/jobreview.page.ts index 4d858da..6d6caab 100644 --- a/src/app/pages/jobreview/jobreview.page.ts +++ b/src/app/pages/jobreview/jobreview.page.ts @@ -4,6 +4,8 @@ import {Router} from "@angular/router"; import {SessionDataProviderService} from "../../store/session-data-provider.service"; import {WrenchService} from "../../services/wrench.service"; import {Camera, CameraResultType, CameraSource} from "@capacitor/camera"; +import { FilePicker } from '@capawesome/capacitor-file-picker'; +import {MediaConnectService} from "../../services/media-connect.service"; @Component({ selector: 'app-jobreview', @@ -23,7 +25,8 @@ export class JobreviewPage implements OnInit { public sessionDataProviderService: SessionDataProviderService, private wrenchService: WrenchService, private alertController:AlertController, - private loadingCtrl: LoadingController + private loadingCtrl: LoadingController, + private mediaConnectService: MediaConnectService ) { this.jobData = this.router.getCurrentNavigation().extras.state; this.item_banner = this.jobData.banner; @@ -208,6 +211,7 @@ export class JobreviewPage implements OnInit { uploadResult:any; async startCamera(cameraMode){ + const image = await Camera.getPhoto({ quality: 50, width : 600, @@ -216,8 +220,18 @@ export class JobreviewPage implements OnInit { resultType: CameraResultType.Base64, source: (cameraMode == 100 ) ? CameraSource.Camera : CameraSource.Prompt // Camera, Photos or Prompt! }); + // const image_test = await Camera.getPhoto({ + // quality: 50, + // width : 600, + // height : 300, + // allowEditing: false, + // resultType: CameraResultType.Uri, + // source: (cameraMode == 100 ) ? CameraSource.Camera : CameraSource.Prompt // Camera, Photos or Prompt! + // }); if (image) { + debugger; + const loading = await this.loadingCtrl.create({ message: 'Uploading updates', duration: 5000, @@ -253,4 +267,59 @@ export class JobreviewPage implements OnInit { // console.log( this.uploadData); } } + + uploadFormData: { + action:number, + member_id: number, + uid: string, + contract: string, + sessionid: string, + msg_type:'FILE', + file: any + }; + + async pickFiles (fileMode) { + const result = await FilePicker.pickFiles({ + types: ['image/png','image/jpeg','video/mp4'], + multiple: false, + readData:true + }); + + + if(result){ + console.log(result); + // debugger; + this.uploadFormData={ + action:14010, + member_id: this.sessionDataProviderService.member_id, + uid: this.sessionDataProviderService.member_uid, + contract: this.jobData.contract, + sessionid: this.sessionDataProviderService.session , + msg_type:'FILE', + file: result.files[0] + }; + + //result.files[0] + + const formData = new FormData(); + formData.append('file', this.uploadFormData.file ) + formData.append('uid', this.sessionDataProviderService.member_uid) + formData.append('sessionid', this.sessionDataProviderService.session) + formData.append('member_id', this.sessionDataProviderService.member_id.toString()) + formData.append('action', '14010') + formData.append('msg_type', 'FILE') + formData.append('contract', this.jobData.contract) + + this.mediaConnectService.uploadtaskFile(formData).subscribe( + uploadResult => { + this.uploadResult = uploadResult; + console.log("this.mediaConnectService.uploadFile RETURN DATA->", formData); + const event = new Event("app-taskactivities-refresh"); + // Dispatch the event. + dispatchEvent(event); + } + ); + } + } + } diff --git a/src/app/services/media-connect.service.spec.ts b/src/app/services/media-connect.service.spec.ts new file mode 100644 index 0000000..9c1b31f --- /dev/null +++ b/src/app/services/media-connect.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { MediaConnectService } from './media-connect.service'; + +describe('MediaConnectService', () => { + let service: MediaConnectService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(MediaConnectService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/media-connect.service.ts b/src/app/services/media-connect.service.ts new file mode 100644 index 0000000..0232c75 --- /dev/null +++ b/src/app/services/media-connect.service.ts @@ -0,0 +1,58 @@ +import { Injectable } from '@angular/core'; +import {HttpClient, HttpHeaders} from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { environment } from 'src/environments/environment'; +import { SessionDataProviderService } from '../store/session-data-provider.service'; +import {Router} from "@angular/router"; +import axios from "axios"; + + +@Injectable({ + providedIn: 'root' +}) +export class MediaConnectService { + + apiKey = '99dfe35fcb7de1ee'; + url; + + constructor(private http: HttpClient, + private router: Router, + public sessionDataProviderService :SessionDataProviderService) { + // this is test + this.url = 'https://dev-media.wrenchboard.com'; + } + + sendPostData(reqPath:string, reqData): Observable { + let headers = new HttpHeaders({ + 'Content-Type': 'application/json', + /* 'Authorization': this.basic */}); + let options = { headers: headers }; + + headers.append('Content-Type','multipart/form-data'); + + const apiReturn = this.http.post( + `${environment.baseMediaUrl}/${reqPath}`,reqData, { headers: headers} + ); + + // const apiReturn = this.http.post( + // `${environment.baseMediaUrl}/${reqPath}`,reqData + // ); + + console.log(reqData); + + axios.post('https://dev-media.wrenchboard.com/upload/contract',reqData ) + .then( res => {}) + .catch(er => console.log(er)) + + return apiReturn; + } + uploadtaskFile(formData){ + // debugger; + console.log("formData == > ", formData); + const pathUpload = "upload/contract"; + return this.sendPostData(pathUpload, formData); + // + } + + +} diff --git a/src/app/services/wrench.service.ts b/src/app/services/wrench.service.ts index 4a95f36..dccbc6d 100644 --- a/src/app/services/wrench.service.ts +++ b/src/app/services/wrench.service.ts @@ -384,133 +384,4 @@ export class WrenchService { uploadFile(uploadData){ return this.getPostData("/uploads", uploadData); } - - /* - - - - - registerUser(newUserData) { - // no session needed - will start the session - return this.http.post(this.url + '/createmobileuser', newUserData) - .map(res => res.json()); - } - completeRegisterUser(newUserData) { - // no session needed - will start the session - return this.http.post(this.url + '/completemobileuser', newUserData) - .map(res => res.json()); - } - - startResetPassword(UserData) { - // no session needed - will start the session - return this.http.post(this.url + '/startresetpasword', UserData) - .map(res => res.json()); - } - - getStartData() { - return this.http.post(this.url + '/startjoblist', { limit: '10', page: '1' }) - .map(res => res.json()); - } - - getJobsData() { - return this.http.post(this.url + '/getjobsdata', { limit: '20', page: '1' }) - .map(res => res.json()); - } - - getPendingJobsData(userData: any) { - return this.http.post(this.url + '/getpendingjobs', userData) - .map(res => res.json()); - } - - getMessages(UserData) { - console.log("getMessages Called"); - return this.http.post(this.url + '/message', UserData) - .map(res => res.json()); - } - //JOBS - getActiveJobData(UserData) { - console.log("getActiveJobData Called"); - return this.http.post(this.url + '/activejoblist', UserData) - .map(res => res.json()); - } - - getMyOffersJobData(UserData) { - console.log("getMyOffersJobData Called"); - return this.http.post(this.url + '/offerslist', UserData) - .map(res => res.json()); - } - //========================================= - getPaymentHx(UserData) { - console.log("getPaymentHx Called"); - return this.http.post(this.url + '/paymenthx', UserData) - .map(res => res.json()); - } - - getOffersJobDataff() { - console.log("getOffersJobData Called"); - return this.http.post(this.url + '/offerslist', { limit: '10', page: '1', sessionid: 'ADNGHGHGHGHGHGH', member_id: 1 }) - .map(res => res.json()); - } - - getDashData(memberID, sessionID) { - // session required here - return this.http.post(this.url + '/dashdata', { sessionid: sessionID, member_id: memberID }) - .map(res => res.json()); - } - getUserAccount(memberID, sessionID) { - // account - return this.http.post(this.url + '/account', { sessionid: sessionID, member_id: memberID }) - .map(res => res.json()); - } - getProfile(memberID, sessionID) { - //loadprofile - return this.http.post(this.url + '/loadprofile', { sessionid: sessionID, member_id: memberID }) - .map(res => res.json()); - } - - getUserBankList(UserData) { - console.log("getActiveJobData Called"); - return this.http.post(this.url + '/mybanklist', UserData) - .map(res => res.json()); - } - userSendMoneyt(SendMoneydata) { - console.log("userSendMoneyt Called"); - return this.http.post(this.url + '/sendmoney', SendMoneydata) - .map(res => res.json()); - } - - sendMoneyFee(SendMoneydata) { - console.log("sendMoneyFee Called"); - return this.http.post(this.url + '/sendmoneyfee', SendMoneydata) - .map(res => res.json()); - } - sendJobInterest(SendJobInterestData) { - console.log("sendJobInterest Called"); - return this.http.post(this.url + '/sendinterest', SendJobInterestData) - .map(res => res.json()); - } - sendOfferInterest(SendJobInterestData) { - console.log("sendOfferInterest Called"); - return this.http.post(this.url + '/sendofferinterest', SendJobInterestData) - .map(res => res.json()); - } - - sendJobInterestMessage(sendJobInterestMessage) { - console.log("sendJobInterestMessage Called"); - return this.http.post(this.url + '/sendinterestmessage', sendJobInterestMessage) - .map(res => res.json()); - } - - getTaskMessage(taskData: any) { - console.log("getTaskMessage Called"); - return this.http.post(this.url + '/taskmessage', taskData) - .map(res => res.json()); - } - - sendTaskMessage(taskMessage: any) { - console.log("sendTaskMessage Called"); - return this.http.post(this.url + '/sendtaskmessage', taskMessage) - .map(res => res.json()); - } - */ }