@aepstore-dev/contracts 1.37.0 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,118 +1,118 @@
1
- syntax = "proto3";
2
-
3
- package support.v1;
4
-
5
- // Support ticket system (G1). Enums as strings matching the DB
6
- // (status OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED; category/priority).
7
- service SupportService {
8
- rpc Ping(PingRequest) returns (PingResponse); // health
9
-
10
- // user
11
- rpc CreateTicket(CreateTicketRequest) returns (Ticket);
12
- rpc GetTicket(GetTicketRequest) returns (TicketWithMessages);
13
- rpc ListMyTickets(ListMyTicketsRequest) returns (TicketsListResponse);
14
- rpc ReplyTicket(ReplyTicketRequest) returns (TicketMessage);
15
- rpc CloseTicket(CloseTicketRequest) returns (Ticket);
16
-
17
- // staff/admin
18
- rpc ListTickets(ListTicketsRequest) returns (TicketsListResponse);
19
- rpc AssignTicket(AssignTicketRequest) returns (Ticket);
20
- rpc SetTicketStatus(SetTicketStatusRequest) returns (Ticket);
21
- }
22
-
23
- message PingRequest { string message = 1; }
24
- message PingResponse { bool ok = 1; string message = 2; }
25
-
26
- message Ticket {
27
- string id = 1;
28
- string author_id = 2;
29
- string subject = 3;
30
- string category = 4; // GENERAL|PAYMENT|WITHDRAWAL|PRODUCT|ACCOUNT|ABUSE|OTHER
31
- string status = 5; // OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED
32
- string priority = 6; // LOW|NORMAL|HIGH|URGENT
33
- string purchase_id = 7;
34
- string withdrawal_id = 8;
35
- string assignee_id = 9;
36
- string last_message_at = 10;
37
- string created_at = 11;
38
- string updated_at = 12;
39
- int32 messages_count = 13;
40
- }
41
-
42
- message TicketMessage {
43
- string id = 1;
44
- string ticket_id = 2;
45
- string author_id = 3;
46
- string body = 4;
47
- bool is_staff = 5;
48
- bool is_internal = 6;
49
- string created_at = 7;
50
- }
51
-
52
- message TicketWithMessages {
53
- Ticket ticket = 1;
54
- repeated TicketMessage messages = 2;
55
- }
56
-
57
- message CreateTicketRequest {
58
- string author_id = 1;
59
- string subject = 2;
60
- string category = 3;
61
- string body = 4; // first message
62
- string purchase_id = 5; // optional
63
- string withdrawal_id = 6; // optional
64
- }
65
-
66
- message GetTicketRequest {
67
- string id = 1;
68
- string requester_id = 2;
69
- bool is_staff = 3; // staff see internal notes + any ticket
70
- }
71
-
72
- message ListMyTicketsRequest {
73
- string author_id = 1;
74
- string status = 2;
75
- int32 page = 3;
76
- int32 limit = 4;
77
- }
78
-
79
- message ReplyTicketRequest {
80
- string ticket_id = 1;
81
- string author_id = 2;
82
- string body = 3;
83
- bool is_staff = 4;
84
- bool is_internal = 5; // staff-only note
85
- }
86
-
87
- message CloseTicketRequest {
88
- string ticket_id = 1;
89
- string requester_id = 2;
90
- bool is_staff = 3;
91
- }
92
-
93
- message ListTicketsRequest {
94
- string status = 1;
95
- string category = 2;
96
- string assignee_id = 3;
97
- int32 page = 4;
98
- int32 limit = 5;
99
- }
100
-
101
- message AssignTicketRequest {
102
- string ticket_id = 1;
103
- string assignee_id = 2; // empty = unassign
104
- string admin_id = 3;
105
- }
106
-
107
- message SetTicketStatusRequest {
108
- string ticket_id = 1;
109
- string status = 2;
110
- string admin_id = 3;
111
- }
112
-
113
- message TicketsListResponse {
114
- repeated Ticket items = 1;
115
- int32 total = 2;
116
- int32 page = 3;
117
- int32 limit = 4;
118
- }
1
+ syntax = "proto3";
2
+
3
+ package support.v1;
4
+
5
+ // Support ticket system (G1). Enums as strings matching the DB
6
+ // (status OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED; category/priority).
7
+ service SupportService {
8
+ rpc Ping(PingRequest) returns (PingResponse); // health
9
+
10
+ // user
11
+ rpc CreateTicket(CreateTicketRequest) returns (Ticket);
12
+ rpc GetTicket(GetTicketRequest) returns (TicketWithMessages);
13
+ rpc ListMyTickets(ListMyTicketsRequest) returns (TicketsListResponse);
14
+ rpc ReplyTicket(ReplyTicketRequest) returns (TicketMessage);
15
+ rpc CloseTicket(CloseTicketRequest) returns (Ticket);
16
+
17
+ // staff/admin
18
+ rpc ListTickets(ListTicketsRequest) returns (TicketsListResponse);
19
+ rpc AssignTicket(AssignTicketRequest) returns (Ticket);
20
+ rpc SetTicketStatus(SetTicketStatusRequest) returns (Ticket);
21
+ }
22
+
23
+ message PingRequest { string message = 1; }
24
+ message PingResponse { bool ok = 1; string message = 2; }
25
+
26
+ message Ticket {
27
+ string id = 1;
28
+ string author_id = 2;
29
+ string subject = 3;
30
+ string category = 4; // GENERAL|PAYMENT|WITHDRAWAL|PRODUCT|ACCOUNT|ABUSE|OTHER
31
+ string status = 5; // OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED
32
+ string priority = 6; // LOW|NORMAL|HIGH|URGENT
33
+ string purchase_id = 7;
34
+ string withdrawal_id = 8;
35
+ string assignee_id = 9;
36
+ string last_message_at = 10;
37
+ string created_at = 11;
38
+ string updated_at = 12;
39
+ int32 messages_count = 13;
40
+ }
41
+
42
+ message TicketMessage {
43
+ string id = 1;
44
+ string ticket_id = 2;
45
+ string author_id = 3;
46
+ string body = 4;
47
+ bool is_staff = 5;
48
+ bool is_internal = 6;
49
+ string created_at = 7;
50
+ }
51
+
52
+ message TicketWithMessages {
53
+ Ticket ticket = 1;
54
+ repeated TicketMessage messages = 2;
55
+ }
56
+
57
+ message CreateTicketRequest {
58
+ string author_id = 1;
59
+ string subject = 2;
60
+ string category = 3;
61
+ string body = 4; // first message
62
+ string purchase_id = 5; // optional
63
+ string withdrawal_id = 6; // optional
64
+ }
65
+
66
+ message GetTicketRequest {
67
+ string id = 1;
68
+ string requester_id = 2;
69
+ bool is_staff = 3; // staff see internal notes + any ticket
70
+ }
71
+
72
+ message ListMyTicketsRequest {
73
+ string author_id = 1;
74
+ string status = 2;
75
+ int32 page = 3;
76
+ int32 limit = 4;
77
+ }
78
+
79
+ message ReplyTicketRequest {
80
+ string ticket_id = 1;
81
+ string author_id = 2;
82
+ string body = 3;
83
+ bool is_staff = 4;
84
+ bool is_internal = 5; // staff-only note
85
+ }
86
+
87
+ message CloseTicketRequest {
88
+ string ticket_id = 1;
89
+ string requester_id = 2;
90
+ bool is_staff = 3;
91
+ }
92
+
93
+ message ListTicketsRequest {
94
+ string status = 1;
95
+ string category = 2;
96
+ string assignee_id = 3;
97
+ int32 page = 4;
98
+ int32 limit = 5;
99
+ }
100
+
101
+ message AssignTicketRequest {
102
+ string ticket_id = 1;
103
+ string assignee_id = 2; // empty = unassign
104
+ string admin_id = 3;
105
+ }
106
+
107
+ message SetTicketStatusRequest {
108
+ string ticket_id = 1;
109
+ string status = 2;
110
+ string admin_id = 3;
111
+ }
112
+
113
+ message TicketsListResponse {
114
+ repeated Ticket items = 1;
115
+ int32 total = 2;
116
+ int32 page = 3;
117
+ int32 limit = 4;
118
+ }
@@ -1,105 +1,105 @@
1
- syntax = "proto3";
2
-
3
- package taxonomy.v1;
4
-
5
- service TaxonomyService {
6
- rpc FindAllCategories(Empty) returns (CategoriesListResponse);
7
- rpc FindAllApplications(Empty) returns (ApplicationsListResponse);
8
- rpc FindAllTags(QueryTagsRequest) returns (TagsListResponse);
9
-
10
- rpc CreateCategory(CreateCategoryRequest) returns (CategoryResponse);
11
- rpc CreateApplication(CreateApplicationRequest) returns (ApplicationResponse);
12
- rpc UpdateApplication(UpdateApplicationRequest) returns (ApplicationResponse);
13
-
14
- // Mint a presigned PUT URL for an application icon SVG (proxies upload-service,
15
- // kind=ICON → public/icons/). Client PUTs the bytes to upload_url, then passes
16
- // icon_url to Create/UpdateApplication.
17
- rpc CreateIconUploadUrl(CreateIconUploadUrlRequest) returns (IconUploadUrlResponse);
18
- }
19
-
20
- message Category {
21
- string id = 1;
22
- string name = 2;
23
- string description = 3;
24
- string created_at = 4;
25
- string updated_at = 5;
26
- }
27
-
28
- message Application {
29
- string id = 1;
30
- string name = 2;
31
- string description = 3;
32
- string created_at = 4;
33
- string updated_at = 5;
34
- string icon_url = 6; // public S3 URL to brand SVG (admin-set), empty if none
35
- }
36
-
37
- message Tag {
38
- string id = 1;
39
- string name = 2;
40
- }
41
-
42
- // =================================================================
43
- // Requests / responses
44
- // =================================================================
45
-
46
- message Empty {}
47
-
48
- message CategoriesListResponse {
49
- repeated Category items = 1;
50
- }
51
-
52
- message ApplicationsListResponse {
53
- repeated Application items = 1;
54
- }
55
-
56
- message QueryTagsRequest {
57
- string search = 1;
58
- int32 page = 2;
59
- int32 limit = 3;
60
- }
61
-
62
- message TagsListResponse {
63
- repeated Tag items = 1;
64
- int32 total = 2;
65
- int32 page = 3;
66
- int32 limit = 4;
67
- }
68
-
69
- message CreateCategoryRequest {
70
- string name = 1;
71
- string description = 2;
72
- }
73
-
74
- message CategoryResponse {
75
- Category category = 1;
76
- }
77
-
78
- message CreateApplicationRequest {
79
- string name = 1;
80
- string description = 2;
81
- string icon_url = 3;
82
- }
83
-
84
- message UpdateApplicationRequest {
85
- string id = 1;
86
- string name = 2; // optional — empty keeps current
87
- string description = 3; // optional
88
- string icon_url = 4; // optional — empty keeps current
89
- }
90
-
91
- message ApplicationResponse {
92
- Application application = 1;
93
- }
94
-
95
- message CreateIconUploadUrlRequest {
96
- string file_name = 1;
97
- string mime_type = 2; // e.g. image/svg+xml
98
- }
99
-
100
- message IconUploadUrlResponse {
101
- string upload_url = 1; // presigned PUT URL — client uploads the SVG bytes here
102
- string icon_url = 2; // final public URL to store as Application.iconUrl
103
- string file_key = 3;
104
- int32 expires_in = 4;
105
- }
1
+ syntax = "proto3";
2
+
3
+ package taxonomy.v1;
4
+
5
+ service TaxonomyService {
6
+ rpc FindAllCategories(Empty) returns (CategoriesListResponse);
7
+ rpc FindAllApplications(Empty) returns (ApplicationsListResponse);
8
+ rpc FindAllTags(QueryTagsRequest) returns (TagsListResponse);
9
+
10
+ rpc CreateCategory(CreateCategoryRequest) returns (CategoryResponse);
11
+ rpc CreateApplication(CreateApplicationRequest) returns (ApplicationResponse);
12
+ rpc UpdateApplication(UpdateApplicationRequest) returns (ApplicationResponse);
13
+
14
+ // Mint a presigned PUT URL for an application icon SVG (proxies upload-service,
15
+ // kind=ICON → public/icons/). Client PUTs the bytes to upload_url, then passes
16
+ // icon_url to Create/UpdateApplication.
17
+ rpc CreateIconUploadUrl(CreateIconUploadUrlRequest) returns (IconUploadUrlResponse);
18
+ }
19
+
20
+ message Category {
21
+ string id = 1;
22
+ string name = 2;
23
+ string description = 3;
24
+ string created_at = 4;
25
+ string updated_at = 5;
26
+ }
27
+
28
+ message Application {
29
+ string id = 1;
30
+ string name = 2;
31
+ string description = 3;
32
+ string created_at = 4;
33
+ string updated_at = 5;
34
+ string icon_url = 6; // public S3 URL to brand SVG (admin-set), empty if none
35
+ }
36
+
37
+ message Tag {
38
+ string id = 1;
39
+ string name = 2;
40
+ }
41
+
42
+ // =================================================================
43
+ // Requests / responses
44
+ // =================================================================
45
+
46
+ message Empty {}
47
+
48
+ message CategoriesListResponse {
49
+ repeated Category items = 1;
50
+ }
51
+
52
+ message ApplicationsListResponse {
53
+ repeated Application items = 1;
54
+ }
55
+
56
+ message QueryTagsRequest {
57
+ string search = 1;
58
+ int32 page = 2;
59
+ int32 limit = 3;
60
+ }
61
+
62
+ message TagsListResponse {
63
+ repeated Tag items = 1;
64
+ int32 total = 2;
65
+ int32 page = 3;
66
+ int32 limit = 4;
67
+ }
68
+
69
+ message CreateCategoryRequest {
70
+ string name = 1;
71
+ string description = 2;
72
+ }
73
+
74
+ message CategoryResponse {
75
+ Category category = 1;
76
+ }
77
+
78
+ message CreateApplicationRequest {
79
+ string name = 1;
80
+ string description = 2;
81
+ string icon_url = 3;
82
+ }
83
+
84
+ message UpdateApplicationRequest {
85
+ string id = 1;
86
+ string name = 2; // optional — empty keeps current
87
+ string description = 3; // optional
88
+ string icon_url = 4; // optional — empty keeps current
89
+ }
90
+
91
+ message ApplicationResponse {
92
+ Application application = 1;
93
+ }
94
+
95
+ message CreateIconUploadUrlRequest {
96
+ string file_name = 1;
97
+ string mime_type = 2; // e.g. image/svg+xml
98
+ }
99
+
100
+ message IconUploadUrlResponse {
101
+ string upload_url = 1; // presigned PUT URL — client uploads the SVG bytes here
102
+ string icon_url = 2; // final public URL to store as Application.iconUrl
103
+ string file_key = 3;
104
+ int32 expires_in = 4;
105
+ }