feat(frontend): module Articles complet (liste, création, modification, suppression)
- Article model (MP/PSF/PF, stock, seuil alerte) - ArticleService : fetchAll, fetchByType, create, update, delete - ArticleProvider : filtrage par type + recherche temps réel - ArticlesScreen : liste, chips filtres, barre recherche, alertes stock - ArticleFormScreen : formulaire création/édition avec validation - Rapport PFE : section 5.6 module Articles Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import 'api_client.dart';
|
||||
import '../models/article.dart';
|
||||
|
||||
class ArticleService {
|
||||
static Future<List<Article>> fetchAll() async {
|
||||
final res = await ApiClient.instance.get('/articles');
|
||||
return (res.data as List).map((e) => Article.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
static Future<List<Article>> fetchByType(String type) async {
|
||||
final res = await ApiClient.instance.get('/articles/type/$type');
|
||||
return (res.data as List).map((e) => Article.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
static Future<Article> create(Article article) async {
|
||||
final res = await ApiClient.instance.post('/articles', data: article.toJson());
|
||||
return Article.fromJson(res.data);
|
||||
}
|
||||
|
||||
static Future<Article> update(int id, Article article) async {
|
||||
final res = await ApiClient.instance.put('/articles/$id', data: article.toJson());
|
||||
return Article.fromJson(res.data);
|
||||
}
|
||||
|
||||
static Future<void> delete(int id) async {
|
||||
await ApiClient.instance.delete('/articles/$id');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user