161 lines
5.3 KiB
Dart
161 lines
5.3 KiB
Dart
|
|
import 'dart:convert';
|
|
|
|
import 'package:get/get_utils/src/get_utils/get_utils.dart';
|
|
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(Uri.parse(url), headers: heads);
|
|
|
|
//if (response != null) {
|
|
if (!GetUtils.isNullOrBlank(response.body)!) {
|
|
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(Uri.parse(url), headers: heads);
|
|
|
|
if (!GetUtils.isNullOrBlank(response.body)!) {
|
|
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(Uri.parse(url), headers: heads, body: body);
|
|
|
|
if (!GetUtils.isNullOrBlank(response.body)!) {
|
|
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(Uri.parse(url), headers: heads, body: body);
|
|
|
|
|
|
if (!GetUtils.isNullOrBlank(response.body)!) {
|
|
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;
|
|
}
|
|
|
|
} |