@aepstore-dev/contracts 1.41.0 → 1.42.1

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.
package/gen/support.ts DELETED
@@ -1,220 +0,0 @@
1
- // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
- // versions:
3
- // protoc-gen-ts_proto v2.10.1
4
- // protoc v7.35.0
5
- // source: support.proto
6
-
7
- /* eslint-disable */
8
- import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
- import { Observable } from "rxjs";
10
-
11
- export const protobufPackage = "support.v1";
12
-
13
- export interface PingRequest {
14
- message: string;
15
- }
16
-
17
- export interface PingResponse {
18
- ok: boolean;
19
- message: string;
20
- }
21
-
22
- export interface Ticket {
23
- id: string;
24
- authorId: string;
25
- subject: string;
26
- /** GENERAL|PAYMENT|WITHDRAWAL|PRODUCT|ACCOUNT|ABUSE|OTHER */
27
- category: string;
28
- /** OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED */
29
- status: string;
30
- /** LOW|NORMAL|HIGH|URGENT */
31
- priority: string;
32
- purchaseId: string;
33
- withdrawalId: string;
34
- assigneeId: string;
35
- lastMessageAt: string;
36
- createdAt: string;
37
- updatedAt: string;
38
- messagesCount: number;
39
- }
40
-
41
- export interface TicketMessage {
42
- id: string;
43
- ticketId: string;
44
- authorId: string;
45
- body: string;
46
- isStaff: boolean;
47
- isInternal: boolean;
48
- createdAt: string;
49
- }
50
-
51
- export interface TicketWithMessages {
52
- ticket: Ticket | undefined;
53
- messages: TicketMessage[];
54
- }
55
-
56
- export interface CreateTicketRequest {
57
- authorId: string;
58
- subject: string;
59
- category: string;
60
- /** first message */
61
- body: string;
62
- /** optional */
63
- purchaseId: string;
64
- /** optional */
65
- withdrawalId: string;
66
- }
67
-
68
- export interface GetTicketRequest {
69
- id: string;
70
- requesterId: string;
71
- /** staff see internal notes + any ticket */
72
- isStaff: boolean;
73
- }
74
-
75
- export interface ListMyTicketsRequest {
76
- authorId: string;
77
- status: string;
78
- page: number;
79
- limit: number;
80
- }
81
-
82
- export interface ReplyTicketRequest {
83
- ticketId: string;
84
- authorId: string;
85
- body: string;
86
- isStaff: boolean;
87
- /** staff-only note */
88
- isInternal: boolean;
89
- }
90
-
91
- export interface CloseTicketRequest {
92
- ticketId: string;
93
- requesterId: string;
94
- isStaff: boolean;
95
- }
96
-
97
- export interface ListTicketsRequest {
98
- status: string;
99
- category: string;
100
- assigneeId: string;
101
- page: number;
102
- limit: number;
103
- }
104
-
105
- export interface AssignTicketRequest {
106
- ticketId: string;
107
- /** empty = unassign */
108
- assigneeId: string;
109
- adminId: string;
110
- }
111
-
112
- export interface SetTicketStatusRequest {
113
- ticketId: string;
114
- status: string;
115
- adminId: string;
116
- }
117
-
118
- export interface TicketsListResponse {
119
- items: Ticket[];
120
- total: number;
121
- page: number;
122
- limit: number;
123
- }
124
-
125
- export const SUPPORT_V1_PACKAGE_NAME = "support.v1";
126
-
127
- /**
128
- * Support ticket system (G1). Enums as strings matching the DB
129
- * (status OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED; category/priority).
130
- */
131
-
132
- export interface SupportServiceClient {
133
- /** health */
134
-
135
- ping(request: PingRequest): Observable<PingResponse>;
136
-
137
- /** user */
138
-
139
- createTicket(request: CreateTicketRequest): Observable<Ticket>;
140
-
141
- getTicket(request: GetTicketRequest): Observable<TicketWithMessages>;
142
-
143
- listMyTickets(request: ListMyTicketsRequest): Observable<TicketsListResponse>;
144
-
145
- replyTicket(request: ReplyTicketRequest): Observable<TicketMessage>;
146
-
147
- closeTicket(request: CloseTicketRequest): Observable<Ticket>;
148
-
149
- /** staff/admin */
150
-
151
- listTickets(request: ListTicketsRequest): Observable<TicketsListResponse>;
152
-
153
- assignTicket(request: AssignTicketRequest): Observable<Ticket>;
154
-
155
- setTicketStatus(request: SetTicketStatusRequest): Observable<Ticket>;
156
- }
157
-
158
- /**
159
- * Support ticket system (G1). Enums as strings matching the DB
160
- * (status OPEN|PENDING|IN_PROGRESS|RESOLVED|CLOSED; category/priority).
161
- */
162
-
163
- export interface SupportServiceController {
164
- /** health */
165
-
166
- ping(request: PingRequest): Promise<PingResponse> | Observable<PingResponse> | PingResponse;
167
-
168
- /** user */
169
-
170
- createTicket(request: CreateTicketRequest): Promise<Ticket> | Observable<Ticket> | Ticket;
171
-
172
- getTicket(
173
- request: GetTicketRequest,
174
- ): Promise<TicketWithMessages> | Observable<TicketWithMessages> | TicketWithMessages;
175
-
176
- listMyTickets(
177
- request: ListMyTicketsRequest,
178
- ): Promise<TicketsListResponse> | Observable<TicketsListResponse> | TicketsListResponse;
179
-
180
- replyTicket(request: ReplyTicketRequest): Promise<TicketMessage> | Observable<TicketMessage> | TicketMessage;
181
-
182
- closeTicket(request: CloseTicketRequest): Promise<Ticket> | Observable<Ticket> | Ticket;
183
-
184
- /** staff/admin */
185
-
186
- listTickets(
187
- request: ListTicketsRequest,
188
- ): Promise<TicketsListResponse> | Observable<TicketsListResponse> | TicketsListResponse;
189
-
190
- assignTicket(request: AssignTicketRequest): Promise<Ticket> | Observable<Ticket> | Ticket;
191
-
192
- setTicketStatus(request: SetTicketStatusRequest): Promise<Ticket> | Observable<Ticket> | Ticket;
193
- }
194
-
195
- export function SupportServiceControllerMethods() {
196
- return function (constructor: Function) {
197
- const grpcMethods: string[] = [
198
- "ping",
199
- "createTicket",
200
- "getTicket",
201
- "listMyTickets",
202
- "replyTicket",
203
- "closeTicket",
204
- "listTickets",
205
- "assignTicket",
206
- "setTicketStatus",
207
- ];
208
- for (const method of grpcMethods) {
209
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
210
- GrpcMethod("SupportService", method)(constructor.prototype[method], method, descriptor);
211
- }
212
- const grpcStreamMethods: string[] = [];
213
- for (const method of grpcStreamMethods) {
214
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
215
- GrpcStreamMethod("SupportService", method)(constructor.prototype[method], method, descriptor);
216
- }
217
- };
218
- }
219
-
220
- export const SUPPORT_SERVICE_NAME = "SupportService";
package/gen/taxonomy.ts DELETED
@@ -1,185 +0,0 @@
1
- // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
- // versions:
3
- // protoc-gen-ts_proto v2.10.1
4
- // protoc v7.35.0
5
- // source: taxonomy.proto
6
-
7
- /* eslint-disable */
8
- import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
- import { Observable } from "rxjs";
10
-
11
- export const protobufPackage = "taxonomy.v1";
12
-
13
- export interface Category {
14
- id: string;
15
- name: string;
16
- description: string;
17
- createdAt: string;
18
- updatedAt: string;
19
- }
20
-
21
- export interface Application {
22
- id: string;
23
- name: string;
24
- description: string;
25
- createdAt: string;
26
- updatedAt: string;
27
- /** public S3 URL to brand SVG (admin-set), empty if none */
28
- iconUrl: string;
29
- }
30
-
31
- export interface Tag {
32
- id: string;
33
- name: string;
34
- }
35
-
36
- export interface Empty {
37
- }
38
-
39
- export interface CategoriesListResponse {
40
- items: Category[];
41
- }
42
-
43
- export interface ApplicationsListResponse {
44
- items: Application[];
45
- }
46
-
47
- export interface QueryTagsRequest {
48
- search: string;
49
- page: number;
50
- limit: number;
51
- }
52
-
53
- export interface TagsListResponse {
54
- items: Tag[];
55
- total: number;
56
- page: number;
57
- limit: number;
58
- }
59
-
60
- export interface CreateCategoryRequest {
61
- name: string;
62
- description: string;
63
- }
64
-
65
- export interface CategoryResponse {
66
- category: Category | undefined;
67
- }
68
-
69
- export interface CreateApplicationRequest {
70
- name: string;
71
- description: string;
72
- iconUrl: string;
73
- }
74
-
75
- export interface UpdateApplicationRequest {
76
- id: string;
77
- /** optional — empty keeps current */
78
- name: string;
79
- /** optional */
80
- description: string;
81
- /** optional — empty keeps current */
82
- iconUrl: string;
83
- }
84
-
85
- export interface ApplicationResponse {
86
- application: Application | undefined;
87
- }
88
-
89
- export interface CreateIconUploadUrlRequest {
90
- fileName: string;
91
- /** e.g. image/svg+xml */
92
- mimeType: string;
93
- }
94
-
95
- export interface IconUploadUrlResponse {
96
- /** presigned PUT URL — client uploads the SVG bytes here */
97
- uploadUrl: string;
98
- /** final public URL to store as Application.iconUrl */
99
- iconUrl: string;
100
- fileKey: string;
101
- expiresIn: number;
102
- }
103
-
104
- export const TAXONOMY_V1_PACKAGE_NAME = "taxonomy.v1";
105
-
106
- export interface TaxonomyServiceClient {
107
- findAllCategories(request: Empty): Observable<CategoriesListResponse>;
108
-
109
- findAllApplications(request: Empty): Observable<ApplicationsListResponse>;
110
-
111
- findAllTags(request: QueryTagsRequest): Observable<TagsListResponse>;
112
-
113
- createCategory(request: CreateCategoryRequest): Observable<CategoryResponse>;
114
-
115
- createApplication(request: CreateApplicationRequest): Observable<ApplicationResponse>;
116
-
117
- updateApplication(request: UpdateApplicationRequest): Observable<ApplicationResponse>;
118
-
119
- /**
120
- * Mint a presigned PUT URL for an application icon SVG (proxies upload-service,
121
- * kind=ICON → public/icons/). Client PUTs the bytes to upload_url, then passes
122
- * icon_url to Create/UpdateApplication.
123
- */
124
-
125
- createIconUploadUrl(request: CreateIconUploadUrlRequest): Observable<IconUploadUrlResponse>;
126
- }
127
-
128
- export interface TaxonomyServiceController {
129
- findAllCategories(
130
- request: Empty,
131
- ): Promise<CategoriesListResponse> | Observable<CategoriesListResponse> | CategoriesListResponse;
132
-
133
- findAllApplications(
134
- request: Empty,
135
- ): Promise<ApplicationsListResponse> | Observable<ApplicationsListResponse> | ApplicationsListResponse;
136
-
137
- findAllTags(request: QueryTagsRequest): Promise<TagsListResponse> | Observable<TagsListResponse> | TagsListResponse;
138
-
139
- createCategory(
140
- request: CreateCategoryRequest,
141
- ): Promise<CategoryResponse> | Observable<CategoryResponse> | CategoryResponse;
142
-
143
- createApplication(
144
- request: CreateApplicationRequest,
145
- ): Promise<ApplicationResponse> | Observable<ApplicationResponse> | ApplicationResponse;
146
-
147
- updateApplication(
148
- request: UpdateApplicationRequest,
149
- ): Promise<ApplicationResponse> | Observable<ApplicationResponse> | ApplicationResponse;
150
-
151
- /**
152
- * Mint a presigned PUT URL for an application icon SVG (proxies upload-service,
153
- * kind=ICON → public/icons/). Client PUTs the bytes to upload_url, then passes
154
- * icon_url to Create/UpdateApplication.
155
- */
156
-
157
- createIconUploadUrl(
158
- request: CreateIconUploadUrlRequest,
159
- ): Promise<IconUploadUrlResponse> | Observable<IconUploadUrlResponse> | IconUploadUrlResponse;
160
- }
161
-
162
- export function TaxonomyServiceControllerMethods() {
163
- return function (constructor: Function) {
164
- const grpcMethods: string[] = [
165
- "findAllCategories",
166
- "findAllApplications",
167
- "findAllTags",
168
- "createCategory",
169
- "createApplication",
170
- "updateApplication",
171
- "createIconUploadUrl",
172
- ];
173
- for (const method of grpcMethods) {
174
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
175
- GrpcMethod("TaxonomyService", method)(constructor.prototype[method], method, descriptor);
176
- }
177
- const grpcStreamMethods: string[] = [];
178
- for (const method of grpcStreamMethods) {
179
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
180
- GrpcStreamMethod("TaxonomyService", method)(constructor.prototype[method], method, descriptor);
181
- }
182
- };
183
- }
184
-
185
- export const TAXONOMY_SERVICE_NAME = "TaxonomyService";
package/gen/upload.ts DELETED
@@ -1,287 +0,0 @@
1
- // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
- // versions:
3
- // protoc-gen-ts_proto v2.10.1
4
- // protoc v7.35.0
5
- // source: upload.proto
6
-
7
- /* eslint-disable */
8
- import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
- import { Observable } from "rxjs";
10
-
11
- export const protobufPackage = "upload.v1";
12
-
13
- /**
14
- * Determines the object key prefix (and future ACL/privacy policy).
15
- * ATTACHMENT = paid product deliverable (private; presigned GET only after purchase).
16
- * MEDIA / AVATAR / BANNER = preview assets.
17
- */
18
- export enum UploadKind {
19
- UPLOAD_KIND_UNSPECIFIED = 0,
20
- UPLOAD_KIND_ATTACHMENT = 1,
21
- UPLOAD_KIND_MEDIA = 2,
22
- UPLOAD_KIND_AVATAR = 3,
23
- UPLOAD_KIND_BANNER = 4,
24
- /** UPLOAD_KIND_ICON - taxonomy program/app brand icons → public/icons/ */
25
- UPLOAD_KIND_ICON = 5,
26
- UNRECOGNIZED = -1,
27
- }
28
-
29
- export interface ListObjectsRequest {
30
- prefix: string;
31
- /** empty for the first page */
32
- continuationToken: string;
33
- }
34
-
35
- export interface StoredObject {
36
- key: string;
37
- /** ISO 8601 */
38
- lastModified: string;
39
- }
40
-
41
- export interface ListObjectsResponse {
42
- objects: StoredObject[];
43
- /** empty when there are no more pages */
44
- nextContinuationToken: string;
45
- }
46
-
47
- export interface Ok {
48
- ok: boolean;
49
- }
50
-
51
- export interface CreateMultipartUploadRequest {
52
- fileName: string;
53
- mimeType: string;
54
- fileSize: number;
55
- kind: UploadKind;
56
- /** user initiating, for key namespacing + audit */
57
- ownerId: string;
58
- }
59
-
60
- export interface CreateMultipartUploadResponse {
61
- /** S3 multipart UploadId */
62
- uploadId: string;
63
- /** object key this service generated */
64
- fileKey: string;
65
- /** recommended part size (bytes) the client should slice with */
66
- partSize: number;
67
- /** number of parts for file_size at part_size */
68
- partCount: number;
69
- }
70
-
71
- export interface SignPartRequest {
72
- fileKey: string;
73
- uploadId: string;
74
- /** 1-based */
75
- partNumber: number;
76
- }
77
-
78
- export interface SignPartResponse {
79
- /** presigned PUT URL for this single part */
80
- url: string;
81
- expiresIn: number;
82
- }
83
-
84
- export interface CompletedPart {
85
- partNumber: number;
86
- /** ETag the client received in the S3 PUT response header for this part */
87
- etag: string;
88
- }
89
-
90
- export interface CompleteMultipartUploadRequest {
91
- fileKey: string;
92
- uploadId: string;
93
- parts: CompletedPart[];
94
- }
95
-
96
- export interface CompleteMultipartUploadResponse {
97
- fileKey: string;
98
- /** final object location (internal reference) */
99
- location: string;
100
- fileSize: number;
101
- }
102
-
103
- export interface AbortMultipartUploadRequest {
104
- fileKey: string;
105
- uploadId: string;
106
- }
107
-
108
- export interface CreateUploadUrlRequest {
109
- fileName: string;
110
- mimeType: string;
111
- kind: UploadKind;
112
- ownerId: string;
113
- }
114
-
115
- export interface CreateUploadUrlResponse {
116
- /** presigned PUT URL (client PUTs the whole file) */
117
- url: string;
118
- fileKey: string;
119
- expiresIn: number;
120
- /** final object URL (only meaningful for public kinds) */
121
- publicUrl: string;
122
- }
123
-
124
- export interface SignedUrlRequest {
125
- fileKey: string;
126
- /** optional, default 3600 */
127
- expiresIn: number;
128
- /** optional: forces Content-Disposition attachment filename */
129
- downloadFileName: string;
130
- }
131
-
132
- export interface SignedUrlResponse {
133
- signedUrl: string;
134
- expiresIn: number;
135
- }
136
-
137
- export interface HeadObjectRequest {
138
- fileKey: string;
139
- }
140
-
141
- export interface HeadObjectResponse {
142
- /** false only when the object is definitively absent (404) */
143
- exists: boolean;
144
- /** bytes (0 when absent) */
145
- size: number;
146
- contentType: string;
147
- }
148
-
149
- export interface DeleteObjectRequest {
150
- fileKey: string;
151
- }
152
-
153
- export const UPLOAD_V1_PACKAGE_NAME = "upload.v1";
154
-
155
- /**
156
- * Thin signing service. File bytes NEVER pass through this service — clients
157
- * upload/download directly to/from S3 (Yandex Object Storage) using presigned
158
- * URLs this service mints. Memory/bandwidth flat regardless of file size.
159
- *
160
- * Large files (product deliverables, up to ~1GB) use the multipart flow:
161
- * CreateMultipartUpload → (SignPart × N, client PUTs each part to S3) →
162
- * CompleteMultipartUpload (or AbortMultipartUpload on failure)
163
- *
164
- * Small files (preview images, avatars) use the single-PUT flow: CreateUploadUrl.
165
- *
166
- * Downloads are gated elsewhere (products-service verifies purchase, then calls
167
- * GenerateSignedUrl). This service does not know about purchases.
168
- */
169
-
170
- export interface UploadServiceClient {
171
- createMultipartUpload(request: CreateMultipartUploadRequest): Observable<CreateMultipartUploadResponse>;
172
-
173
- signPart(request: SignPartRequest): Observable<SignPartResponse>;
174
-
175
- completeMultipartUpload(request: CompleteMultipartUploadRequest): Observable<CompleteMultipartUploadResponse>;
176
-
177
- abortMultipartUpload(request: AbortMultipartUploadRequest): Observable<Ok>;
178
-
179
- createUploadUrl(request: CreateUploadUrlRequest): Observable<CreateUploadUrlResponse>;
180
-
181
- generateSignedUrl(request: SignedUrlRequest): Observable<SignedUrlResponse>;
182
-
183
- /**
184
- * Verify an object actually exists (and read its size/type). Used by
185
- * products-service to confirm a client-echoed fileKey points at a real
186
- * uploaded object before persisting attachment metadata.
187
- */
188
-
189
- headObject(request: HeadObjectRequest): Observable<HeadObjectResponse>;
190
-
191
- deleteObject(request: DeleteObjectRequest): Observable<Ok>;
192
-
193
- /**
194
- * List objects under a prefix (paginated) — for GC/reconciliation jobs
195
- * (e.g. tasks-service sweeping orphaned uploads). Not for user traffic.
196
- */
197
-
198
- listObjects(request: ListObjectsRequest): Observable<ListObjectsResponse>;
199
- }
200
-
201
- /**
202
- * Thin signing service. File bytes NEVER pass through this service — clients
203
- * upload/download directly to/from S3 (Yandex Object Storage) using presigned
204
- * URLs this service mints. Memory/bandwidth flat regardless of file size.
205
- *
206
- * Large files (product deliverables, up to ~1GB) use the multipart flow:
207
- * CreateMultipartUpload → (SignPart × N, client PUTs each part to S3) →
208
- * CompleteMultipartUpload (or AbortMultipartUpload on failure)
209
- *
210
- * Small files (preview images, avatars) use the single-PUT flow: CreateUploadUrl.
211
- *
212
- * Downloads are gated elsewhere (products-service verifies purchase, then calls
213
- * GenerateSignedUrl). This service does not know about purchases.
214
- */
215
-
216
- export interface UploadServiceController {
217
- createMultipartUpload(
218
- request: CreateMultipartUploadRequest,
219
- ): Promise<CreateMultipartUploadResponse> | Observable<CreateMultipartUploadResponse> | CreateMultipartUploadResponse;
220
-
221
- signPart(request: SignPartRequest): Promise<SignPartResponse> | Observable<SignPartResponse> | SignPartResponse;
222
-
223
- completeMultipartUpload(
224
- request: CompleteMultipartUploadRequest,
225
- ):
226
- | Promise<CompleteMultipartUploadResponse>
227
- | Observable<CompleteMultipartUploadResponse>
228
- | CompleteMultipartUploadResponse;
229
-
230
- abortMultipartUpload(request: AbortMultipartUploadRequest): Promise<Ok> | Observable<Ok> | Ok;
231
-
232
- createUploadUrl(
233
- request: CreateUploadUrlRequest,
234
- ): Promise<CreateUploadUrlResponse> | Observable<CreateUploadUrlResponse> | CreateUploadUrlResponse;
235
-
236
- generateSignedUrl(
237
- request: SignedUrlRequest,
238
- ): Promise<SignedUrlResponse> | Observable<SignedUrlResponse> | SignedUrlResponse;
239
-
240
- /**
241
- * Verify an object actually exists (and read its size/type). Used by
242
- * products-service to confirm a client-echoed fileKey points at a real
243
- * uploaded object before persisting attachment metadata.
244
- */
245
-
246
- headObject(
247
- request: HeadObjectRequest,
248
- ): Promise<HeadObjectResponse> | Observable<HeadObjectResponse> | HeadObjectResponse;
249
-
250
- deleteObject(request: DeleteObjectRequest): Promise<Ok> | Observable<Ok> | Ok;
251
-
252
- /**
253
- * List objects under a prefix (paginated) — for GC/reconciliation jobs
254
- * (e.g. tasks-service sweeping orphaned uploads). Not for user traffic.
255
- */
256
-
257
- listObjects(
258
- request: ListObjectsRequest,
259
- ): Promise<ListObjectsResponse> | Observable<ListObjectsResponse> | ListObjectsResponse;
260
- }
261
-
262
- export function UploadServiceControllerMethods() {
263
- return function (constructor: Function) {
264
- const grpcMethods: string[] = [
265
- "createMultipartUpload",
266
- "signPart",
267
- "completeMultipartUpload",
268
- "abortMultipartUpload",
269
- "createUploadUrl",
270
- "generateSignedUrl",
271
- "headObject",
272
- "deleteObject",
273
- "listObjects",
274
- ];
275
- for (const method of grpcMethods) {
276
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
277
- GrpcMethod("UploadService", method)(constructor.prototype[method], method, descriptor);
278
- }
279
- const grpcStreamMethods: string[] = [];
280
- for (const method of grpcStreamMethods) {
281
- const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
282
- GrpcStreamMethod("UploadService", method)(constructor.prototype[method], method, descriptor);
283
- }
284
- };
285
- }
286
-
287
- export const UPLOAD_SERVICE_NAME = "UploadService";