## Author ### Definition ```protobuf package library.domain; message Author { string id = 1; string full_name = 2; repeated library.domain.Book bibliography = 3; } ``` ### Dependencies - Field `bibliography`: [Book](library.domain.md#Book) --- ## Book ### Definition ```protobuf package library.domain; message Book { string isbn = 1; string title = 2; library.domain.Author author = 3; library.domain.Publisher publisher = 4; library.domain.Genre genre = 5; } ``` ### Dependencies - Field `author`: [Author](library.domain.md#Author) - Field `publisher`: [Publisher](library.domain.md#Publisher) - Field `genre`: [Genre](library.domain.md#Genre) --- ## Publisher ### Definition ```protobuf package library.domain; message Publisher { string id = 1; string name = 2; string address = 3; } ``` ### Dependencies *None* --- ## Genre ### Definition ```protobuf package library.domain; enum Genre { UNKNOWN = 0; FICTION = 1; NON_FICTION = 2; SCI_FI = 3; HISTORY = 4; } ``` ---