- 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.
81 lines
1.6 KiB
Protocol Buffer
81 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package stream.app.v1;
|
|
|
|
option go_package = "stream.api/internal/gen/proto/app/v1;appv1";
|
|
|
|
import "app/v1/common.proto";
|
|
|
|
service Videos {
|
|
rpc GetUploadUrl(GetUploadUrlRequest) returns (GetUploadUrlResponse);
|
|
rpc CreateVideo(CreateVideoRequest) returns (CreateVideoResponse);
|
|
rpc ListVideos(ListVideosRequest) returns (ListVideosResponse);
|
|
rpc GetVideo(GetVideoRequest) returns (GetVideoResponse);
|
|
rpc UpdateVideo(UpdateVideoRequest) returns (UpdateVideoResponse);
|
|
rpc DeleteVideo(DeleteVideoRequest) returns (MessageResponse);
|
|
}
|
|
|
|
message GetUploadUrlRequest {
|
|
string filename = 1;
|
|
}
|
|
|
|
message GetUploadUrlResponse {
|
|
string upload_url = 1;
|
|
string key = 2;
|
|
string file_id = 3;
|
|
}
|
|
|
|
message CreateVideoRequest {
|
|
string title = 1;
|
|
optional string description = 2;
|
|
string url = 3;
|
|
int64 size = 4;
|
|
int32 duration = 5;
|
|
optional string format = 6;
|
|
}
|
|
|
|
message CreateVideoResponse {
|
|
Video video = 1;
|
|
}
|
|
|
|
message ListVideosRequest {
|
|
int32 page = 1;
|
|
int32 limit = 2;
|
|
optional string search = 3;
|
|
optional string status = 4;
|
|
}
|
|
|
|
message ListVideosResponse {
|
|
repeated Video videos = 1;
|
|
int64 total = 2;
|
|
int32 page = 3;
|
|
int32 limit = 4;
|
|
}
|
|
|
|
message GetVideoRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetVideoResponse {
|
|
Video video = 1;
|
|
}
|
|
|
|
message UpdateVideoRequest {
|
|
string id = 1;
|
|
string title = 2;
|
|
optional string description = 3;
|
|
string url = 4;
|
|
int64 size = 5;
|
|
int32 duration = 6;
|
|
optional string format = 7;
|
|
optional string status = 8;
|
|
}
|
|
|
|
message UpdateVideoResponse {
|
|
Video video = 1;
|
|
}
|
|
|
|
message DeleteVideoRequest {
|
|
string id = 1;
|
|
}
|