add service

This commit is contained in:
vallyenfail
2026-01-17 17:39:33 +03:00
parent 1376ff9188
commit d959dcca96
82 changed files with 25041 additions and 1 deletions

50
api/proto/auth/auth.proto Normal file
View File

@@ -0,0 +1,50 @@
syntax = "proto3";
package auth;
option go_package = "github.com/smart-search-gateway/api/proto/auth/auth";
service AuthService {
rpc Login(LoginRequest) returns (LoginResponse);
rpc Refresh(RefreshRequest) returns (RefreshResponse);
rpc Validate(ValidateRequest) returns (ValidateResponse);
rpc Logout(LogoutRequest) returns (LogoutResponse);
}
message LoginRequest {
string email = 1;
string password = 2;
string ip = 3;
string user_agent = 4;
}
message LoginResponse {
string access_token = 1;
string refresh_token = 2;
}
message RefreshRequest {
string refresh_token = 1;
string ip = 2;
string user_agent = 3;
}
message RefreshResponse {
string access_token = 1;
string refresh_token = 2;
}
message ValidateRequest {
string access_token = 1;
}
message ValidateResponse {
bool valid = 1;
int64 user_id = 2;
}
message LogoutRequest {
string access_token = 1;
}
message LogoutResponse {
bool success = 1;
}

View File

@@ -0,0 +1,36 @@
syntax = "proto3";
package invite;
option go_package = "github.com/smart-search-gateway/api/proto/invite/invite";
import "google/protobuf/timestamp.proto";
service InviteService {
rpc Generate(GenerateRequest) returns (GenerateResponse);
rpc GetInfo(GetInfoRequest) returns (GetInfoResponse);
}
message GenerateRequest {
int64 user_id = 1;
int32 ttl_days = 2;
int32 max_uses = 3;
}
message GenerateResponse {
string code = 1;
int32 max_uses = 2;
google.protobuf.Timestamp expires_at = 3;
}
message GetInfoRequest {
string code = 1;
}
message GetInfoResponse {
string code = 1;
int64 user_id = 2;
int32 can_be_used_count = 3;
int32 used_count = 4;
google.protobuf.Timestamp expires_at = 5;
bool is_active = 6;
google.protobuf.Timestamp created_at = 7;
}

View File

@@ -0,0 +1,61 @@
syntax = "proto3";
package request;
option go_package = "github.com/smart-search-gateway/api/proto/request/request";
import "google/protobuf/timestamp.proto";
service RequestService {
rpc CreateTZ(CreateTZRequest) returns (CreateTZResponse);
rpc ApproveTZ(ApproveTZRequest) returns (ApproveTZResponse);
rpc GetMailingList(GetMailingListRequest) returns (GetMailingListResponse);
rpc GetMailingListByID(GetMailingListByIDRequest) returns (GetMailingListByIDResponse);
}
message CreateTZRequest {
int64 user_id = 1;
string request_txt = 2;
bytes file_data = 3;
string file_name = 4;
}
message CreateTZResponse {
string request_id = 1;
string tz_text = 2;
}
message ApproveTZRequest {
string request_id = 1;
string final_tz = 2;
int64 user_id = 3;
}
message ApproveTZResponse {
bool success = 1;
string mailing_status = 2;
}
message GetMailingListRequest {
int64 user_id = 1;
}
message GetMailingListResponse {
repeated MailingItem items = 1;
}
message GetMailingListByIDRequest {
string request_id = 1;
int64 user_id = 2;
}
message GetMailingListByIDResponse {
MailingItem item = 1;
}
message MailingItem {
string request_id = 1;
string request_txt = 2;
string final_tz = 3;
string mailing_status = 4;
google.protobuf.Timestamp created_at = 5;
int32 suppliers_found = 6;
}

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
package supplier;
option go_package = "github.com/smart-search-gateway/api/proto/supplier/supplier";
service SupplierService {
rpc ExportExcel(ExportExcelRequest) returns (ExportExcelResponse);
}
message ExportExcelRequest {
string request_id = 1;
int64 user_id = 2;
}
message ExportExcelResponse {
bytes file_data = 1;
string file_name = 2;
string mime_type = 3;
}

51
api/proto/user/user.proto Normal file
View File

@@ -0,0 +1,51 @@
syntax = "proto3";
package user;
option go_package = "github.com/smart-search-gateway/api/proto/user/user";
service UserService {
rpc GetInfo(GetInfoRequest) returns (GetInfoResponse);
rpc GetBalance(GetBalanceRequest) returns (GetBalanceResponse);
rpc GetStatistics(GetStatisticsRequest) returns (GetStatisticsResponse);
rpc GetBalanceStatistics(GetBalanceStatisticsRequest) returns (GetBalanceStatisticsResponse);
}
message GetInfoRequest {
int64 user_id = 1;
}
message GetInfoResponse {
string email = 1;
string name = 2;
string phone = 3;
string company_name = 4;
string payment_status = 5;
}
message GetBalanceRequest {
int64 user_id = 1;
}
message GetBalanceResponse {
double balance = 1;
}
message GetStatisticsRequest {
int64 user_id = 1;
}
message GetStatisticsResponse {
int32 total_requests = 1;
int32 successful_requests = 2;
int32 failed_requests = 3;
double total_spent = 4;
}
message GetBalanceStatisticsRequest {
int64 user_id = 1;
}
message GetBalanceStatisticsResponse {
double balance = 1;
int32 total_requests = 2;
double total_spent = 3;
}