@restorecommerce/protos 0.6.9 → 0.7.2

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 (36) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/io/restorecommerce/access_control.proto +9 -2
  3. package/io/restorecommerce/address.proto +20 -4
  4. package/io/restorecommerce/authentication_log.proto +7 -2
  5. package/io/restorecommerce/command.proto +6 -1
  6. package/io/restorecommerce/contact_point.proto +48 -5
  7. package/io/restorecommerce/contact_point_type.proto +6 -1
  8. package/io/restorecommerce/country.proto +7 -2
  9. package/io/restorecommerce/customer.proto +75 -8
  10. package/io/restorecommerce/fulfillment.proto +13 -5
  11. package/io/restorecommerce/fulfillment_courier.proto +9 -3
  12. package/io/restorecommerce/invoice.proto +18 -2
  13. package/io/restorecommerce/job.proto +6 -1
  14. package/io/restorecommerce/locale.proto +6 -1
  15. package/io/restorecommerce/location.proto +38 -5
  16. package/io/restorecommerce/manufacturer.proto +7 -2
  17. package/io/restorecommerce/notification.proto +6 -1
  18. package/io/restorecommerce/options.proto +25 -0
  19. package/io/restorecommerce/order.proto +27 -3
  20. package/io/restorecommerce/organization.proto +37 -4
  21. package/io/restorecommerce/ostorage.proto +10 -3
  22. package/io/restorecommerce/payment.proto +4 -1
  23. package/io/restorecommerce/policy.proto +6 -1
  24. package/io/restorecommerce/policy_set.proto +8 -3
  25. package/io/restorecommerce/price_group.proto +7 -2
  26. package/io/restorecommerce/product.proto +18 -2
  27. package/io/restorecommerce/product_category.proto +18 -2
  28. package/io/restorecommerce/product_prototype.proto +7 -2
  29. package/io/restorecommerce/role.proto +6 -1
  30. package/io/restorecommerce/rule.proto +7 -3
  31. package/io/restorecommerce/tax.proto +28 -3
  32. package/io/restorecommerce/tax_type.proto +6 -1
  33. package/io/restorecommerce/timezone.proto +6 -1
  34. package/io/restorecommerce/token.proto +7 -2
  35. package/io/restorecommerce/user.proto +55 -8
  36. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/descriptor.proto";
4
+
5
+ package io.restorecommerce.options;
6
+
7
+ extend google.protobuf.FieldOptions {
8
+ Resolver resolver = 31000;
9
+ }
10
+
11
+ extend google.protobuf.MethodOptions {
12
+ bool is_query = 31001;
13
+ }
14
+
15
+ extend google.protobuf.ServiceOptions {
16
+ string service_name = 31002;
17
+ }
18
+
19
+ message Resolver {
20
+ string target_type = 1;
21
+ string target_service = 2;
22
+ string target_sub_service = 3;
23
+ string target_method = 4;
24
+ string field_name = 5;
25
+ }
@@ -6,9 +6,17 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
10
+
11
+ // Used by resolvers
12
+ import "io/restorecommerce/contact_point.proto";
9
13
 
10
14
  service Service {
11
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (OrderListResponse);
15
+ option (io.restorecommerce.options.service_name) = "order";
16
+
17
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (OrderListResponse) {
18
+ option (io.restorecommerce.options.is_query) = true;
19
+ };
12
20
  rpc Create (OrderList) returns (OrderListResponse);
13
21
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
14
22
  rpc Update (OrderList) returns (OrderListResponse);
@@ -45,8 +53,24 @@ message Order {
45
53
  // sum of all the quantity_price will be total_price
46
54
  double total_price = 8;
47
55
  // shipping address
48
- string shipping_contact_point_id = 9;
49
- string billing_contact_point_id = 10;
56
+ string shipping_contact_point_id = 9 [
57
+ (io.restorecommerce.options.resolver) = {
58
+ target_type: ".io.restorecommerce.contact_point.ContactPoint",
59
+ target_service: "resource",
60
+ target_sub_service: "contact_point",
61
+ target_method: "Read",
62
+ field_name: "shippingContactPoint",
63
+ }
64
+ ];
65
+ string billing_contact_point_id = 10 [
66
+ (io.restorecommerce.options.resolver) = {
67
+ target_type: ".io.restorecommerce.contact_point.ContactPoint",
68
+ target_service: "resource",
69
+ target_sub_service: "contact_point",
70
+ target_method: "Read",
71
+ field_name: "billingContactPoint",
72
+ }
73
+ ];
50
74
  double total_weight_in_kg = 11;
51
75
  }
52
76
 
@@ -7,9 +7,18 @@ import "google/protobuf/any.proto";
7
7
  import "io/restorecommerce/meta.proto";
8
8
  import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/status.proto";
10
+ import "io/restorecommerce/options.proto";
11
+
12
+ // Used by resolvers
13
+ import "io/restorecommerce/address.proto";
14
+ import "io/restorecommerce/contact_point.proto";
10
15
 
11
16
  service Service {
12
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (OrganizationListResponse);
17
+ option (io.restorecommerce.options.service_name) = "organization";
18
+
19
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (OrganizationListResponse) {
20
+ option (io.restorecommerce.options.is_query) = true;
21
+ };
13
22
  rpc Create (OrganizationList) returns (OrganizationListResponse);
14
23
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
15
24
  rpc Update (OrganizationList) returns (OrganizationListResponse);
@@ -46,9 +55,33 @@ message OrganizationResponse {
46
55
  message Organization {
47
56
  string id = 1; /// Organization ID, unique, key
48
57
  io.restorecommerce.meta.Meta meta = 2;
49
- string address_id = 3; /// Address for the organization
50
- string parent_id = 4; // Hierarchically superior organization; may be null
51
- repeated string contact_point_ids = 6; // list of possible legal addresses of different types
58
+ string address_id = 3 [
59
+ (io.restorecommerce.options.resolver) = {
60
+ target_type: ".io.restorecommerce.address.Address",
61
+ target_service: "resource",
62
+ target_sub_service: "address",
63
+ target_method: "Read",
64
+ field_name: "address",
65
+ }
66
+ ]; /// Address for the organization
67
+ string parent_id = 4 [
68
+ (io.restorecommerce.options.resolver) = {
69
+ target_type: ".io.restorecommerce.organization.Organization",
70
+ target_service: "resource",
71
+ target_sub_service: "organization",
72
+ target_method: "Read",
73
+ field_name: "parent",
74
+ }
75
+ ]; // Hierarchically superior organization; may be null
76
+ repeated string contact_point_ids = 6 [
77
+ (io.restorecommerce.options.resolver) = {
78
+ target_type: ".io.restorecommerce.contact_point.ContactPoint",
79
+ target_service: "resource",
80
+ target_sub_service: "contact_point",
81
+ target_method: "Read",
82
+ field_name: "contactPoints",
83
+ }
84
+ ]; // list of possible legal addresses of different types
52
85
  string website = 7;
53
86
  string email = 8;
54
87
  string logo = 9; // base64; arangoDB does not support blob storage
@@ -9,12 +9,19 @@ import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/attribute.proto";
10
10
  import "io/restorecommerce/status.proto";
11
11
  import "io/restorecommerce/resource_base.proto";
12
+ import "io/restorecommerce/options.proto";
12
13
 
13
14
  service Service {
14
- rpc Get (GetRequest) returns (stream ObjectResponse);
15
+ option (io.restorecommerce.options.service_name) = "object";
16
+
17
+ rpc Get (GetRequest) returns (stream ObjectResponse) {
18
+ option (io.restorecommerce.options.is_query) = true;
19
+ };
15
20
  rpc Put (stream Object) returns (PutResponse);
16
21
  rpc Delete (DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
17
- rpc List (ListRequest) returns (ListResponse);
22
+ rpc List (ListRequest) returns (ListResponse) {
23
+ option (io.restorecommerce.options.is_query) = true;
24
+ };
18
25
  rpc Copy (CopyRequestList) returns (CopyResponseList);
19
26
  rpc Move (MoveRequestList) returns (MoveResponseList);
20
27
  }
@@ -185,4 +192,4 @@ message MoveResponseItem {
185
192
  string key = 3;
186
193
  io.restorecommerce.meta.Meta meta = 4;
187
194
  Options options = 5;
188
- }
195
+ }
@@ -2,8 +2,11 @@ syntax = "proto3";
2
2
  package io.restorecommerce.payment;
3
3
  import "io/restorecommerce/auth.proto";
4
4
  import "io/restorecommerce/status.proto";
5
-
5
+ import "io/restorecommerce/options.proto";
6
+
6
7
  service Service {
8
+ option (io.restorecommerce.options.service_name) = "payment";
9
+
7
10
  // Wrapper for setup_authorization in ActiveMerchant
8
11
  rpc SetupAuthorization (SetupRequest) returns (SetupResponse);
9
12
 
@@ -7,6 +7,7 @@ import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/rule.proto";
8
8
  import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/status.proto";
10
+ import "io/restorecommerce/options.proto";
10
11
 
11
12
  /**
12
13
  * A Policy is defined by a set of Rules.
@@ -51,7 +52,11 @@ message PolicyResponse {
51
52
  }
52
53
 
53
54
  service Service {
54
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PolicyListResponse);
55
+ option (io.restorecommerce.options.service_name) = "policy";
56
+
57
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PolicyListResponse) {
58
+ option (io.restorecommerce.options.is_query) = true;
59
+ };
55
60
  rpc Create (PolicyList) returns (PolicyListResponse);
56
61
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
57
62
  rpc Update (PolicyList) returns (PolicyListResponse);
@@ -1,13 +1,14 @@
1
1
  syntax = "proto3";
2
2
 
3
3
  package io.restorecommerce.policy_set;
4
-
4
+
5
5
  import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/policy.proto";
8
8
  import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/rule.proto";
10
10
  import "io/restorecommerce/status.proto";
11
+ import "io/restorecommerce/options.proto";
11
12
 
12
13
  message PolicySet {
13
14
  string id = 1;
@@ -45,9 +46,13 @@ message PolicySetRQ {
45
46
  }
46
47
 
47
48
  service Service {
48
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PolicySetListResponse);
49
+ option (io.restorecommerce.options.service_name) = "policy_set";
50
+
51
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PolicySetListResponse) {
52
+ option (io.restorecommerce.options.is_query) = true;
53
+ };
49
54
  rpc Create (PolicySetList) returns (PolicySetListResponse);
50
55
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
51
56
  rpc Update (PolicySetList) returns (PolicySetListResponse);
52
57
  rpc Upsert (PolicySetList) returns (PolicySetListResponse);
53
- }
58
+ }
@@ -6,12 +6,13 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
9
10
 
10
11
  // PriceGroup resource
11
12
  message PriceGroup {
12
13
  string id = 1;
13
14
  io.restorecommerce.meta.Meta meta = 2;
14
- string name = 3;
15
+ string name = 3;
15
16
  string description = 4;
16
17
  }
17
18
 
@@ -37,7 +38,11 @@ message Deleted {
37
38
  }
38
39
 
39
40
  service Service {
40
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PriceGroupListResponse);
41
+ option (io.restorecommerce.options.service_name) = "price_group";
42
+
43
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (PriceGroupListResponse) {
44
+ option (io.restorecommerce.options.is_query) = true;
45
+ };
41
46
  rpc Create (PriceGroupList) returns (PriceGroupListResponse);
42
47
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
43
48
  rpc Update (PriceGroupList) returns (PriceGroupListResponse);
@@ -8,9 +8,17 @@ import "io/restorecommerce/image.proto";
8
8
  import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/status.proto";
10
10
  import "io/restorecommerce/attribute.proto";
11
+ import "io/restorecommerce/options.proto";
12
+
13
+ // Used by resolvers
14
+ import "io/restorecommerce/manufacturer.proto";
11
15
 
12
16
  service Service {
13
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductListResponse);
17
+ option (io.restorecommerce.options.service_name) = "product";
18
+
19
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductListResponse) {
20
+ option (io.restorecommerce.options.is_query) = true;
21
+ };
14
22
  rpc Create (ProductList) returns (ProductListResponse);
15
23
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
16
24
  rpc Update (ProductList) returns (ProductListResponse);
@@ -32,7 +40,15 @@ message Product {
32
40
  string id = 1;
33
41
  string name = 2;
34
42
  string description = 3;
35
- string manufacturer_id = 4;
43
+ string manufacturer_id = 4 [
44
+ (io.restorecommerce.options.resolver) = {
45
+ target_type: ".io.restorecommerce.manufacturer.Manufacturer",
46
+ target_service: "catalog",
47
+ target_sub_service: "manufacturer",
48
+ target_method: "Read",
49
+ field_name: "manufacturer",
50
+ }
51
+ ];
36
52
  string taric_code = 5;
37
53
  oneof classification {
38
54
  Identifier prototype = 6;
@@ -7,6 +7,10 @@ import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/image.proto";
8
8
  import "io/restorecommerce/auth.proto";
9
9
  import "io/restorecommerce/status.proto";
10
+ import "io/restorecommerce/options.proto";
11
+
12
+ // Used by resolvers
13
+ import "io/restorecommerce/price_group.proto";
10
14
 
11
15
  // ProductCategory resource
12
16
  message ProductCategory {
@@ -14,7 +18,15 @@ message ProductCategory {
14
18
  io.restorecommerce.meta.Meta meta = 2;
15
19
  string name = 3;
16
20
  string description = 4;
17
- string price_group_id = 5;
21
+ string price_group_id = 5 [
22
+ (io.restorecommerce.options.resolver) = {
23
+ target_type: ".io.restorecommerce.price_group.PriceGroup",
24
+ target_service: "catalog",
25
+ target_sub_service: "price_group",
26
+ target_method: "Read",
27
+ field_name: "priceGroup",
28
+ }
29
+ ];
18
30
  io.restorecommerce.image.Image image = 6;
19
31
  Parent parent = 7;
20
32
  }
@@ -45,7 +57,11 @@ message Parent {
45
57
  }
46
58
 
47
59
  service Service {
48
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductCategoryListResponse);
60
+ option (io.restorecommerce.options.service_name) = "product_category";
61
+
62
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductCategoryListResponse) {
63
+ option (io.restorecommerce.options.is_query) = true;
64
+ };
49
65
  rpc Create (ProductCategoryList) returns (ProductCategoryListResponse);
50
66
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
51
67
  rpc Update (ProductCategoryList) returns (ProductCategoryListResponse);
@@ -6,12 +6,13 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
9
10
 
10
11
  // ProductPrototype resource
11
12
  message ProductPrototype {
12
13
  string id = 1;
13
14
  io.restorecommerce.meta.Meta meta = 2;
14
- string name = 3;
15
+ string name = 3;
15
16
  string version = 4;
16
17
  string description = 5;
17
18
  string category_id = 6;
@@ -39,7 +40,11 @@ message Deleted {
39
40
  }
40
41
 
41
42
  service Service {
42
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductPrototypeListResponse);
43
+ option (io.restorecommerce.options.service_name) = "product_prototype";
44
+
45
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (ProductPrototypeListResponse) {
46
+ option (io.restorecommerce.options.is_query) = true;
47
+ };
43
48
  rpc Create (ProductPrototypeList) returns (ProductPrototypeListResponse);
44
49
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
45
50
  rpc Update (ProductPrototypeList) returns (ProductPrototypeListResponse);
@@ -6,9 +6,14 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
9
10
 
10
11
  service Service {
11
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (RoleListResponse);
12
+ option (io.restorecommerce.options.service_name) = "role";
13
+
14
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (RoleListResponse) {
15
+ option (io.restorecommerce.options.is_query) = true;
16
+ };
12
17
  rpc Create (RoleList) returns (RoleListResponse);
13
18
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
14
19
  rpc Update (RoleList) returns (RoleListResponse);
@@ -8,7 +8,7 @@ import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/attribute.proto";
9
9
  import "io/restorecommerce/status.proto";
10
10
  import "io/restorecommerce/filter.proto";
11
-
11
+ import "io/restorecommerce/options.proto";
12
12
 
13
13
  /**
14
14
  * Target specified by a Rule or a Request.
@@ -44,7 +44,7 @@ message RuleRQ { // used for `whatIsAllowed` / reverse queries
44
44
  Target target = 2;
45
45
  Effect effect = 3;
46
46
  string condition = 4;
47
- ContextQuery context_query = 5;
47
+ ContextQuery context_query = 5;
48
48
  bool evaluation_cacheable = 6;
49
49
  }
50
50
 
@@ -74,7 +74,11 @@ message ContextQuery {
74
74
  }
75
75
 
76
76
  service Service {
77
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (RuleListResponse);
77
+ option (io.restorecommerce.options.service_name) = "rule";
78
+
79
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (RuleListResponse) {
80
+ option (io.restorecommerce.options.is_query) = true;
81
+ };
78
82
  rpc Create (RuleList) returns (RuleListResponse);
79
83
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
80
84
  rpc Update (RuleList) returns (RuleListResponse);
@@ -6,12 +6,21 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
10
+
11
+ // Used by resolvers
12
+ import "io/restorecommerce/country.proto";
13
+ import "io/restorecommerce/tax_type.proto";
9
14
 
10
15
  /*
11
16
  * Microservice definition.
12
17
  */
13
18
  service Service {
14
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TaxListResponse);
19
+ option (io.restorecommerce.options.service_name) = "tax";
20
+
21
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TaxListResponse) {
22
+ option (io.restorecommerce.options.is_query) = true;
23
+ };
15
24
  rpc Create (TaxList) returns (TaxListResponse);
16
25
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
17
26
  rpc Update (TaxList) returns (TaxListResponse);
@@ -42,8 +51,24 @@ message TaxResponse {
42
51
  message Tax {
43
52
  string id = 1;
44
53
  io.restorecommerce.meta.Meta meta = 2;
45
- string country_id = 3;
54
+ string country_id = 3 [
55
+ (io.restorecommerce.options.resolver) = {
56
+ target_type: ".io.restorecommerce.country.Country",
57
+ target_service: "resource",
58
+ target_sub_service: "country",
59
+ target_method: "Read",
60
+ field_name: "country",
61
+ }
62
+ ];
46
63
  double rate = 4;
47
64
  string variant = 5;
48
- string type_id = 6;
65
+ string type_id = 6 [
66
+ (io.restorecommerce.options.resolver) = {
67
+ target_type: ".io.restorecommerce.tax_type.TaxType",
68
+ target_service: "resource",
69
+ target_sub_service: "tax_type",
70
+ target_method: "Read",
71
+ field_name: "type",
72
+ }
73
+ ];
49
74
  }
@@ -6,12 +6,17 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
9
10
 
10
11
  /*
11
12
  * Microservice definition.
12
13
  */
13
14
  service Service {
14
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TaxTypeListResponse);
15
+ option (io.restorecommerce.options.service_name) = "tax_type";
16
+
17
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TaxTypeListResponse) {
18
+ option (io.restorecommerce.options.is_query) = true;
19
+ };
15
20
  rpc Create (TaxTypeList) returns (TaxTypeListResponse);
16
21
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
17
22
  rpc Update (TaxTypeList) returns (TaxTypeListResponse);
@@ -6,12 +6,17 @@ import "io/restorecommerce/resource_base.proto";
6
6
  import "io/restorecommerce/meta.proto";
7
7
  import "io/restorecommerce/auth.proto";
8
8
  import "io/restorecommerce/status.proto";
9
+ import "io/restorecommerce/options.proto";
9
10
 
10
11
  /*
11
12
  * Microservice definition.
12
13
  */
13
14
  service Service {
14
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TimezoneListResponse);
15
+ option (io.restorecommerce.options.service_name) = "timezone";
16
+
17
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (TimezoneListResponse) {
18
+ option (io.restorecommerce.options.is_query) = true;
19
+ };
15
20
  rpc Create (TimezoneList) returns (TimezoneListResponse);
16
21
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
17
22
  rpc Update (TimezoneList) returns (TimezoneListResponse);
@@ -4,13 +4,18 @@ package io.restorecommerce.token;
4
4
 
5
5
  import "io/restorecommerce/auth.proto";
6
6
  import "google/protobuf/any.proto";
7
+ import "io/restorecommerce/options.proto";
7
8
 
8
9
  /*
9
10
  * Microservice definition.
10
11
  */
11
12
  service Service {
13
+ option (io.restorecommerce.options.service_name) = "token";
14
+
12
15
  rpc upsert (TokenData) returns (google.protobuf.Any); // creates or upserts ID_token to `Redis` and returns sucess or failure message
13
- rpc find (Identifier) returns (google.protobuf.Any); // find id_token using access_token identifier (Return previously stored instance of an oidc-provider model)
16
+ rpc find (Identifier) returns (google.protobuf.Any) {
17
+ option (io.restorecommerce.options.is_query) = true;
18
+ }; // find id_token using access_token identifier (Return previously stored instance of an oidc-provider model)
14
19
  rpc destroy (Identifier) returns (google.protobuf.Any); // removes the id_token from redis
15
20
  rpc revokeByGrantId (GrantId) returns (google.protobuf.Any); // Destroy/Drop/Remove a stored id_token by its grantId property reference.
16
21
  rpc consume (Identifier) returns (google.protobuf.Any); // Mark a stored id_token as consumed (not yet expired though!). Future finds for this id should be fulfilled with an object containing additional property named "consumed" with a truthy value (timestamp, date, boolean, etc).
@@ -33,4 +38,4 @@ message Identifier {
33
38
  message GrantId {
34
39
  string grant_id = 1;
35
40
  io.restorecommerce.auth.Subject subject = 2;
36
- }
41
+ }
@@ -10,18 +10,29 @@ import "io/restorecommerce/image.proto";
10
10
  import "io/restorecommerce/status.proto";
11
11
  import "google/protobuf/any.proto";
12
12
  import "io/restorecommerce/role.proto";
13
+ import "io/restorecommerce/options.proto";
14
+
15
+ // Used by resolvers
16
+ import "io/restorecommerce/timezone.proto";
17
+ import "io/restorecommerce/locale.proto";
13
18
 
14
19
  /**
15
20
  * The microservice for the user resource.
16
21
  */
17
22
  service Service {
18
- rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (UserListWithRoleResponse);
23
+ option (io.restorecommerce.options.service_name) = "user";
24
+
25
+ rpc Read (io.restorecommerce.resourcebase.ReadRequest) returns (UserListWithRoleResponse) {
26
+ option (io.restorecommerce.options.is_query) = true;
27
+ };
19
28
  rpc Create (UserList) returns (UserListResponse);
20
29
  rpc Delete (io.restorecommerce.resourcebase.DeleteRequest) returns (io.restorecommerce.resourcebase.DeleteResponse);
21
30
  rpc Update (UserList) returns (UserListResponse);
22
31
  rpc Upsert (UserList) returns (UserListResponse);
23
32
 
24
- rpc Find (FindRequest) returns (UserListResponse);
33
+ rpc Find (FindRequest) returns (UserListResponse) {
34
+ option (io.restorecommerce.options.is_query) = true;
35
+ };
25
36
  rpc Register (RegisterRequest) returns (UserResponse);
26
37
  rpc Activate (ActivateRequest) returns (io.restorecommerce.status.OperationStatusObj);
27
38
  rpc ChangePassword (ChangePasswordRequest) returns (io.restorecommerce.status.OperationStatusObj);
@@ -31,11 +42,15 @@ service Service {
31
42
  rpc ConfirmEmailChange (ConfirmEmailChangeRequest) returns (io.restorecommerce.status.OperationStatusObj);
32
43
  rpc Unregister (UnregisterRequest) returns (io.restorecommerce.status.OperationStatusObj);
33
44
  rpc Login (LoginRequest) returns (UserResponse);
34
- rpc FindByRole (FindByRoleRequest) returns (UserListResponse);
45
+ rpc FindByRole (FindByRoleRequest) returns (UserListResponse) {
46
+ option (io.restorecommerce.options.is_query) = true;
47
+ };
35
48
  rpc DeleteUsersByOrg (OrgIDRequest) returns (DeleteUsersByOrgResponse);
36
49
  rpc ConfirmUserInvitation (ConfirmUserInvitationRequest) returns (io.restorecommerce.status.OperationStatusObj);
37
50
  rpc SendInvitationEmail (SendInvitationEmailRequest) returns (io.restorecommerce.status.OperationStatusObj);
38
- rpc FindByToken (FindByTokenRequest) returns (UserResponse);
51
+ rpc FindByToken (FindByTokenRequest) returns (UserResponse) {
52
+ option (io.restorecommerce.options.is_query) = true;
53
+ };
39
54
  rpc SendActivationEmail (SendActivationEmailRequest) returns (io.restorecommerce.status.OperationStatusObj);
40
55
  }
41
56
 
@@ -255,8 +270,24 @@ message User {
255
270
  string password = 10; /// Raw password, not stored
256
271
  string password_hash = 11; /// Encrypted password, stored
257
272
  repeated io.restorecommerce.auth.RoleAssociation role_associations = 12; // A user can have multiple roles and different attributes coupled with each role
258
- string timezone_id = 13; // timezone_id specifications
259
- string locale_id = 14; // locale specifications
273
+ string timezone_id = 13 [
274
+ (io.restorecommerce.options.resolver) = {
275
+ target_type: ".io.restorecommerce.timezone.Timezone",
276
+ target_service: "resource",
277
+ target_sub_service: "timezone",
278
+ target_method: "Read",
279
+ field_name: "timezone",
280
+ }
281
+ ]; // timezone_id specifications
282
+ string locale_id = 14 [
283
+ (io.restorecommerce.options.resolver) = {
284
+ target_type: ".io.restorecommerce.locale.Locale",
285
+ target_service: "resource",
286
+ target_sub_service: "locale",
287
+ target_method: "Read",
288
+ field_name: "locale",
289
+ }
290
+ ]; // locale specifications
260
291
  string default_scope = 15; // default hierarchical scope
261
292
  bool unauthenticated = 16; // true in case in case of `register`; set to false after activation
262
293
  bool guest = 17; /// Is the user a guest. A guest is a automatically generated user which can later be turned in a non-guest user.
@@ -287,8 +318,24 @@ message UserRole {
287
318
  string password = 10; /// Raw password, not stored
288
319
  string password_hash = 11; /// Encrypted password, stored
289
320
  repeated io.restorecommerce.auth.RoleAssociation role_associations = 12; // A user can have multiple roles and different attributes coupled with each role
290
- string timezone_id = 13; // timezone_id specifications
291
- string locale_id = 14; // locale specifications
321
+ string timezone_id = 13 [
322
+ (io.restorecommerce.options.resolver) = {
323
+ target_type: ".io.restorecommerce.timezone.Timezone",
324
+ target_service: "resource",
325
+ target_sub_service: "timezone",
326
+ target_method: "Read",
327
+ field_name: "timezone",
328
+ }
329
+ ]; // timezone_id specifications
330
+ string locale_id = 14 [
331
+ (io.restorecommerce.options.resolver) = {
332
+ target_type: ".io.restorecommerce.locale.Locale",
333
+ target_service: "resource",
334
+ target_sub_service: "locale",
335
+ target_method: "Read",
336
+ field_name: "locale",
337
+ }
338
+ ]; // locale specifications
292
339
  string default_scope = 15; // default hierarchical scope
293
340
  bool unauthenticated = 16; // true in case in case of `register`; set to false after activation
294
341
  bool guest = 17; /// Is the user a guest. A guest is a automatically generated user which can later be turned in a non-guest user.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/protos",
3
- "version": "0.6.9",
3
+ "version": "0.7.2",
4
4
  "description": "Protobuf descriptors for Restorecommerce services",
5
5
  "author": "n-fuse GmbH",
6
6
  "repository": {
@@ -15,5 +15,5 @@
15
15
  "protobufs"
16
16
  ],
17
17
  "scripts": {},
18
- "gitHead": "23f3b0cf04a484cf83b5f4c816d0f98cc18488b9"
18
+ "gitHead": "b17ad8be6c9df59d7966a755b2a50f1734a02b5f"
19
19
  }