aboutsummaryrefslogtreecommitdiff
path: root/weed/pb/filer.proto
blob: a7a7f42f060a4a9ed58149075d691b4c980932c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
syntax = "proto3";

package filer;

//////////////////////////////////////////////////

service SeaweedFiler {

    rpc LookupDirectoryEntry (LookupDirectoryEntryRequest) returns (LookupDirectoryEntryResponse) {
    }

    rpc ListEntries (ListEntriesRequest) returns (ListEntriesResponse) {
    }

    rpc GetFileAttributes (GetFileAttributesRequest) returns (GetFileAttributesResponse) {
    }

    rpc GetFileContent (GetFileContentRequest) returns (GetFileContentResponse) {
    }

    rpc DeleteEntry (DeleteEntryRequest) returns (DeleteEntryResponse) {
    }

}

//////////////////////////////////////////////////

message LookupDirectoryEntryRequest {
    string directory = 1;
    string name = 2;
}

message LookupDirectoryEntryResponse {
    Entry entry = 1;
}

message ListEntriesRequest {
    string directory = 1;
}

message ListEntriesResponse {
    repeated Entry entries = 1;
}

message Entry {
    string name = 1;
    bool is_directory = 2;
    string file_id = 3;
    FuseAttributes attributes = 4;
}

message FuseAttributes {
    uint64 file_size = 1;
    int64 mtime = 2;
    uint32 file_mode = 3;
    uint32 uid = 4;
    uint32 gid = 5;
}

message GetFileAttributesRequest {
    string name = 1;
    string parent_dir = 2;
    string file_id = 3;
}

message GetFileAttributesResponse {
    FuseAttributes attributes = 1;
}

message GetFileContentRequest {
    string file_id = 1;
}

message GetFileContentResponse {
    bytes content = 1;
}

message DeleteEntryRequest {
    string directory = 1;
    string name = 2;
    bool is_directory = 3;
}

message DeleteEntryResponse {
}