Get Token 2
parent
408bbb82ba
commit
4bc36cf18b
File diff suppressed because one or more lines are too long
|
|
@ -1,24 +1,18 @@
|
||||||
import { Controller, Get, Post } from '@nestjs/common';
|
import { Controller, Get, Post } from '@nestjs/common';
|
||||||
import { MufapiService } from './mufapi.service';
|
import { MufapiService, ConnectorsService } from './mufapi.service';
|
||||||
|
|
||||||
@Controller('api')
|
@Controller('api')
|
||||||
export class MufapiController {
|
export class MufapiController {
|
||||||
constructor(private readonly mufapiService: MufapiService) {}
|
|
||||||
|
|
||||||
|
constructor(private readonly mufapiService: MufapiService) {}
|
||||||
|
//Получаем данные по GET, потом это изничтожим
|
||||||
@Get()
|
@Get()
|
||||||
async getHello() : Promise<string> {
|
async getHello() : Promise<string> {
|
||||||
const user : string = "admin";
|
let connector : ConnectorsService = new ConnectorsService();
|
||||||
const password : string = "admin";
|
connector.GetConnData();
|
||||||
const conn : string = 'http://192.168.244.1/e-data-front/auth/login';
|
return await this.mufapiService.getAccessToken(connector.path, connector.creds, connector.options);
|
||||||
const creds : string = '{"login":"' + user + '","password":"' + password + '"}';
|
|
||||||
const options = {
|
|
||||||
headers: {'Content-Type' : 'application/json'}
|
|
||||||
};
|
|
||||||
console.log(await this.mufapiService.getAccessToken(conn, creds, options));
|
|
||||||
//return this.mufapiService.getAccessToken(conn, creds, options);
|
|
||||||
return await this.mufapiService.getAccessToken(conn, creds, options);
|
|
||||||
}
|
}
|
||||||
|
//Получаем данные по POST будет финалка
|
||||||
@Post('menu')
|
@Post('menu')
|
||||||
getMenu () : JSON {
|
getMenu () : JSON {
|
||||||
let menu : JSON = JSON.parse('{"id": 2}');
|
let menu : JSON = JSON.parse('{"id": 2}');
|
||||||
|
|
|
||||||
|
|
@ -4,28 +4,56 @@ import { error } from 'console';
|
||||||
import { response } from 'express';
|
import { response } from 'express';
|
||||||
import { Interface } from 'readline';
|
import { Interface } from 'readline';
|
||||||
|
|
||||||
|
//====================Начнем=================================
|
||||||
|
@Injectable()
|
||||||
|
//Класс для подключения и получения токена, потом расширим, если звезда засветит
|
||||||
|
export class ConnectorsService {
|
||||||
|
user : string; //логин на стороне сервака
|
||||||
|
password : string; //пароль к логину на стороне сервака
|
||||||
|
path : string; // путь, куда стучимся
|
||||||
|
creds : string; //правильная строка - солянка из логина и пароля, чем стучимся
|
||||||
|
options : any; //в основном здесь хидеры, а то без них не хочет работать
|
||||||
|
|
||||||
|
//Замечательный метод класса для инициализации свойств класса, сейчас в ручную, в дальнейшем планируется автоматом из конфы
|
||||||
|
GetConnData() {
|
||||||
|
this.user = "admin";
|
||||||
|
this.password = "admin";
|
||||||
|
this.path = 'http://192.168.244.1/e-data-front/auth/login';
|
||||||
|
this.creds = '{"login":"' + this.user + '","password":"' + this.password + '"}';
|
||||||
|
this.options = {
|
||||||
|
headers: {'Content-Type' : 'application/json'}
|
||||||
|
};
|
||||||
|
return 0;
|
||||||
|
};
|
||||||
|
//Замечетельный метод, пока не придумал назначение, но если есть Get, то должен быть и Set
|
||||||
|
SetConnData() {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
//Класс основных методов для получения, обработки данных и дальнейшей пересылки в Exporter
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class MufapiService {
|
export class MufapiService {
|
||||||
|
|
||||||
|
token: string; //Глобальная переменная класса под токен
|
||||||
|
//Получение токена через шаблонизацию
|
||||||
async getAccessToken (path:string, body:string, headers) : Promise<string> {
|
async getAccessToken (path:string, body:string, headers) : Promise<string> {
|
||||||
interface Token {
|
interface Authtorise {
|
||||||
access_token: string;
|
access_token: string;
|
||||||
};
|
};
|
||||||
let token : Token;
|
let auth : Authtorise;
|
||||||
let ret : any = 'Error';
|
this.token = 'Error';
|
||||||
await axios.post(path, body, headers).then((response)=>{
|
await axios.post(path, body, headers).then((response)=>{
|
||||||
token = response.data;
|
auth = response.data;
|
||||||
//console.log(token);
|
this.token = auth.access_token;
|
||||||
//console.log(token.access_token);
|
|
||||||
ret = token.access_token;
|
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
ret = error;
|
this.token = error;
|
||||||
});
|
});
|
||||||
|
|
||||||
return ret;
|
return this.token;
|
||||||
}
|
}
|
||||||
|
//Получение данных для формирования меню в МУФ
|
||||||
getMenu () : string {
|
async getMenu () : Promise<string> {
|
||||||
return 'body';
|
return 'body';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue