feat: add test database setup and usage helpers

- Introduced a new test file for setting up an in-memory SQLite database for testing purposes.
- Added helper functions for seeding test data, including users, plans, subscriptions, and wallet transactions.
- Implemented usage helpers to load user video counts and storage usage.
- Created user payload struct and functions to build user payloads with preferences and wallet balance.
- Refactored gRPC server setup to include new services and handlers.
- Updated proto files to simplify service definitions by removing redundant service prefixes.
This commit is contained in:
2026-03-25 18:36:03 +07:00
parent a689f8b9da
commit dfd999e058
65 changed files with 6657 additions and 4464 deletions

View File

@@ -6,24 +6,21 @@ option go_package = "stream.api/internal/gen/proto/app/v1;appv1";
import "google/protobuf/wrappers.proto";
import "app/v1/common.proto";
service AccountService {
service Account {
rpc GetMe(GetMeRequest) returns (GetMeResponse);
rpc UpdateMe(UpdateMeRequest) returns (UpdateMeResponse);
rpc DeleteMe(DeleteMeRequest) returns (MessageResponse);
rpc ClearMyData(ClearMyDataRequest) returns (MessageResponse);
rpc GetUserById (google.protobuf.StringValue) returns (User) {}
}
service PreferencesService {
rpc GetPreferences(GetPreferencesRequest) returns (GetPreferencesResponse);
rpc UpdatePreferences(UpdatePreferencesRequest) returns (UpdatePreferencesResponse);
}
service UsageService {
service Usage {
rpc GetUsage(GetUsageRequest) returns (GetUsageResponse);
}
service NotificationsService {
service Notifications {
rpc ListNotifications(ListNotificationsRequest) returns (ListNotificationsResponse);
rpc MarkNotificationRead(MarkNotificationReadRequest) returns (MessageResponse);
rpc MarkAllNotificationsRead(MarkAllNotificationsReadRequest) returns (MessageResponse);