IssueSubscriptionDto

com.worxbend.codeberg4s.issues.wire.IssueSubscriptionDto
See theIssueSubscriptionDto companion object
final case class IssueSubscriptionDto(subscribed: Option[Boolean], ignored: Option[Boolean], url: Option[String], repositoryUrl: Option[String], createdAt: Option[String])

Forgejo's WatchInfo model as the issue-subscription check returns it.

'''Derived from spec/swagger.v1.json, not from a captured response''': the endpoint answers about the authenticated account and the harvest was anonymous. Five of the model's six declared properties are represented.

The sixth, reason, is '''not decodable''': the spec gives that property an x-go-name and no type, $ref, format or enum at all, so there is nothing to read it as. com.worxbend.codeberg4s.codec.JsonFields ignores a key the DTO does not name, so a payload carrying it still decodes; inventing a type for it would be a guess.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

Converts to the domain.

Converts to the domain.

'''Cannot fail, and there is no toDomainAt.''' Nothing is required: the two flags default to false, which is the honest reading of "the instance did not say this account is subscribed", and no endpoint returns this object inside an array, so there is no nested path a failure could be reported at. The Either is kept so the DTO composes with com.worxbend.codeberg4s.client.WireDecode exactly like every other one.

Attributes

Inherited methods

def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product