Exemplo n.º 1
0
        class AllTypes(messages.Message):
            """Contains all field types."""
            class SimpleEnum(messages.Enum):
                """Simple enumeration type."""
                VAL1 = 1
                VAL2 = 2

            bool_value = messages.BooleanField(1,
                                               variant=messages.Variant.BOOL)
            bytes_value = messages.BytesField(2,
                                              variant=messages.Variant.BYTES)
            double_value = messages.FloatField(3,
                                               variant=messages.Variant.DOUBLE)
            enum_value = messages.EnumField(SimpleEnum, 4)
            float_value = messages.FloatField(5,
                                              variant=messages.Variant.FLOAT)
            int32_value = messages.IntegerField(6,
                                                variant=messages.Variant.INT32)
            int64_value = messages.IntegerField(7,
                                                variant=messages.Variant.INT64)
            string_value = messages.StringField(
                8, variant=messages.Variant.STRING)
            uint32_value = messages.IntegerField(
                9, variant=messages.Variant.UINT32)
            uint64_value = messages.IntegerField(
                10, variant=messages.Variant.UINT64)
            int_value = messages.IntegerField(11)  # Default variant is INT64.
            datetime_value = message_types.DateTimeField(12)
            repeated_datetime_value = message_types.DateTimeField(
                13, repeated=True)
Exemplo n.º 2
0
class OverviewResponse(messages.Message):
    borrower_name = messages.StringField(1)
    outstanding_principal = messages.FloatField(2)
    outstanding_interest = messages.FloatField(3)
    paid_interest = messages.FloatField(4)
    paid_principal = messages.FloatField(5)
    date = messages.IntegerField(6)
    last_transaction_date = messages.IntegerField(7)
    borrower_id = messages.StringField(8)
Exemplo n.º 3
0
class MoveRequest(messages.Message):
  board_id = messages.StringField(1)
  item_id = messages.StringField(2)
  x = messages.IntegerField(3)
  y = messages.IntegerField(4)
  z = messages.IntegerField(5)
  client_id = messages.StringField(6)
  lock_token = messages.StringField(7)
  is_release = messages.BooleanField(8, default=False)
Exemplo n.º 4
0
class MyMessage(messages.Message):
    """Test message containing various types."""
    var_int32 = messages.IntegerField(1, variant=messages.Variant.INT32)
    var_int64 = messages.IntegerField(2, variant=messages.Variant.INT64)
    var_repeated_int64 = messages.IntegerField(3,
                                               variant=messages.Variant.INT64,
                                               repeated=True)
    var_sint64 = messages.IntegerField(4, variant=messages.Variant.SINT64)
    var_uint64 = messages.IntegerField(5, variant=messages.Variant.UINT64)
    var_bytes = messages.BytesField(6)
Exemplo n.º 5
0
class TransactionUpdateRequest(messages.Message):
    type = messages.StringField(1)
    payment_type = messages.StringField(2)
    amount = messages.FloatField(3)
    transaction_date = messages.IntegerField(4)
    borrower_id = messages.StringField(5)
    interest_rate = messages.FloatField(6)
Exemplo n.º 6
0
class TransactionResponse(messages.Message):
    type = messages.StringField(1)
    payment_type = messages.StringField(2)
    amount = messages.FloatField(3)
    transaction_date = messages.IntegerField(4)
    borrower_id = messages.StringField(5)
    borrower_name = messages.StringField(6)
    interest_rate = messages.FloatField(7)
    transaction_id = messages.StringField(8)
Exemplo n.º 7
0
class AllBasicFields(messages.Message):
    """Contains all field types."""

    bool_value = messages.BooleanField(1, variant=messages.Variant.BOOL)
    bytes_value = messages.BytesField(2, variant=messages.Variant.BYTES)
    double_value = messages.FloatField(3, variant=messages.Variant.DOUBLE)
    float_value = messages.FloatField(5, variant=messages.Variant.FLOAT)
    int32_value = messages.IntegerField(6, variant=messages.Variant.INT32)
    int64_value = messages.IntegerField(7, variant=messages.Variant.INT64)
    string_value = messages.StringField(8, variant=messages.Variant.STRING)
    uint32_value = messages.IntegerField(9, variant=messages.Variant.UINT32)
    uint64_value = messages.IntegerField(10, variant=messages.Variant.UINT64)
    sint32_value = messages.IntegerField(11, variant=messages.Variant.SINT32)
    sint64_value = messages.IntegerField(12, variant=messages.Variant.SINT64)
    datetime_value = message_types.DateTimeField(14)
Exemplo n.º 8
0
class Foo(messages.Message):
    name = messages.StringField(1)
    value = messages.IntegerField(2, variant=messages.Variant.INT32)
Exemplo n.º 9
0
class Bar(messages.Message):
    name = messages.StringField(1, default='Jimothy')
    value = messages.IntegerField(2,
                                  default=42,
                                  variant=messages.Variant.INT32)
    active = messages.BooleanField(3, default=True)
Exemplo n.º 10
0
class ItemState(messages.Message):
  id = messages.StringField(1)
  x = messages.IntegerField(2)
  y = messages.IntegerField(3)
  z = messages.IntegerField(4)
  version = messages.IntegerField(5)
Exemplo n.º 11
0
class ReviewResponse(messages.Message):
    reviews = messages.MessageField(Review, 1, repeated=True)
    total_review = messages.IntegerField(2)
Exemplo n.º 12
0
class ReviewRequest(messages.Message):
    product_id = messages.IntegerField(1, required=True)
    name = messages.StringField(2, required=True)
    review = messages.StringField(3, required=True)
    stars = messages.IntegerField(4, required=True)
Exemplo n.º 13
0
class GreetingApi(remote.Service):
    @endpoints.method(
        # This method does not take a request message.
        message_types.VoidMessage,
        # This method returns a GreetingCollection message.
        GreetingCollection,
        path='greetings',
        http_method='GET',
        name='greetings.list')
    def list_greetings(self, unused_request):
        return STORED_GREETINGS

    # ResourceContainers are used to encapsuate a request body and url
    # parameters. This one is used to represent the Greeting ID for the
    # greeting_get method.
    GET_RESOURCE = endpoints.ResourceContainer(
        # The request body should be empty.
        message_types.VoidMessage,
        # Accept one url parameter: and integer named 'id'
        id=messages.IntegerField(1, variant=messages.Variant.INT32))

    @endpoints.method(
        # Use the ResourceContainer defined above to accept an empty body
        # but an ID in the query string.
        GET_RESOURCE,
        # This method returns a Greeting message.
        Greeting,
        # The path defines the source of the URL parameter 'id'. If not
        # specified here, it would need to be in the query string.
        path='greetings/{id}',
        http_method='GET',
        name='greetings.get')
    def get_greeting(self, request):
        try:
            # request.id is used to access the URL parameter.
            return STORED_GREETINGS.items[request.id]
        except (IndexError, TypeError):
            raise endpoints.NotFoundException('Greeting {} not found'.format(
                request.id))

    # [END endpoints_greeting_api]

    # [START endpoints_greeting_api_multiply]
    # This ResourceContainer is similar to the one used for get_greeting, but
    # this one also contains a request body in the form of a Greeting message.
    MULTIPLY_RESOURCE = endpoints.ResourceContainer(
        Greeting,
        times=messages.IntegerField(2,
                                    variant=messages.Variant.INT32,
                                    required=True))

    @endpoints.method(
        # This method accepts a request body containing a Greeting message
        # and a URL parameter specifying how many times to multiply the
        # message.
        MULTIPLY_RESOURCE,
        # This method returns a Greeting message.
        Greeting,
        path='greetings/multiply/{times}',
        http_method='POST',
        name='greetings.multiply')
    def multiply_greeting(self, request):
        return Greeting(message=request.message * request.times)
Exemplo n.º 14
0
class CreateItemRequest(messages.Message):
  board_id = messages.StringField(1)
  item_id = messages.StringField(2)
  x = messages.IntegerField(3)
  y = messages.IntegerField(4)
  z = messages.IntegerField(5)
Exemplo n.º 15
0
class MoveResponse(messages.Message):
  lock_token = messages.StringField(1)
  version = messages.IntegerField(2)
  error = messages.IntegerField(3)
Exemplo n.º 16
0
class Nested(messages.Message):
    """Message class to be used in a message field."""
    int_value = messages.IntegerField(1)
    string_value = messages.StringField(2)
Exemplo n.º 17
0
# [END endpoints_echo_api_imports]


# [START endpoints_echo_api_messages]
class EchoRequest(messages.Message):
    message = messages.StringField(1)


class EchoResponse(messages.Message):
    """A proto Message that contains a simple string field."""
    message = messages.StringField(1)


ECHO_RESOURCE = endpoints.ResourceContainer(EchoRequest,
                                            n=messages.IntegerField(2,
                                                                    default=1))
# [END endpoints_echo_api_messages]


# [START endpoints_echo_api_class]
@endpoints.api(name='echo', version='v1')
class EchoApi(remote.Service):

    # [START endpoints_echo_api_method]
    @endpoints.method(
        # This method takes a ResourceContainer defined above.
        ECHO_RESOURCE,
        # This method returns an Echo message.
        EchoResponse,
        path='echo',
        http_method='POST',
Exemplo n.º 18
0
class IdField(messages.Message):
    """Just contains an integer field."""
    id_value = messages.IntegerField(1, variant=messages.Variant.INT32)
Exemplo n.º 19
0
class ReviewMessage(messages.Message):
    message = messages.StringField(1)


class ProductId(messages.Message):
    product_id = messages.IntegerField(1, required=True)


class ReviewRequest(messages.Message):
    product_id = messages.IntegerField(1, required=True)
    name = messages.StringField(2, required=True)
    review = messages.StringField(3, required=True)
    stars = messages.IntegerField(4, required=True)


class Review(messages.Message):
    name = messages.StringField(1)
    review = messages.StringField(2)
    stars = messages.IntegerField(3)
    date = message_types.DateTimeField(4)


class ReviewResponse(messages.Message):
    reviews = messages.MessageField(Review, 1, repeated=True)
    total_review = messages.IntegerField(2)


REVIEW_RESOURCE = endpoints.ResourceContainer(message_types.VoidMessage,
                                              id=messages.IntegerField(
                                                  2, required=True))
Exemplo n.º 20
0
class ContainsRecursive(messages.Message):
    """Message which contains a recursive message."""

    id = messages.IntegerField(1)
    recursives = messages.MessageField(Recursive, 2, repeated=True)
Exemplo n.º 21
0
class Review(messages.Message):
    name = messages.StringField(1)
    review = messages.StringField(2)
    stars = messages.IntegerField(3)
    date = message_types.DateTimeField(4)
Exemplo n.º 22
0
    name = messages.StringField(1)
    value = messages.IntegerField(2, variant=messages.Variant.INT32)


FooCollection = make_collection(Foo)
FooResource = endpoints.ResourceContainer(
    Foo,
    id=messages.StringField(1, required=True),
)
FooIdResource = endpoints.ResourceContainer(
    message_types.VoidMessage,
    id=messages.StringField(1, required=True),
)
FooNResource = endpoints.ResourceContainer(
    message_types.VoidMessage,
    n=messages.IntegerField(1, required=True, variant=messages.Variant.INT32),
)


@endpoints.api(name='foo',
               version='v1',
               audiences=['audiences'],
               title='The Foo API',
               description='Just Foo Things',
               documentation='https://example.com',
               canonical_name='CanonicalName')
class FooEndpoint(remote.Service):
    @endpoints.method(FooResource,
                      Foo,
                      name='foo.create',
                      path='foos/{id}',
Exemplo n.º 23
0
class ProductId(messages.Message):
    product_id = messages.IntegerField(1, required=True)
Exemplo n.º 24
0
class ConnectResponse(messages.Message):
  client_id = messages.StringField(1)
  error = messages.IntegerField(2)