user

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2020 License: Apache-2.0 Imports: 7 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUserIsNil is returned when a funciton is called with an nil user.
	ErrUserIsNil = errors.New("user is nil")
)

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	AttachmentsFolder      string `ocscapability:"config => attachments => folder"`
	ChatMaxLength          int
	Audio                  bool `ocscapability:"audio"`
	Video                  bool `ocscapability:"video"`
	Chat                   bool `ocscapability:"chat"`
	GuestSignaling         bool `ocscapability:"guest-signaling"`
	EmptyGroupRoom         bool `ocscapability:"empty-group-room"`
	GuestDisplayNames      bool `ocscapability:"guest-display-names"`
	MultiRoomUsers         bool `ocscapability:"multi-room-users"`
	ChatV2                 bool `ocscapability:"chat-v2"`
	Favorites              bool `ocscapability:"favorites"`
	LastRoomActivity       bool `ocscapability:"last-room-activity"`
	NoPing                 bool `ocscapability:"no-ping"`
	SystemMessages         bool `ocscapability:"system-messages"`
	MentionFlag            bool `ocscapability:"mention-flag"`
	InCallFlags            bool `ocscapability:"in-call-flags"`
	InviteByMail           bool `ocscapability:"invite-by-mail"`
	NotificationLevels     bool `ocscapability:"notification-levels"`
	InviteGroupsAndMails   bool `ocscapability:"invite-groups-and-mails"`
	LockedOneToOneRooms    bool `ocscapability:"locked-one-to-one-rooms"`
	ReadOnlyRooms          bool `ocscapability:"read-only-rooms"`
	ChatReadMarker         bool `ocscapability:"chat-read-marker"`
	WebinaryLobby          bool `ocscapability:"webinary-lobby"`
	StartCallFlag          bool `ocscapability:"start-call-flag"`
	ChatReplies            bool `ocscapability:"chat-replies"`
	CirclesSupport         bool `ocscapability:"circles-support"`
	AttachmentsAllowed     bool `ocscapability:"config => attachments => allowed"`
	ConversationsCanCreate bool `ocscapability:"config => conversations => can-create"`
	ForceMute              bool `ocscapability:"force-mute"`
	ConversationV2         bool `ocscapability:"conversation-v2"`
	ChatReferenceID        bool `ocscapability:"chat-reference-id"`
}

Capabilities describes the capabilities that the Nextcloud Talk instance is capable of. Visit https://nextcloud-talk.readthedocs.io/en/latest/capabilities/ for more info.

type RoomInfo added in v0.1.2

type RoomInfo struct {
	Token                 string                  `json:"token"`
	Name                  string                  `json:"name"`
	DisplayName           string                  `json:"displayName"`
	SessionID             string                  `json:"sessionId"`
	ObjectType            string                  `json:"objectType"`
	ObjectID              string                  `json:"objectId"`
	Type                  int                     `json:"type"`
	ParticipantType       int                     `json:"participantType"`
	ParticipantFlags      int                     `json:"participantFlags"`
	ReadOnly              int                     `json:"readOnly"`
	LastPing              int                     `json:"lastPing"`
	LastActivity          int                     `json:"lastActivity"`
	NotificationLevel     int                     `json:"notificationLevel"`
	LobbyState            int                     `json:"lobbyState"`
	LobbyTimer            int                     `json:"lobbyTimer"`
	UnreadMessages        int                     `json:"unreadMessages"`
	LastReadMessage       int                     `json:"lastReadMessage"`
	HasPassword           bool                    `json:"hasPassword"`
	HasCall               bool                    `json:"hasCall"`
	CanStartCall          bool                    `json:"canStartCall"`
	CanDeleteConversation bool                    `json:"canDeleteConversation"`
	CanLeaveConversation  bool                    `json:"canLeaveConversation"`
	IsFavorite            bool                    `json:"isFavorite"`
	UnreadMention         bool                    `json:"unreadMention"`
	LastMessage           ocs.TalkRoomMessageData `json:"lastMessage"`
}

RoomInfo contains information about a room

type TalkUser

type TalkUser struct {
	User         string
	Pass         string
	NextcloudURL string
	Config       *TalkUserConfig
	// contains filtered or unexported fields
}

TalkUser represents a user of Nextcloud Talk

func NewUser added in v0.1.0

func NewUser(url string, username string, password string, config *TalkUserConfig) (*TalkUser, error)

NewUser returns a TalkUser instance The url should be the full URL of the Nextcloud instance (e.g. https://cloud.mydomain.me)

func (*TalkUser) Capabilities

func (t *TalkUser) Capabilities() (*Capabilities, error)

Capabilities returns an instance of Capabilities that describes what the Nextcloud Talk instance supports

func (*TalkUser) DownloadFile added in v0.1.0

func (t *TalkUser) DownloadFile(path string) (data *[]byte, err error)

DownloadFile downloads the file at the given path

Meant to be used with rich object string's path.

func (*TalkUser) GetRooms added in v0.1.2

func (t *TalkUser) GetRooms() (*[]RoomInfo, error)

GetRooms returns a list of all rooms the user is in

func (*TalkUser) RequestClient

func (t *TalkUser) RequestClient(client request.Client) *request.Client

RequestClient returns a monaco-io that is preconfigured to make OCS API calls

type TalkUserConfig added in v0.1.0

type TalkUserConfig struct {
	TLSConfig *tls.Config
}

TalkUserConfig is configuration options for TalkUsers

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL