Book http reference

Fireback accelerates backend and mobile app development, offering powerful code generation tools and standardized architecture. With seamless backend integration and streamlined workflows, Fireback expedites the creation of robust and scalable apps.

getBooks

/books

Response Dto/Entity: *[]books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

getBookById

/book/:id

Response Dto/Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

Params: :id

postBook

/book

Response Dto/Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

Request Dto/Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

patchBookById

/book/:id

Response Dto/Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

Request Dto/Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

Params: :id

deleteBookById

/book/:id

Target Entity: *books.BookEntity

message BookEntity {
  string workspaceId = 1; // @tag(yaml:"workspaceId")
  string parentId = 2; // @tag(yaml:"parentId")
  string uniqueId = 3; // @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId")
  string userId = 4; // @tag(yaml:"userId")
  repeated BookEntityPolyglot translations = 5; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations")
  string country = 7; // @tag(  yaml:"country")
  string imageLink = 8; // @tag(  yaml:"imageLink")
  string firstReleaseDate = 9; // @tag(  yaml:"firstReleaseDate")
  string language = 10; // @tag(  yaml:"language")
  int64 pages = 11; // @tag(  yaml:"pages")
  int64 year = 12; // @tag(  yaml:"year")
  string title = 13; // @tag(translate:"true" validate:"required" yaml:"title")
  string author = 14; // @tag(translate:"true" validate:"required" yaml:"author")
  /* Many 2 many entities */
  repeated string resellersListId  = 16; // @tag(gorm:"-" sql:"-" yaml:"resellersListId")
  repeated ResellerEntity resellers = 17; // @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers")
  /* Many 2 many entities */
  repeated string imagesListId  = 19; // @tag(gorm:"-" sql:"-" yaml:"imagesListId")
  repeated FileEntity images = 20; // @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images")
  /* One 2 one to external entity */
  optional string mainResellerId  = 22; // @tag(yaml:"mainResellerId")
  ResellerEntity mainReseller = 23; // @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller")
  /* This is an object, another entity needs to be created for */
  BookPublicationEntity publication = 24; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"publication")
  /* This is an object, another entity needs to be created for */
  repeated BookAwardEntity awards = 25; // @tag(gorm:"foreignKey:ParentId;references:UniqueId" yaml:"awards")

}
export interface BookEntity {
    /** @tag(yaml:"workspaceId") */
    workspaceId: string;
    /** @tag(yaml:"parentId") */
    parentId: string;
    /** @tag(gorm:"primarykey;uniqueId;unique;not null;size:100;" yaml:"uniqueId") */
    uniqueId: string;
    /** @tag(yaml:"userId") */
    userId: string;
    /** @tag(gorm:"foreignKey:ParentId;references:UniqueId" json:"translations") */
    translations: BookEntityPolyglot[];
    /** @tag(  yaml:"country") */
    country: string;
    /** @tag(  yaml:"imageLink") */
    imageLink: string;
    /** @tag(  yaml:"firstReleaseDate") */
    firstReleaseDate: string;
    /** @tag(  yaml:"language") */
    language: string;
    /** @tag(  yaml:"pages") */
    pages: number;
    /** @tag(  yaml:"year") */
    year: number;
    /** @tag(translate:"true" validate:"required" yaml:"title") */
    title: string;
    /** @tag(translate:"true" validate:"required" yaml:"author") */
    author: string;
    /** Many 2 many entities */
    resellersListId: string[];
    /** @tag(gorm:"many2many:book_resellers;foreignKey:UniqueId;references:UniqueId" yaml:"resellers") */
    resellers: ResellerEntity[];
    /** Many 2 many entities */
    imagesListId: string[];
    /** @tag(gorm:"many2many:book_images;foreignKey:UniqueId;references:UniqueId" yaml:"images") */
    images: FileEntity[];
    /** One 2 one to external entity */
    mainResellerId?: string | undefined;
    /** @tag(gorm:"foreignKey:MainResellerId;references:UniqueId" json:"mainReseller" yaml:"mainReseller") */
    mainReseller: ResellerEntity | undefined;
    /** This is an object, another entity needs to be created for */
    publication: BookPublicationEntity | undefined;
    /** This is an object, another entity needs to be created for */
    awards: BookAwardEntity[];
}

Params: :id