@mamindom/contracts 1.0.124 → 1.0.126

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.
Files changed (64) hide show
  1. package/dist/events/auth/otp-requested.interface.d.ts +6 -2
  2. package/dist/events/index.d.ts +1 -0
  3. package/dist/events/index.js +1 -0
  4. package/dist/events/orders/order-cancelled.interface.d.ts +7 -0
  5. package/dist/events/orders/order-status-changed.interface.d.ts +9 -0
  6. package/dist/events/stock/index.d.ts +5 -0
  7. package/dist/events/stock/index.js +21 -0
  8. package/dist/events/stock/stock-confirm-requested.interface.d.ts +4 -0
  9. package/dist/events/stock/stock-confirm-requested.interface.js +2 -0
  10. package/dist/events/stock/stock-release-requested.interface.d.ts +9 -0
  11. package/dist/events/stock/stock-release-requested.interface.js +2 -0
  12. package/dist/events/stock/stock-reserve-failed.interface.d.ts +9 -0
  13. package/dist/events/stock/stock-reserve-failed.interface.js +2 -0
  14. package/dist/events/stock/stock-reserve-requested.interface.d.ts +10 -0
  15. package/dist/events/stock/stock-reserve-requested.interface.js +2 -0
  16. package/dist/events/stock/stock-reserved.interface.d.ts +11 -0
  17. package/dist/events/stock/stock-reserved.interface.js +2 -0
  18. package/dist/gen/audit.d.ts +65 -0
  19. package/dist/gen/audit.js +28 -0
  20. package/dist/gen/bonus_settings.d.ts +35 -0
  21. package/dist/gen/bonus_settings.js +28 -0
  22. package/dist/gen/delivery_settings.d.ts +33 -0
  23. package/dist/gen/delivery_settings.js +28 -0
  24. package/dist/gen/manager.d.ts +102 -0
  25. package/dist/gen/manager.js +39 -0
  26. package/dist/gen/notification.d.ts +279 -0
  27. package/dist/gen/notification.js +119 -0
  28. package/dist/gen/product.d.ts +16 -0
  29. package/dist/gen/rbac.d.ts +111 -0
  30. package/dist/gen/rbac.js +37 -0
  31. package/dist/proto/audit.proto +59 -0
  32. package/dist/proto/bonus_settings.proto +35 -0
  33. package/dist/proto/delivery_settings.proto +35 -0
  34. package/dist/proto/manager.proto +88 -0
  35. package/dist/proto/notification.proto +317 -0
  36. package/dist/proto/product.proto +26 -9
  37. package/dist/proto/rbac.proto +109 -0
  38. package/dist/src/proto/paths.d.ts +6 -0
  39. package/dist/src/proto/paths.js +7 -1
  40. package/events/auth/otp-requested.interface.ts +10 -2
  41. package/events/index.ts +1 -0
  42. package/events/orders/order-cancelled.interface.ts +9 -0
  43. package/events/orders/order-status-changed.interface.ts +14 -0
  44. package/events/stock/index.ts +5 -0
  45. package/events/stock/stock-confirm-requested.interface.ts +6 -0
  46. package/events/stock/stock-release-requested.interface.ts +11 -0
  47. package/events/stock/stock-reserve-failed.interface.ts +8 -0
  48. package/events/stock/stock-reserve-requested.interface.ts +16 -0
  49. package/events/stock/stock-reserved.interface.ts +13 -0
  50. package/gen/audit.ts +109 -0
  51. package/gen/bonus_settings.ts +71 -0
  52. package/gen/delivery_settings.ts +69 -0
  53. package/gen/manager.ts +192 -0
  54. package/gen/notification.ts +427 -0
  55. package/gen/product.ts +31 -5
  56. package/gen/rbac.ts +192 -0
  57. package/package.json +1 -1
  58. package/proto/audit.proto +59 -0
  59. package/proto/bonus_settings.proto +35 -0
  60. package/proto/delivery_settings.proto +35 -0
  61. package/proto/manager.proto +88 -0
  62. package/proto/notification.proto +317 -0
  63. package/proto/product.proto +26 -9
  64. package/proto/rbac.proto +109 -0
package/gen/rbac.ts ADDED
@@ -0,0 +1,192 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.11.4
4
+ // protoc v3.21.12
5
+ // source: rbac.proto
6
+
7
+ /* eslint-disable */
8
+ import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
9
+ import { Observable } from "rxjs";
10
+
11
+ export const protobufPackage = "rbac.v1";
12
+
13
+ export interface RbacPermission {
14
+ id: string;
15
+ key: string;
16
+ groupKey: string;
17
+ label: string;
18
+ description: string;
19
+ }
20
+
21
+ export interface RbacRole {
22
+ id: string;
23
+ slug: string;
24
+ name: string;
25
+ description: string;
26
+ color: string;
27
+ isSystem: boolean;
28
+ isProtected: boolean;
29
+ usersCount: number;
30
+ permissionKeys: string[];
31
+ createdAt: string;
32
+ updatedAt: string;
33
+ }
34
+
35
+ export interface ListPermissionsRequest {
36
+ }
37
+
38
+ export interface ListPermissionsResponse {
39
+ items: RbacPermission[];
40
+ }
41
+
42
+ export interface ListRolesRequest {
43
+ search?: string | undefined;
44
+ }
45
+
46
+ export interface ListRolesResponse {
47
+ items: RbacRole[];
48
+ }
49
+
50
+ export interface GetRoleRequest {
51
+ id: string;
52
+ }
53
+
54
+ export interface CreateRoleRequest {
55
+ slug: string;
56
+ name: string;
57
+ description: string;
58
+ color: string;
59
+ permissionKeys: string[];
60
+ }
61
+
62
+ export interface UpdateRoleRequest {
63
+ id: string;
64
+ name?: string | undefined;
65
+ description?: string | undefined;
66
+ color?:
67
+ | string
68
+ | undefined;
69
+ /** Якщо передано — повна заміна; якщо не передано — без змін. */
70
+ permissionKeys: string[];
71
+ replacePermissions: boolean;
72
+ }
73
+
74
+ export interface DeleteRoleRequest {
75
+ id: string;
76
+ }
77
+
78
+ export interface DeleteRoleResponse {
79
+ ok: boolean;
80
+ }
81
+
82
+ export interface AssignAccountRoleRequest {
83
+ accountId: string;
84
+ /**
85
+ * Якщо custom_role_id порожній — користувач відвʼязується від кастомної ролі,
86
+ * і дозволи беруться з системної.
87
+ */
88
+ customRoleId?: string | undefined;
89
+ }
90
+
91
+ export interface AssignAccountRoleResponse {
92
+ ok: boolean;
93
+ }
94
+
95
+ export interface GetAccountPermissionsRequest {
96
+ accountId: string;
97
+ }
98
+
99
+ export interface GetAccountPermissionsResponse {
100
+ /**
101
+ * Effective permissions з урахуванням system role + custom role override.
102
+ * Може містити "*" — повний доступ (ADMIN).
103
+ */
104
+ permissionKeys: string[];
105
+ /** Слаг ефективної ролі (для UI/labels). */
106
+ roleSlug: string;
107
+ roleName: string;
108
+ }
109
+
110
+ export const RBAC_V1_PACKAGE_NAME = "rbac.v1";
111
+
112
+ export interface RbacServiceClient {
113
+ /** Permissions catalog (read-only, seeded). */
114
+
115
+ listPermissions(request: ListPermissionsRequest): Observable<ListPermissionsResponse>;
116
+
117
+ /** Roles CRUD. */
118
+
119
+ listRoles(request: ListRolesRequest): Observable<ListRolesResponse>;
120
+
121
+ getRole(request: GetRoleRequest): Observable<RbacRole>;
122
+
123
+ createRole(request: CreateRoleRequest): Observable<RbacRole>;
124
+
125
+ updateRole(request: UpdateRoleRequest): Observable<RbacRole>;
126
+
127
+ deleteRole(request: DeleteRoleRequest): Observable<DeleteRoleResponse>;
128
+
129
+ /** Account ↔ role bindings. */
130
+
131
+ assignAccountRole(request: AssignAccountRoleRequest): Observable<AssignAccountRoleResponse>;
132
+
133
+ getAccountPermissions(request: GetAccountPermissionsRequest): Observable<GetAccountPermissionsResponse>;
134
+ }
135
+
136
+ export interface RbacServiceController {
137
+ /** Permissions catalog (read-only, seeded). */
138
+
139
+ listPermissions(
140
+ request: ListPermissionsRequest,
141
+ ): Promise<ListPermissionsResponse> | Observable<ListPermissionsResponse> | ListPermissionsResponse;
142
+
143
+ /** Roles CRUD. */
144
+
145
+ listRoles(request: ListRolesRequest): Promise<ListRolesResponse> | Observable<ListRolesResponse> | ListRolesResponse;
146
+
147
+ getRole(request: GetRoleRequest): Promise<RbacRole> | Observable<RbacRole> | RbacRole;
148
+
149
+ createRole(request: CreateRoleRequest): Promise<RbacRole> | Observable<RbacRole> | RbacRole;
150
+
151
+ updateRole(request: UpdateRoleRequest): Promise<RbacRole> | Observable<RbacRole> | RbacRole;
152
+
153
+ deleteRole(
154
+ request: DeleteRoleRequest,
155
+ ): Promise<DeleteRoleResponse> | Observable<DeleteRoleResponse> | DeleteRoleResponse;
156
+
157
+ /** Account ↔ role bindings. */
158
+
159
+ assignAccountRole(
160
+ request: AssignAccountRoleRequest,
161
+ ): Promise<AssignAccountRoleResponse> | Observable<AssignAccountRoleResponse> | AssignAccountRoleResponse;
162
+
163
+ getAccountPermissions(
164
+ request: GetAccountPermissionsRequest,
165
+ ): Promise<GetAccountPermissionsResponse> | Observable<GetAccountPermissionsResponse> | GetAccountPermissionsResponse;
166
+ }
167
+
168
+ export function RbacServiceControllerMethods() {
169
+ return function (constructor: Function) {
170
+ const grpcMethods: string[] = [
171
+ "listPermissions",
172
+ "listRoles",
173
+ "getRole",
174
+ "createRole",
175
+ "updateRole",
176
+ "deleteRole",
177
+ "assignAccountRole",
178
+ "getAccountPermissions",
179
+ ];
180
+ for (const method of grpcMethods) {
181
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
182
+ GrpcMethod("RbacService", method)(constructor.prototype[method], method, descriptor);
183
+ }
184
+ const grpcStreamMethods: string[] = [];
185
+ for (const method of grpcStreamMethods) {
186
+ const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
187
+ GrpcStreamMethod("RbacService", method)(constructor.prototype[method], method, descriptor);
188
+ }
189
+ };
190
+ }
191
+
192
+ export const RBAC_SERVICE_NAME = "RbacService";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mamindom/contracts",
3
3
  "description": "proto",
4
- "version": "1.0.124",
4
+ "version": "1.0.126",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
7
7
  "exports": {
@@ -0,0 +1,59 @@
1
+ syntax = "proto3";
2
+
3
+ package audit.v1;
4
+
5
+ service AuditService {
6
+ rpc LogAction(LogActionRequest) returns (LogActionResponse);
7
+ rpc ListAudit(ListAuditRequest) returns (ListAuditResponse);
8
+ }
9
+
10
+ message LogActionRequest {
11
+ optional string actor_id = 1;
12
+ optional string actor_name = 2;
13
+ optional string actor_email = 3;
14
+ string action = 4; // e.g. "order.cancelled", "product.price_changed"
15
+ string target_type = 5; // e.g. "order", "product", "role"
16
+ optional string target_id = 6;
17
+ optional string summary = 7; // human-readable summary
18
+ optional string before_json = 8; // serialized JSON snapshot (small!)
19
+ optional string after_json = 9;
20
+ optional string ip = 10;
21
+ optional string user_agent = 11;
22
+ }
23
+
24
+ message LogActionResponse {
25
+ bool ok = 1;
26
+ }
27
+
28
+ message ListAuditRequest {
29
+ optional int32 page = 1;
30
+ optional int32 limit = 2;
31
+ optional string actor_id = 3;
32
+ optional string target_type = 4;
33
+ optional string target_id = 5;
34
+ optional string action = 6;
35
+ optional string action_group = 7; // "orders" matches order.* etc
36
+ optional string from = 8; // ISO date
37
+ optional string to = 9;
38
+ }
39
+
40
+ message AuditEntry {
41
+ string id = 1;
42
+ string actor_id = 2;
43
+ string actor_name = 3;
44
+ string actor_email = 4;
45
+ string action = 5;
46
+ string target_type = 6;
47
+ string target_id = 7;
48
+ string summary = 8;
49
+ string before_json = 9;
50
+ string after_json = 10;
51
+ string ip = 11;
52
+ string user_agent = 12;
53
+ string created_at = 13;
54
+ }
55
+
56
+ message ListAuditResponse {
57
+ repeated AuditEntry items = 1;
58
+ int32 total = 2;
59
+ }
@@ -0,0 +1,35 @@
1
+ syntax = "proto3";
2
+
3
+ package promo.v1;
4
+
5
+
6
+ service BonusSettingsService {
7
+ rpc GetBonusSettings (GetBonusSettingsRequest) returns (BonusSettingsResponse);
8
+ rpc UpdateBonusSettings (UpdateBonusSettingsRequest) returns (BonusSettingsResponse);
9
+ }
10
+
11
+
12
+ message BonusSettingsResponse {
13
+ // Курс нарахування бонусів від суми замовлення (0.02 = 2%).
14
+ double earn_rate = 1;
15
+ // Курс списання бонусів (1 бонус = N грн, default 1.0).
16
+ double redeem_rate = 2;
17
+ // Мінімальна сума замовлення для нарахування бонусів (0 = без обмеження).
18
+ double min_order_for_earn = 3;
19
+ // Максимальний відсоток від суми замовлення, який можна оплатити бонусами
20
+ // (1.0 = до 100%, 0.5 = до 50%; 0 — без обмеження).
21
+ double max_redeem_share = 4;
22
+
23
+ string updated_at = 5;
24
+ }
25
+
26
+
27
+ message GetBonusSettingsRequest {}
28
+
29
+
30
+ message UpdateBonusSettingsRequest {
31
+ optional double earn_rate = 1;
32
+ optional double redeem_rate = 2;
33
+ optional double min_order_for_earn = 3;
34
+ optional double max_redeem_share = 4;
35
+ }
@@ -0,0 +1,35 @@
1
+ syntax = "proto3";
2
+
3
+ package delivery.v1;
4
+
5
+
6
+ service DeliverySettingsService {
7
+ rpc GetDeliverySettings (GetDeliverySettingsRequest) returns (DeliverySettingsResponse);
8
+ rpc UpdateDeliverySettings (UpdateDeliverySettingsRequest) returns (DeliverySettingsResponse);
9
+ }
10
+
11
+
12
+ message DeliverySettingsResponse {
13
+ // Дефолтна вага позиції у кг — fallback коли catalog не повертає weight.
14
+ double default_item_weight_kg = 1;
15
+ // Поріг безкоштовної доставки в грн (0 = вимкнено).
16
+ double free_shipping_threshold = 2;
17
+ // Дефолтна оголошена вартість на одиницю товару у грн (для страхування НП).
18
+ double default_declared_value = 3;
19
+ // Reference відправника у НП (вибране warehouse адміністратором у settings).
20
+ optional string np_sender_warehouse_ref = 4;
21
+
22
+ string updated_at = 5;
23
+ }
24
+
25
+
26
+ message GetDeliverySettingsRequest {}
27
+
28
+
29
+ message UpdateDeliverySettingsRequest {
30
+ optional double default_item_weight_kg = 1;
31
+ optional double free_shipping_threshold = 2;
32
+ optional double default_declared_value = 3;
33
+ optional string np_sender_warehouse_ref = 4;
34
+ bool clear_np_sender_warehouse_ref = 5;
35
+ }
@@ -0,0 +1,88 @@
1
+ syntax = "proto3";
2
+
3
+ package manager.v1;
4
+
5
+ service ManagerService {
6
+ rpc ListManagers(ListManagersRequest) returns (ListManagersResponse);
7
+ rpc GetManager(GetManagerRequest) returns (ManagerProfileDto);
8
+ rpc CreateManager(CreateManagerRequest) returns (ManagerProfileDto);
9
+ rpc UpdateManager(UpdateManagerRequest) returns (ManagerProfileDto);
10
+ rpc SetManagerActive(SetManagerActiveRequest) returns (ManagerProfileDto);
11
+ rpc TerminateManager(TerminateManagerRequest) returns (ManagerProfileDto);
12
+ rpc ReorderManagers(ReorderManagersRequest) returns (BoolResult);
13
+ rpc AddVacation(AddVacationRequest) returns (AddVacationResponse);
14
+ rpc DeleteVacation(DeleteVacationRequest) returns (BoolResult);
15
+ rpc ReassignUnassigned(ReassignUnassignedRequest) returns (ReassignUnassignedResponse);
16
+ }
17
+
18
+ message Vacation {
19
+ string id = 1;
20
+ string starts_at = 2;
21
+ string ends_at = 3;
22
+ string reason = 4;
23
+ }
24
+
25
+ message ManagerProfileDto {
26
+ string id = 1;
27
+ string account_id = 2;
28
+ string display_name = 3;
29
+ string email = 4;
30
+ bool is_active = 5;
31
+ int32 queue_order = 6;
32
+ int32 assigned_count = 7;
33
+ string terminated_at = 8;
34
+ string reassignment_strategy = 9;
35
+ repeated Vacation vacations = 10;
36
+ string created_at = 11;
37
+ string updated_at = 12;
38
+ }
39
+
40
+ message ListManagersRequest {}
41
+ message ListManagersResponse {
42
+ repeated ManagerProfileDto items = 1;
43
+ }
44
+
45
+ message GetManagerRequest { string id = 1; }
46
+
47
+ message CreateManagerRequest {
48
+ string account_id = 1;
49
+ optional string display_name = 2;
50
+ optional string email = 3;
51
+ optional string reassignment_strategy = 4; // URGENT_ONLY | ALL
52
+ }
53
+
54
+ message UpdateManagerRequest {
55
+ string id = 1;
56
+ optional string display_name = 2;
57
+ optional string email = 3;
58
+ optional string reassignment_strategy = 4;
59
+ }
60
+
61
+ message SetManagerActiveRequest {
62
+ string id = 1;
63
+ bool is_active = 2;
64
+ }
65
+
66
+ message TerminateManagerRequest { string id = 1; }
67
+
68
+ message ReorderManagersRequest {
69
+ repeated string ordered_ids = 1;
70
+ }
71
+
72
+ message AddVacationRequest {
73
+ string manager_id = 1;
74
+ string starts_at = 2; // ISO date
75
+ string ends_at = 3;
76
+ optional string reason = 4;
77
+ }
78
+ message AddVacationResponse { string id = 1; }
79
+
80
+ message DeleteVacationRequest { string id = 1; }
81
+
82
+ message ReassignUnassignedRequest {}
83
+ message ReassignUnassignedResponse {
84
+ bool ok = 1;
85
+ int32 reassigned_count = 2;
86
+ }
87
+
88
+ message BoolResult { bool ok = 1; }