146 lines
4.9 KiB
Ruby
146 lines
4.9 KiB
Ruby
|
# Copyright 2020 Google LLC
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
require 'date'
|
||
|
require 'google/apis/core/base_service'
|
||
|
require 'google/apis/core/json_representation'
|
||
|
require 'google/apis/core/hashable'
|
||
|
require 'google/apis/errors'
|
||
|
|
||
|
module Google
|
||
|
module Apis
|
||
|
module LibraryagentV1
|
||
|
|
||
|
# A single book in the library.
|
||
|
class GoogleExampleLibraryagentV1Book
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The name of the book author.
|
||
|
# Corresponds to the JSON property `author`
|
||
|
# @return [String]
|
||
|
attr_accessor :author
|
||
|
|
||
|
# The resource name of the book. Book names have the form `shelves/`shelf_id`/
|
||
|
# books/`book_id``. The name is ignored when creating a book.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# Value indicating whether the book has been read.
|
||
|
# Corresponds to the JSON property `read`
|
||
|
# @return [Boolean]
|
||
|
attr_accessor :read
|
||
|
alias_method :read?, :read
|
||
|
|
||
|
# The title of the book.
|
||
|
# Corresponds to the JSON property `title`
|
||
|
# @return [String]
|
||
|
attr_accessor :title
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@author = args[:author] if args.key?(:author)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@read = args[:read] if args.key?(:read)
|
||
|
@title = args[:title] if args.key?(:title)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for LibraryAgent.ListBooks.
|
||
|
class GoogleExampleLibraryagentV1ListBooksResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# The list of books.
|
||
|
# Corresponds to the JSON property `books`
|
||
|
# @return [Array<Google::Apis::LibraryagentV1::GoogleExampleLibraryagentV1Book>]
|
||
|
attr_accessor :books
|
||
|
|
||
|
# A token to retrieve next page of results. Pass this value in the
|
||
|
# ListBooksRequest.page_token field in the subsequent call to `ListBooks` method
|
||
|
# to retrieve the next page of results.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@books = args[:books] if args.key?(:books)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Response message for LibraryAgent.ListShelves.
|
||
|
class GoogleExampleLibraryagentV1ListShelvesResponse
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# A token to retrieve next page of results. Pass this value in the
|
||
|
# ListShelvesRequest.page_token field in the subsequent call to `ListShelves`
|
||
|
# method to retrieve the next page of results.
|
||
|
# Corresponds to the JSON property `nextPageToken`
|
||
|
# @return [String]
|
||
|
attr_accessor :next_page_token
|
||
|
|
||
|
# The list of shelves.
|
||
|
# Corresponds to the JSON property `shelves`
|
||
|
# @return [Array<Google::Apis::LibraryagentV1::GoogleExampleLibraryagentV1Shelf>]
|
||
|
attr_accessor :shelves
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
||
|
@shelves = args[:shelves] if args.key?(:shelves)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# A Shelf contains a collection of books with a theme.
|
||
|
class GoogleExampleLibraryagentV1Shelf
|
||
|
include Google::Apis::Core::Hashable
|
||
|
|
||
|
# Output only. The resource name of the shelf. Shelf names have the form `
|
||
|
# shelves/`shelf_id``. The name is ignored when creating a shelf.
|
||
|
# Corresponds to the JSON property `name`
|
||
|
# @return [String]
|
||
|
attr_accessor :name
|
||
|
|
||
|
# The theme of the shelf
|
||
|
# Corresponds to the JSON property `theme`
|
||
|
# @return [String]
|
||
|
attr_accessor :theme
|
||
|
|
||
|
def initialize(**args)
|
||
|
update!(**args)
|
||
|
end
|
||
|
|
||
|
# Update properties of this object
|
||
|
def update!(**args)
|
||
|
@name = args[:name] if args.key?(:name)
|
||
|
@theme = args[:theme] if args.key?(:theme)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|