Files
softplayer-web/lib/core/api/v1/projects.dart
Nikolai Rodionov ea64470a4b
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Add project api
Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
2026-06-09 15:21:10 +02:00

37 lines
958 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:grpc/grpc_web.dart';
import 'package:softplayer_dart_proto/projects/v1/projects_v1.pbgrpc.dart';
import 'package:softplayer_web/core/grpc/grpc_client.dart';
final projectsGrpcProvider = Provider<ProjectsGrpcRepository>((ref) {
return ProjectsGrpcRepository(ref.watch(projectsServiceClientProvider));
});
class ProjectsGrpcRepository {
ProjectsGrpcRepository(this._client);
final ProjectsServiceClient _client;
ResponseFuture<CreateProjectResponse> createProject(
CreateProjectRequest data,
) {
try {
final response = _client.createProject(data);
return response;
} catch (e) {
rethrow;
}
}
Stream<ListProjectsResponse> listProjects() async* {
try {
await for (final projects in _client.listProjects(
ListProjectsRequest(),
)) {
yield projects;
}
} catch (error) {
rethrow;
}
}
}