Start writing the web app
All checks were successful
ci/woodpecker/push/build Pipeline was successful

Signed-off-by: Nikolai Rodionov <allanger@posteo.com>
This commit was merged in pull request #5.
This commit is contained in:
2026-05-19 13:37:41 +02:00
parent 0c5b657a2f
commit 09df205fdb
76 changed files with 1961 additions and 117 deletions

View File

@@ -0,0 +1,14 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:grpc/grpc_web.dart';
import 'package:protobuf/well_known_types/google/protobuf/empty.pb.dart';
import 'package:softplayer_dart_proto/accounts/v1/accounts_v1.pbgrpc.dart';
import 'package:softplayer_web/core/grpc/grpc_client.dart';
final accountsGrpcProvider = Provider<AccountsGrpcRepository>((ref) {
return AccountsGrpcRepository(ref.watch(accountsServiceClientProvider));
});
class AccountsGrpcRepository {
AccountsGrpcRepository(this._client);
final AccountsServiceClient _client;
}

View File

@@ -0,0 +1,35 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:grpc/grpc_web.dart';
import 'package:softplayer_dart_proto/accounts/v1/accounts_v1.pbgrpc.dart';
import 'package:softplayer_web/core/grpc/grpc_client.dart';
final publicAccountsGrpcProvider = Provider<PublicAccountsGrpcRepository>((
ref,
) {
return PublicAccountsGrpcRepository(
ref.watch(publicAccountsServiceClientProvider),
);
});
class PublicAccountsGrpcRepository {
PublicAccountsGrpcRepository(this._client);
final PublicAccountsServiceClient _client;
ResponseFuture<SignInResponse> signIn(SignInRequest req) {
try {
final response = _client.signIn(req);
return response;
} catch (error) {
rethrow;
}
}
ResponseFuture<SignUpResponse> signUp(SignUpRequest req) {
try {
final response = _client.signUp(req);
return response;
} catch (error) {
rethrow;
}
}
}

View File

@@ -0,0 +1,28 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:grpc/grpc_web.dart';
import 'package:softplayer_dart_proto/accounts/v1/accounts_v1.pbgrpc.dart';
import 'package:softplayer_web/core/grpc/grpc_client.dart';
final refreshSessionGrpcProvider = Provider<RefreshSessionGrpcRepository>((
ref,
) {
return RefreshSessionGrpcRepository(
ref.watch(refreshSessionServiceClientProvider),
);
});
class RefreshSessionGrpcRepository {
final RefreshSessionServiceClient _client;
RefreshSessionGrpcRepository(this._client);
ResponseFuture<RefreshSessionResponse> refreshSession(String refreshToken) {
try {
final response = _client.refreshSession(
RefreshSessionRequest(refreshToken: refreshToken),
);
return response;
} catch (error) {
rethrow;
}
}
}

22
lib/core/api/v1/test.dart Normal file
View File

@@ -0,0 +1,22 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:grpc/grpc_web.dart';
import 'package:softplayer_dart_proto/test/v1/test_v1.pbgrpc.dart';
import 'package:softplayer_web/core/grpc/grpc_client.dart';
final testGrpcProvider = Provider<TestGrpcRepository>((ref) {
return TestGrpcRepository(ref.watch(testServiceClientProvider));
});
class TestGrpcRepository {
TestGrpcRepository(this._client);
final TestServiceClient _client;
ResponseFuture<PongResponse> pong() {
try {
final response = _client.pong(PongRequest());
return response;
} catch (error) {
rethrow;
}
}
}