Skip to content

Commit 637889e

Browse files
author
RahatMelsov
committed
feat: добавлены все методы залпом, вроде работает...
1 parent 2814b04 commit 637889e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+2286
-739
lines changed

api/proto/common/v1/common.proto

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@ package common.v1;
33
option go_package = "github.com/rtmelsov/adv-keeper/gen/go/common/v1;commonv1";
44

55
import "google/protobuf/timestamp.proto";
6+
import "google/protobuf/empty.proto";
67

78
service AuthService {
8-
rpc Logout(TokenPair) returns (TokenPair);
9+
rpc Logout(google.protobuf.Empty) returns (TokenPair);
10+
rpc GetProfile(google.protobuf.Empty) returns (GetProfileResponse);
911
rpc Register(RegisterRequest) returns (RegisterResponse);
1012
rpc Login(LoginRequest) returns (LoginResponse);
1113
}
1214

1315
message TokenPair {
1416
string access_token = 1; // JWT (HS256)
15-
//google.protobuf.Timestamp
1617
google.protobuf.Timestamp expires_at = 3; // RFC3339 серверное время истечения refresh
1718
}
1819

@@ -21,9 +22,13 @@ message LoginRequest {
2122
string password = 2;
2223
}
2324

25+
message GetProfileResponse {
26+
string user_id = 1;
27+
string email = 3;
28+
}
29+
2430
message LoginResponse {
2531
string user_id = 1;
26-
string device_id = 2;
2732
string email = 3;
2833
TokenPair tokens = 4; // ← добавили
2934
}
@@ -35,7 +40,6 @@ message RegisterRequest {
3540

3641
message RegisterResponse {
3742
string user_id = 1;
38-
string device_id = 2; // вернём то, что прислал клиент
3943
string email = 3;
4044
TokenPair tokens = 4; // ← добавили
4145
}

api/proto/file/v1/file.proto

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ package file.v1;
55
option go_package = "github.com/rtmelsov/adv-keeper/gen/go/file/v1;filev1";
66

77
import "google/protobuf/timestamp.proto";
8+
import "google/protobuf/empty.proto";
89

910
service FileService {
1011
// Клиент шлёт поток кусков, сервер в конце отвечает сводкой
1112
rpc Upload(stream UploadRequest) returns (UploadResponse);
13+
rpc DownloadFile(DownloadFileRequest) returns (stream DownloadFileResponse);
14+
rpc DeleteFile(DeleteFileRequest) returns (google.protobuf.Empty);
1215
// Список файлов текущего пользователя (берём user_id из контекста)
1316
rpc GetFiles(GetFilesRequest) returns (GetFilesResponse);
1417
}
@@ -19,9 +22,10 @@ message GetFilesRequest {
1922
}
2023

2124
message FileItem {
22-
string filename = 1;
23-
int64 size = 2;
24-
google.protobuf.Timestamp created_at = 3;
25+
string fileid = 1;
26+
string filename = 2;
27+
int64 size = 3;
28+
google.protobuf.Timestamp created_at = 4;
2529
}
2630

2731
message GetFilesResponse {
@@ -52,4 +56,21 @@ message UploadResponse {
5256
}
5357

5458

59+
message DownloadFileResponse {
60+
oneof payload {
61+
FileInfo info = 1; // ПЕРВОЕ сообщение — мета-инфа
62+
FileChunk chunk = 2; // Далее — куски файла
63+
}
64+
}
5565

66+
message DownloadFileRequest {
67+
string fileid = 1;
68+
}
69+
70+
message DeleteFileRequest {
71+
string fileid = 1;
72+
}
73+
74+
message DeleteFileResponse {
75+
string fileid = 1;
76+
}

cmd/server/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func main() {
3131
if err != nil {
3232
log.Fatal(err)
3333
}
34-
34+
helpers.RunMigrations(envs.DBDSN)
3535
// Подключение к Postgres
3636
dbx, err := sql.Open("pgx", envs.DBDSN)
3737
if err != nil {
@@ -42,6 +42,7 @@ func main() {
4242
q := db.New(dbx)
4343
s := grpc.NewServer(
4444
grpc.UnaryInterceptor(middleware.ServerInterceptor),
45+
grpc.StreamInterceptor(middleware.StreamInterceptor), // вот тут
4546
grpc.KeepaliveParams(keepalive.ServerParameters{
4647
MaxConnectionIdle: 0,
4748
MaxConnectionAge: 0,

cmd/tui/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ func main() {
3232

3333
// После выхода выведем список выбранных покупок
3434
m := final.(tui.TuiModel)
35-
if len(m.Selected) == 0 {
35+
if len(m.SelectedPage) == 0 {
3636
fmt.Println("Ничего не выбрано.")
3737
return
3838
}
3939

4040
// Соберём в стабильном порядке
41-
idxs := make([]int, 0, len(m.Selected))
42-
for i := range m.Selected {
41+
idxs := make([]int, 0, len(m.SelectedPage))
42+
for i := range m.SelectedPage {
4343
idxs = append(idxs, i)
4444
}
4545
sort.Ints(idxs)

db/queries/auth.sql

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,14 @@ ORDER BY created_at DESC;
2222
-- name: DeleteFile :one
2323
DELETE FROM files
2424
WHERE id = $1 AND user_id = $2
25-
RETURNING id; -- проще понять, удалилось или нет
25+
RETURNING id;-- name: GetUserByID :one
2626

27+
-- name: GetUserByID :one
28+
SELECT id, email, created_at
29+
FROM users
30+
WHERE id = $1;
31+
32+
-- name: GetFileForUser :one
33+
SELECT id, user_id, filename, path, size_bytes, created_at
34+
FROM files
35+
WHERE id = $1 AND user_id = $2;

0 commit comments

Comments
 (0)