Files
AppCardsStarter_Modelo/lib/notificacoes/api/notificacoes_api.dart
T
2021-05-04 16:12:48 -03:00

159 lines
5.0 KiB
Dart

import 'dart:convert';
import 'package:http/http.dart' as http;
import '../../default_response_api.dart';
import '../../funcoes_gerais.dart';
import 'notificacoes_classes.dart';
class NotificacoesApi{
Future<NotificacoesResponse> getNotificacoes(int pagina,{String lidas = 'T',String curtidas = 'T'}) async{
var retorno = new NotificacoesResponse(
errorCode: 0,
errorMessage: "",
loadMore: false,
results: []
);
if(await FuncoesGerais.checkInternetConnection() == false){
retorno.errorCode = 1;
retorno.errorMessage = "Sem conexão com a Internet";
}
else{
var token = await FuncoesGerais.getUsuToken();
String url = FuncoesGerais.urlBaseNewCore+'api/v1/user/notificacoes/$token/$pagina/10/$lidas/$curtidas';
Map<String, String> heads = Map();
heads["Content-type"] = "application/json; charset=utf-8";
var response = await http.get(url, headers: heads);
if (response != null) {
if (response.statusCode == 200) {
var data = jsonDecode(response.body);
retorno = NotificacoesResponse.fromJson(data);
}
else{
retorno.errorCode = response.statusCode;
retorno.errorMessage = "Falha: ${response.statusCode}";
}
}
else{
retorno.errorCode = 2;
retorno.errorMessage = "Falha na comunicação com o server. Tente novamente";
}
}
return retorno;
}
Future<NotificacaoResponse> getNotificacao(int id) async{
var retorno = new NotificacaoResponse(
errorCode: 0,
errorMessage: ""
);
if(await FuncoesGerais.checkInternetConnection() == false){
retorno.errorCode = 1;
retorno.errorMessage = "Sem conexão com a Internet";
}
else{
var token = await FuncoesGerais.getUsuToken();
String url = FuncoesGerais.urlBaseNewCore+'api/v1/user/notificacao/$token/$id';
Map<String, String> heads = Map();
heads["Content-type"] = "application/json; charset=utf-8";
var response = await http.get(url, headers: heads);
if (response != null) {
if (response.statusCode == 200) {
var data = jsonDecode(response.body);
retorno = NotificacaoResponse.fromJson(data);
}
else{
retorno.errorCode = response.statusCode;
retorno.errorMessage = "Falha: ${response.statusCode}";
}
}
else{
retorno.errorCode = 2;
retorno.errorMessage = "Falha na comunicação com o server. Tente novamente";
}
}
return retorno;
}
Future<DefaultResponseApi> notificacaoLike(NotificacaoLikeRequest post) async{
DefaultResponseApi objRetorno = new DefaultResponseApi();
if(await FuncoesGerais.checkInternetConnection() == false){
objRetorno.errorCode = 1;
objRetorno.errorMessage = "Sem Conexão com a Internet.";
return objRetorno;
}
var token = await FuncoesGerais.getUsuToken();
String url = FuncoesGerais.urlBaseNewCore+'api/v1/user/notificacaolike/$token';
Map<String, String> heads = Map();
heads["Content-type"] = "application/json; charset=utf-8";
var body = json.encode(post);
var response = await http.post(url, headers: heads, body: body);
if (response != null) {
if (response.statusCode == 200) {
var data = jsonDecode(response.body);
objRetorno = DefaultResponseApi.fromJson(data);
}
else{
objRetorno.errorCode = response.statusCode;
objRetorno.errorMessage = "Falha: ${response.statusCode}";
}
}
else{
objRetorno.errorCode = 2;
objRetorno.errorMessage = "Falha na comunicação com o server. Tente novamente";
}
return objRetorno;
}
Future<DefaultResponseApi> notificacaoLida(NotificacaoLidaRequest post, int notificacaoId) async{
DefaultResponseApi objRetorno = new DefaultResponseApi();
if(await FuncoesGerais.checkInternetConnection() == false){
objRetorno.errorCode = 1;
objRetorno.errorMessage = "Sem Conexão com a Internet.";
return objRetorno;
}
var token = await FuncoesGerais.getUsuToken();
String url = FuncoesGerais.urlBaseNewCore+'api/v1/user/notificacaolida/$token/$notificacaoId';
Map<String, String> heads = Map();
heads["Content-type"] = "application/json; charset=utf-8";
var body = json.encode(post);
var response = await http.post(url, headers: heads, body: body);
if (response != null) {
if (response.statusCode == 200) {
var data = jsonDecode(response.body);
objRetorno = DefaultResponseApi.fromJson(data);
}
else{
objRetorno.errorCode = response.statusCode;
objRetorno.errorMessage = "Falha: ${response.statusCode}";
}
}
else{
objRetorno.errorCode = 2;
objRetorno.errorMessage = "Falha na comunicação com o server. Tente novamente";
}
return objRetorno;
}
}