Skip to content

Commit ea8889c

Browse files
committed
Update SDK using contracts version 577c926ae39810c1e0a9587b8b6fd96c6642e515
1 parent 41cd8a5 commit ea8889c

5 files changed

Lines changed: 478 additions & 0 deletions

File tree

eolymp/vendor/invoice_pb2.py

Lines changed: 46 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eolymp/vendor/invoice_pb2.pyi

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
import datetime
2+
3+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
4+
from google.protobuf.internal import containers as _containers
5+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
6+
from google.protobuf import descriptor as _descriptor
7+
from google.protobuf import message as _message
8+
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
9+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
10+
11+
DESCRIPTOR: _descriptor.FileDescriptor
12+
13+
class Invoice(_message.Message):
14+
__slots__ = ("id", "number", "currency", "status", "status_reason", "vendor_id", "invoice_date", "due_date", "lines", "subtotal_amount", "tax_amount", "grand_total", "document_url", "created_at", "updated_at")
15+
class Status(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
16+
__slots__ = ()
17+
UNKNOWN_STATUS: _ClassVar[Invoice.Status]
18+
DRAFT: _ClassVar[Invoice.Status]
19+
PENDING: _ClassVar[Invoice.Status]
20+
APPROVED: _ClassVar[Invoice.Status]
21+
PAID: _ClassVar[Invoice.Status]
22+
REJECTED: _ClassVar[Invoice.Status]
23+
UNKNOWN_STATUS: Invoice.Status
24+
DRAFT: Invoice.Status
25+
PENDING: Invoice.Status
26+
APPROVED: Invoice.Status
27+
PAID: Invoice.Status
28+
REJECTED: Invoice.Status
29+
class Line(_message.Message):
30+
__slots__ = ("index", "name", "summary", "total_price")
31+
INDEX_FIELD_NUMBER: _ClassVar[int]
32+
NAME_FIELD_NUMBER: _ClassVar[int]
33+
SUMMARY_FIELD_NUMBER: _ClassVar[int]
34+
TOTAL_PRICE_FIELD_NUMBER: _ClassVar[int]
35+
index: int
36+
name: str
37+
summary: str
38+
total_price: int
39+
def __init__(self, index: _Optional[int] = ..., name: _Optional[str] = ..., summary: _Optional[str] = ..., total_price: _Optional[int] = ...) -> None: ...
40+
class Patch(_message.Message):
41+
__slots__ = ()
42+
class Field(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
43+
__slots__ = ()
44+
UNKNOWN_FIELD: _ClassVar[Invoice.Patch.Field]
45+
NUMBER: _ClassVar[Invoice.Patch.Field]
46+
CURRENCY: _ClassVar[Invoice.Patch.Field]
47+
INVOICE_DATE: _ClassVar[Invoice.Patch.Field]
48+
DUE_DATE: _ClassVar[Invoice.Patch.Field]
49+
LINES: _ClassVar[Invoice.Patch.Field]
50+
UNKNOWN_FIELD: Invoice.Patch.Field
51+
NUMBER: Invoice.Patch.Field
52+
CURRENCY: Invoice.Patch.Field
53+
INVOICE_DATE: Invoice.Patch.Field
54+
DUE_DATE: Invoice.Patch.Field
55+
LINES: Invoice.Patch.Field
56+
def __init__(self) -> None: ...
57+
ID_FIELD_NUMBER: _ClassVar[int]
58+
NUMBER_FIELD_NUMBER: _ClassVar[int]
59+
CURRENCY_FIELD_NUMBER: _ClassVar[int]
60+
STATUS_FIELD_NUMBER: _ClassVar[int]
61+
STATUS_REASON_FIELD_NUMBER: _ClassVar[int]
62+
VENDOR_ID_FIELD_NUMBER: _ClassVar[int]
63+
INVOICE_DATE_FIELD_NUMBER: _ClassVar[int]
64+
DUE_DATE_FIELD_NUMBER: _ClassVar[int]
65+
LINES_FIELD_NUMBER: _ClassVar[int]
66+
SUBTOTAL_AMOUNT_FIELD_NUMBER: _ClassVar[int]
67+
TAX_AMOUNT_FIELD_NUMBER: _ClassVar[int]
68+
GRAND_TOTAL_FIELD_NUMBER: _ClassVar[int]
69+
DOCUMENT_URL_FIELD_NUMBER: _ClassVar[int]
70+
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
71+
UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
72+
id: str
73+
number: str
74+
currency: str
75+
status: Invoice.Status
76+
status_reason: str
77+
vendor_id: str
78+
invoice_date: _timestamp_pb2.Timestamp
79+
due_date: _timestamp_pb2.Timestamp
80+
lines: _containers.RepeatedCompositeFieldContainer[Invoice.Line]
81+
subtotal_amount: int
82+
tax_amount: int
83+
grand_total: int
84+
document_url: str
85+
created_at: _timestamp_pb2.Timestamp
86+
updated_at: _timestamp_pb2.Timestamp
87+
def __init__(self, id: _Optional[str] = ..., number: _Optional[str] = ..., currency: _Optional[str] = ..., status: _Optional[_Union[Invoice.Status, str]] = ..., status_reason: _Optional[str] = ..., vendor_id: _Optional[str] = ..., invoice_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., due_date: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., lines: _Optional[_Iterable[_Union[Invoice.Line, _Mapping]]] = ..., subtotal_amount: _Optional[int] = ..., tax_amount: _Optional[int] = ..., grand_total: _Optional[int] = ..., document_url: _Optional[str] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by the protocol buffer compiler. DO NOT EDIT!
3+
# See https://github.com/eolymp/contracts/tree/main/cmd/protoc-gen-python-esdk for more details.
4+
"""Generated protocol buffer code."""
5+
6+
import urllib.parse
7+
from google.protobuf import symbol_database as _symbol_database
8+
9+
_sym_db = _symbol_database.Default()
10+
11+
12+
class InvoiceServiceClient:
13+
def __init__(self, transport, url="https://api.eolymp.com"):
14+
self.transport = transport
15+
self.url = url
16+
17+
def ListInvoices(self, request, **kwargs):
18+
path = "/vendor/invoices"
19+
20+
return self.transport.request(
21+
method="GET",
22+
url=self.url+path,
23+
request_data=request,
24+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.ListInvoicesOutput"),
25+
**kwargs,
26+
)
27+
28+
def DescribeInvoice(self, request, **kwargs):
29+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)
30+
31+
# Cleanup URL parameters to avoid any ambiguity
32+
request.invoice_id = ""
33+
34+
return self.transport.request(
35+
method="GET",
36+
url=self.url+path,
37+
request_data=request,
38+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.DescribeInvoiceOutput"),
39+
**kwargs,
40+
)
41+
42+
def CreateInvoice(self, request, **kwargs):
43+
path = "/vendor/invoices"
44+
45+
return self.transport.request(
46+
method="POST",
47+
url=self.url+path,
48+
request_data=request,
49+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.CreateInvoiceOutput"),
50+
**kwargs,
51+
)
52+
53+
def UpdateInvoice(self, request, **kwargs):
54+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)
55+
56+
# Cleanup URL parameters to avoid any ambiguity
57+
request.invoice_id = ""
58+
59+
return self.transport.request(
60+
method="PUT",
61+
url=self.url+path,
62+
request_data=request,
63+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.UpdateInvoiceOutput"),
64+
**kwargs,
65+
)
66+
67+
def DeleteInvoice(self, request, **kwargs):
68+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)
69+
70+
# Cleanup URL parameters to avoid any ambiguity
71+
request.invoice_id = ""
72+
73+
return self.transport.request(
74+
method="DELETE",
75+
url=self.url+path,
76+
request_data=request,
77+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.DeleteInvoiceOutput"),
78+
**kwargs,
79+
)
80+
81+
def UploadInvoiceDocument(self, request, **kwargs):
82+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)+"/document"
83+
84+
# Cleanup URL parameters to avoid any ambiguity
85+
request.invoice_id = ""
86+
87+
return self.transport.request(
88+
method="POST",
89+
url=self.url+path,
90+
request_data=request,
91+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.UploadInvoiceDocumentOutput"),
92+
**kwargs,
93+
)
94+
95+
def ApproveInvoice(self, request, **kwargs):
96+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)+"/approve"
97+
98+
# Cleanup URL parameters to avoid any ambiguity
99+
request.invoice_id = ""
100+
101+
return self.transport.request(
102+
method="POST",
103+
url=self.url+path,
104+
request_data=request,
105+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.ApproveInvoiceOutput"),
106+
**kwargs,
107+
)
108+
109+
def RejectInvoice(self, request, **kwargs):
110+
path = "/vendor/invoices/"+urllib.parse.quote(request.invoice_id)+"/reject"
111+
112+
# Cleanup URL parameters to avoid any ambiguity
113+
request.invoice_id = ""
114+
115+
return self.transport.request(
116+
method="POST",
117+
url=self.url+path,
118+
request_data=request,
119+
response_symbol=_sym_db.GetSymbol("eolymp.vendor.RejectInvoiceOutput"),
120+
**kwargs,
121+
)
122+

0 commit comments

Comments
 (0)