ink.resenha.defs

Views shared by the calls Resenha's server answers.

Repository @resenha.ink did:plc:v7itjf4h3sb5zuegiiskctqb namespace authority
Details · defs
Kinddefs
Authorityresenha.ink
Indexed

Showing version bafyreicfbywmroxljvo4wfozq5v3ljohebicqwonttzvjg74lxybimsn7m. Show the latest

#bookIdentifiers

object

A book's numbers in every catalogue that has it. Any one of them finds the book; together they tie the catalogues to each other.

Properties

asin

string

Amazon's, as Popfeed keeps it.

  • maxLength: 16
  • maxLength: 32

hiveId

string

BookHive's ID for the edition.

  • maxLength: 64

isbn10

string
  • maxLength: 10

isbn13

string
  • maxLength: 13

Open Library's edition key, such as /books/OL62590811M.

  • maxLength: 32

Open Library's work key, such as /works/OL45908582W: the book across its editions.

  • maxLength: 32

#bookRef

object

Which book a record is about, in every key anyone uses, so an app finds it with the one it has: by BookHive ID, ISBN, Open Library work, or the reader's own record in another app. Resenha's records carry it beside their own keys. Nothing is required but the title, so a book no catalogue knows can still be named.

Properties

authors

string

Tab-separated, as BookHive stores them.

  • maxLength: 1024

cover

string · uri

A cover the writer's app showed for the book, downloaded and found to be a real cover rather than a catalogue's stand-in picture. Resenha's server keeps it as a fallback for the book's cover, after the catalogue's and Open Library's.

  • maxLength: 1000

records

array

The reader's own records for the book in any app: their buzz.bookhive.book, their social.popfeed.feed.listItem records, a record in an app to come.

  • maxLength: 20
itemsstring · at-uri

title

requiredstring
  • maxLength: 512

#bookView

object

Enough of a book to show a row. Cover and details come from BookHive's catalogue when the server has them; otherwise the app asks BookHive itself.

Properties

authors

string

Authors as BookHive stores them, tab-separated.

  • maxLength: 1024

cover

string · uri

For a Popfeed book, Popfeed's own cover, its surest address.

covers

array

For a Popfeed book, every address of its cover, surest first, when there is more than one: the poster blob's address on Bluesky's CDN, isbndb's, then the item's posterUrl. A reader tries the next when one fails.

  • maxLength: 8
itemsstring · uri

genres

array
  • maxLength: 32
itemsstring
  • maxLength: 64

hiveId

requiredstring

The book's BookHive ID, or, for a Popfeed book BookHive's catalogue doesn't know, a stand-in beginning with popfeed- that no BookHive call takes.

  • maxLength: 64

isbn13

string

The edition the reader's record names, when it names one. For a book BookHive's catalogue doesn't know, the key of the page its readers share (ink.resenha.book.getBook).

  • maxLength: 13

pages

integer
  • minimum: 1

title

string
  • maxLength: 512

year

integer

Year of publication, from BookHive's catalogue.

#commentView

object

A comment in the thread about a reader reading a book.

Properties

author

requiredstring · did

cid

string · cid

createdAt

requiredstring · datetime

parent

string · at-uri

The comment this one answers; absent at the top.

removed

boolean

Removed by Resenha's maintainer but kept in place because replies hang from it: no words, no author.

root

string · at-uri

source

requiredstring

A Resenha comment, or a BookHive buzz, which is read here but answered on BookHive.

  • knownValues: resenha | bookhive

text

requiredstring
  • maxLength: 10000
  • maxGraphemes: 1000

uri

requiredstring · at-uri

#event

object

Something a reader did with a book.

Properties

actor

requiredstring · did

book

requiredref
Reference

cid

string · cid

The record's version as the server last saw it, for a like or comment to name.

Comments in the event's home: the thread about the reader reading this book (Resenha comments and BookHive buzzes) for a reading or a review kept on BookHive, Popfeed's comments and replies on a Popfeed review, replies to the post of a review published from Resenha.

  • minimum: 0

date

requiredstring · datetime

excerpt

string

The start of the review, plain text.

  • maxLength: 3000
  • maxGraphemes: 300

kind

requiredstring

What they did. wantsToRead and abandoned are dated by when the server saw the status change, else by when the book was added; progress by the record.

  • knownValues: started | finished | reviewed | wantsToRead | abandoned | progress

likeCount

integer

Likes in the event's home: Resenha likes on the reader's book record for a reading or a review kept on BookHive, Popfeed likes on a Popfeed review, Bluesky likes on the post that announced a review published from Resenha.

  • minimum: 0

popfeedReview

string · at-uri

For a reviewed event from Popfeed: the social.popfeed.feed.review record, whose comments and likes are Popfeed's.

post

ref

For a reviewed event with source resenha: the Bluesky post that announced the review, whose likes and replies are the review's.

Reference

review

string

The whole review, plain markdown, on reviewed events and on finished ones that carry the review.

  • maxLength: 1000000
  • maxGraphemes: 100000

source

requiredstring
  • knownValues: bookhive | popfeed | resenha

stars

integer

In half stars, 1 to 10, as BookHive keeps them.

  • minimum: 1
  • maximum: 10

uri

requiredstring · at-uri

The record it comes from: the reader's BookHive book record, or their Popfeed list item (or review, for a book reviewed but on no list).

Reference

#followerView

object

Someone who follows the caller.

Properties

books

integer

How many books they keep in the index; 0 for someone who isn't a reader.

  • minimum: 0

did

requiredstring · did

followedAt

string · datetime

When they followed, when the server heard the follow itself; absent for follows older than its listening.

follows

boolean

Whether the caller follows them back.

  • maxLength: 3
itemsref
Reference

#knownFollowers

object

Among the caller's follows, who follows a reader: social proof within Resenha's community, from the follows and followers the server keeps.

Properties

count

requiredinteger
  • minimum: 0

Up to three of them, to name.

  • maxLength: 3
itemsstring · did

#profileView

object

Someone's name and picture, as Bluesky's AppView last gave them to the server; absent for a reader it hasn't fetched yet, whose name the app then finds itself.

Properties

avatar

string · uri

did

requiredstring · did
  • maxLength: 640
  • maxGraphemes: 64

handle

string · handle

#progressView

object

How far through the book the reader is, as the record says.

Properties

  • minimum: 1

percent

requiredinteger
  • minimum: 0
  • maximum: 100

totalPages

integer
  • minimum: 1

updatedAt

requiredstring · datetime

#readerView

object

Properties

books

integer

How many books they keep on BookHive.

  • minimum: 0

With the caller, when sorted by similar.

  • minimum: 0

did

requiredstring · did

followedAt

string · datetime

When the caller followed them, for the caller's own list.

followsYou

boolean

Whether they follow the caller, as the server knows it.

joinedAt

string · datetime

When they started using Resenha.

lastActivity

string · datetime

When they last started, finished, changed or progressed in a book.

  • maxLength: 3
itemsref
Reference

#reportView

object

A reported, or removed, Resenha comment as the maintainers see it.

Properties

author

string · did

note

string

reason

string

removed

boolean

removedAt

string · datetime

reportedAt

string · datetime

reporter

string · did
  • knownValues: remove | keep | removeAndHide | restore

resolvedAt

string · datetime

subject

string · at-uri

The book record the thread is on.

subjectOwner

string · did

That book's title, when the index has it.

text

string

The comment's words, as the index keeps them.

uri

requiredstring · at-uri

The comment.

#reviewView

object

Properties

author

requiredstring · did

book

requiredref
Reference

createdAt

requiredstring · datetime

excerpt

string
  • maxLength: 3000
  • maxGraphemes: 300
  • maxLength: 8
itemsstring · language

source

requiredstring
  • knownValues: bookhive | popfeed | resenha

stars

integer
  • minimum: 1
  • maximum: 10

text

string

The whole review, when asked for with full.

  • maxLength: 1000000
  • maxGraphemes: 100000

title

string
  • maxLength: 3000
  • maxGraphemes: 300

uri

requiredstring · at-uri

The review: a Standard.site document, a Popfeed review, or a BookHive book record with a review.

#starterPackView

object

A starter pack the server keeps in the official account.

Properties

list

string · at-uri

The reference list the pack is built on.

members

requiredarray
  • maxLength: 150
itemsstring · did

name

requiredstring

updatedAt

string · datetime

uri

requiredstring · at-uri

#suggestionView

object

A reader worth following, for an empty Parlor.

Properties

activeDays

integer

Days over the last six months on which they started, finished, changed, progressed in or reviewed a book, on any source.

  • minimum: 0

books

integer
  • minimum: 0

did

requiredstring · did

followsYou

boolean

They follow the caller already.

The languages they said their reviews are in.

itemsstring · language

reviews

integer
  • minimum: 0

source

requiredstring

Where they read: Resenha's readers come first, then BookHive's and Popfeed's.

  • knownValues: resenha | bookhive | popfeed

tier

integer
  • minimum: 0
  • maximum: 2

#viewerState

object

The caller's own reactions to a book record.

Properties

like

string · at-uri

The caller's like, to take it back.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Which catalog book a book in the reader's library is, and which of the reader's records in each book app are that book. Resenha writes these when it matches a reader's Popfeed books to BookHive's catalog, so Popfeed's and BookHive's own records are never changed to hold the match.

  • ink.resenha.book.getBook

    query not from the namespace authority

    A book's page from Resenha's index: an edition's readers with their readings, everyone's reviews of it, and its other editions with theirs. By BookHive ID or ISBN-13, so a book BookHive's catalogue doesn't know has one page shared by its readers. Readers the caller blocks are left out. Requires the caller's service token.

  • A reader's reading of a book BookHive's catalogue doesn't hold, or can't be matched to for certain: the home of last resort, so any book can be added to a library and reviewed. One per book. Status, dates, rating, review and progress live here as they do on a buzz.bookhive.book; the book is named in every key anyone uses, so any app that recognises one of them can show the reading. When BookHive's catalogue has the book, Resenha moves the reading there: it writes a buzz.bookhive.book with everyt

  • User has abandoned the book

  • A book in the user's library