Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangesetClient ¶
type ChangesetClient struct { Changsetserverpath string Downloadeurl string // contains filtered or unexported fields }
func NewChangesetClient ¶
func NewChangesetClient(ip string, port string) *ChangesetClient
func (*ChangesetClient) Close ¶
func (cc *ChangesetClient) Close()
func (*ChangesetClient) Connect ¶
func (cc *ChangesetClient) Connect() error
func (*ChangesetClient) GenerateChangeset ¶
func (*ChangesetClient) StartChangesetServer ¶
func (cc *ChangesetClient) StartChangesetServer() error
func (*ChangesetClient) StopChangesetServer ¶
func (cc *ChangesetClient) StopChangesetServer()
type Pad ¶
type Pad struct { URL string //"https://example.com/pad/" WsURL string //"wss://example.com/pad/" SessionToken string PadId string SessionID string Cookie []*http.Cookie ChangesetServerIP string ChangesetServerPort string Client *goSocketio.Client AuthorID string Text string Attribs string BaseRev int LocationX int ChangesetServerExternal bool ChangesetClient *ChangesetClient }
func NewPad ¶
func NewPad(url string, wsURL string, sessionToken string, padId string, sessionID string, cookie []*http.Cookie, external bool, host string, port int) *Pad
Create new pad wsURL = "wss://example.com/pad/" SessionToken = gtxiomrffih2b8qr (from bbb) padId = g.9d4O2LRqTkIfh6bM$notes (from ddp. To get it c.ddpCall(bbb.GetPadIdCall, "en")) sessionID = s.4918c0b0b9b7913b5e29334a50f58212 (from ddp. To get it padsSessionsCollection.FindAll()) cookie = client.SessionCookie
type ReceveClientReady ¶
type ReceveClientReady struct { Data struct { UserID string `json:"userId"` CollabClientVars struct { InitialAttributedText struct { Text string `json:"text"` Attribs string `json:"attribs"` } `json:"initialAttributedText"` Rev int `json:"rev"` } `json:"collab_client_vars"` } `json:"data"` }
Initial response from the server
type ReceveConfirmSendChar ¶
type ReceveConfirmSendChar struct { Type string `json:"type"` Data struct { Type string `json:"type"` NewRev int `json:"newRev"` } `json:"data"` }
Server will confim the SendChar sent by this client {"type":"COLLABROOM","data":{"type":"ACCEPT_COMMIT","newRev":1}}
type ReceveCursorPosition ¶
type ReceveCursorPosition struct { Type string `json:"type"` Data struct { Type string `json:"type"` Payload struct { Action string `json:"action"` AuthorID string `json:"authorId"` AuthorName string `json:"authorName"` PadID string `json:"padId"` LocationX int `json:"locationX"` LocationY int `json:"locationY"` } `json:"payload"` } `json:"data"` }
Server will send a cursor position, if a outher user moved the cursor {"type":"COLLABROOM","data":{"type":"CUSTOM","payload":{"action":"cursorPosition","authorId":"a.3JMUunbWzLnaV1Ox","authorName":"Julian","padId":"g.VPluJJUveQlgElgN$notes","locationX":0,"locationY":0}}}
type ReceveData ¶
type ReceveData struct { Type string `json:"type"` Data struct { Type string `json:"type"` } `json:"data"` }
Server will send data which has a Type. To get the type use ReceveData.Data.Type {"type":"COLLABROOM","data":{"type":"ACCEPT_COMMIT",...}}
type ReceveNewUser ¶
type ReceveNewUser struct { Type string `json:"type"` Data struct { Type string `json:"type"` UserInfo struct { ColorID int `json:"colorId"` Name string `json:"name"` UserID string `json:"userId"` } `json:"userInfo"` } `json:"data"` }
Server will send a new user, if a outher user joined the pad {"type":"COLLABROOM","data":{"type":"USER_NEWINFO","userInfo":{"colorId":9,"name":"Julian","userId":"a.MO7GXKUWttjc4se8"}}}
type ReceveSendChar ¶
type ReceveSendChar struct { Type string `json:"type"` Data struct { Type string `json:"type"` NewRev int `json:"newRev"` Changeset string `json:"changeset"` Apool struct { NumToAttrib struct { Num0 []string `json:"0"` } `json:"numToAttrib"` AttribToNum interface{} `json:"attribToNum"` NextNum int `json:"nextNum"` } `json:"apool"` Author string `json:"author"` CurrentTime int64 `json:"currentTime"` TimeDelta any `json:"timeDelta"` } `json:"data"` }
Server will send char, if a outher user wrote a char {"type":"COLLABROOM","data":{"type":"NEW_CHANGES","newRev":3,"changeset":"Z:3>1=2*0+1$b","apool":{"numToAttrib":{"0":["author","a.MO7GXKUWttjc4se8"]},"attribToNum":{"author,a.MO7GXKUWttjc4se8":0},"nextNum":1},"author":"a.MO7GXKUWttjc4se8","currentTime":1677492927116,"timeDelta":null}}
type SendChar ¶
type SendChar struct { Type string `json:"type"` Component string `json:"component"` Data struct { Type string `json:"type"` BaseRev int `json:"baseRev"` Changeset string `json:"changeset"` Apool struct { NumToAttrib struct { Num0 []string `json:"0"` } `json:"numToAttrib"` NextNum int `json:"nextNum"` } `json:"apool"` } `json:"data"` }
Send this to the Server to send a char {"type":"COLLABROOM","component":"pad","data":{"type":"USER_CHANGES","baseRev":0,"changeset":"Z:1>1*0+1$h","apool":{"numToAttrib":{"0":["author","a.3JMUunbWzLnaV1Ox"]},"nextNum":1}}}
type SendCursorPosition ¶
type SendCursorPosition struct { Type string `json:"type"` Component string `json:"component"` Data struct { Type string `json:"type"` Action string `json:"action"` LocationY int `json:"locationY"` LocationX int `json:"locationX"` PadID string `json:"padId"` MyAuthorID string `json:"myAuthorId"` } `json:"data"` }
Send this to the Server to send a cursor position {"type":"COLLABROOM","component":"pad","data":{"type":"cursor","action":"cursorPosition","locationY":0,"locationX":1,"padId":"g.VPluJJUveQlgElgN$notes","myAuthorId":"a.3JMUunbWzLnaV1Ox"}}