mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2025-12-22 09:30:45 +00:00
init
This commit is contained in:
4
app_services/i_app_services/lib/i_app_services.dart
Normal file
4
app_services/i_app_services/lib/i_app_services.dart
Normal file
@@ -0,0 +1,4 @@
|
||||
library i_app_services;
|
||||
|
||||
export 'src/i_path_provider.dart';
|
||||
export 'src/i_secure_storage.dart';
|
||||
60
app_services/i_app_services/lib/src/i_debug_service.dart
Normal file
60
app_services/i_app_services/lib/src/i_debug_service.dart
Normal file
@@ -0,0 +1,60 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// Интерфейс для сервиса отладки
|
||||
abstract interface class IDebugService {
|
||||
/// Наименование сервиса
|
||||
static const name = 'IDebugService';
|
||||
|
||||
/// Метод для создания обработчика для BLoC
|
||||
Object createBlocObserver();
|
||||
|
||||
/// Метод для создания обработчика для роутера
|
||||
NavigatorObserver createRouterObserver();
|
||||
|
||||
/// Метод для создания обработчика для http-клиентов
|
||||
Object createHttpInterceptor();
|
||||
|
||||
/// Метод для логгирования предупреждений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void warning(String message);
|
||||
|
||||
/// Метод для логгирования ошибок
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
/// - [exception] - исключение
|
||||
/// - [stackTrace] - стек вызова
|
||||
void error(String message, [Object? exception, StackTrace? stackTrace]);
|
||||
|
||||
/// Метод для обработки ошибок
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [error] - исключение
|
||||
/// - [stackTrace] - стек вызова
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void handleError(Object error, [StackTrace? stackTrace, String? message]);
|
||||
|
||||
/// Метод для логгирования информативных сообщений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void info(String message);
|
||||
|
||||
/// Метод для логгирования сообщений
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [message] - сообщение для логгирования в формате [String]
|
||||
void log(String message);
|
||||
|
||||
/// Метод для открытия окна отладки
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [context] - для определения навигатора по нему
|
||||
/// - [useRootNavigator] - при true, открывает окно в корневом навигаторе
|
||||
Future<T?> openDebugScreen<T>(
|
||||
BuildContext context, {
|
||||
bool useRootNavigator = false,
|
||||
});
|
||||
}
|
||||
9
app_services/i_app_services/lib/src/i_path_provider.dart
Normal file
9
app_services/i_app_services/lib/src/i_path_provider.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
/// Класс для описания интерфейса сервиса
|
||||
/// для получения пути хранения файлов
|
||||
abstract interface class IPathProvider {
|
||||
/// Наименования интерфейса
|
||||
static const name = 'IPathProvider';
|
||||
|
||||
/// Получение path на внутренне хранилище приложения
|
||||
Future<String> getAppDocumentsDirectoryPath();
|
||||
}
|
||||
44
app_services/i_app_services/lib/src/i_secure_storage.dart
Normal file
44
app_services/i_app_services/lib/src/i_secure_storage.dart
Normal file
@@ -0,0 +1,44 @@
|
||||
/// Класс интерфейса для работы с защищенным хранилищем
|
||||
abstract interface class ISecureStorage {
|
||||
/// Описывает обязательные параметры имплементаций
|
||||
///
|
||||
/// Требует:
|
||||
/// - [secretKey] - секретный ключ для шифрования данных
|
||||
const ISecureStorage._({
|
||||
required this.secretKey,
|
||||
});
|
||||
|
||||
/// Секретный ключ для шифрования данных
|
||||
final String secretKey;
|
||||
|
||||
/// Наименования интерфейса
|
||||
static const name = 'ISecureStorage';
|
||||
|
||||
/// Метод для получения значения из защищенного хранилища
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [key] - ключ
|
||||
Future<String?> read(String key);
|
||||
|
||||
/// Метод для записи значения в защищенное хранилище
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [key] - ключ
|
||||
/// - [value] - значение
|
||||
Future<void> write(String key, String value);
|
||||
|
||||
/// Метод для удаления значения из защищенного хранилища
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [key] - ключ
|
||||
Future<void> delete(String key);
|
||||
|
||||
/// Метод для очистки защищенного хранилища
|
||||
Future<void> clear();
|
||||
|
||||
/// Метод для проверки наличия значения в защищенном хранилище
|
||||
///
|
||||
/// Принимает:
|
||||
/// - [key] - ключ
|
||||
Future<bool> exists(String key);
|
||||
}
|
||||
Reference in New Issue
Block a user