// Code generated by go-swagger; DO NOT EDIT.

package models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"context"

	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// Relationship Relationship represents a relationship between accounts.
//
// swagger:model Relationship
type Relationship struct {

	// This account is blocking you.
	BlockedBy bool `json:"blocked_by,omitempty"`

	// You are blocking this account.
	Blocking bool `json:"blocking,omitempty"`

	// You are blocking this account's domain.
	DomainBlocking bool `json:"domain_blocking,omitempty"`

	// You are featuring this account on your profile.
	Endorsed bool `json:"endorsed,omitempty"`

	// This account follows you.
	FollowedBy bool `json:"followed_by,omitempty"`

	// You are following this account.
	Following bool `json:"following,omitempty"`

	// The account id.
	// Example: 01FBW9XGEP7G6K88VY4S9MPE1R
	ID string `json:"id,omitempty"`

	// You are muting this account.
	Muting bool `json:"muting,omitempty"`

	// You are muting notifications from this account.
	MutingNotifications bool `json:"muting_notifications,omitempty"`

	// Your note on this account.
	Note string `json:"note,omitempty"`

	// You are seeing notifications when this account posts.
	Notifying bool `json:"notifying,omitempty"`

	// You have requested to follow this account, and the request is pending.
	Requested bool `json:"requested,omitempty"`

	// This account has requested to follow you, and the request is pending.
	RequestedBy bool `json:"requested_by,omitempty"`

	// You are seeing reblogs/boosts from this account in your home timeline.
	ShowingReblogs bool `json:"showing_reblogs,omitempty"`
}

// Validate validates this relationship
func (m *Relationship) Validate(formats strfmt.Registry) error {
	return nil
}

// ContextValidate validates this relationship based on context it is used
func (m *Relationship) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *Relationship) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *Relationship) UnmarshalBinary(b []byte) error {
	var res Relationship
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
