import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/backend/api_requests/api_manager.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/request_manager.dart'; import 'package:flutter/material.dart'; import 'package:hub/pages/liberation_history/liberation_history_widget.dart'; import 'package:hub/shared/helpers/sqlite_storage_helper.dart'; class LiberationHistoryModel extends FlutterFlowModel { final SQLiteStorageHelper db = SQLiteStorageHelper(); late final String devUUID; late final String userUUID; late final String cliUUID; final unfocusNode = FocusNode(); FocusNode? textFieldFocusNode; TextEditingController? textController; String? Function(BuildContext, String?)? textControllerValidator; final _getLiberationsManager = StreamRequestManager(); Stream getLiberations({ String? uniqueQueryKey, bool? overrideCache, required Stream Function() requestFn, }) => _getLiberationsManager.performRequest( uniqueQueryKey: uniqueQueryKey, overrideCache: overrideCache, requestFn: requestFn, ); void clearGetLiberationsCache() => _getLiberationsManager.clear(); void clearGetLiberationsCacheKey(String? uniqueKey) => _getLiberationsManager.clearRequest(uniqueKey); @override void initState(BuildContext context) { init(); } Future init() async { devUUID = await db .get(key: 'devUUID', field: 'value') .then((value) => value.toString()); userUUID = await db .get(key: 'userUUID', field: 'value') .then((value) => value.toString()); cliUUID = await db .get(key: 'cliUUID', field: 'value') .then((value) => value.toString()); } Future answersRequest( {required BuildContext context, required String? ref, required String? task, required String? response, required String? id}) async { final ApiCallResponse? respondeSolicitacaoCall; final RespondeSolicitacaoCall callback = PhpGroup.respondeSolicitacaoCall; respondeSolicitacaoCall = await callback.call( referencia: ref, tarefa: task, resposta: response, idVisitante: id, ); if (respondeSolicitacaoCall.statusCode == 200) { return !respondeSolicitacaoCall.jsonBody['error']; } else { return false; } } @override void dispose() { unfocusNode.dispose(); textFieldFocusNode?.dispose(); textController?.dispose(); clearGetLiberationsCache(); } }