entity_like.go 1.47 KB
Newer Older
Lukas Matt's avatar
Lukas Matt committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
package federation
//
// GangGo Diaspora Federation Library
// Copyright (C) 2017 Lukas Matt <lukas@zauberstuhl.de>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//

Lukas Matt's avatar
Lukas Matt committed
20
import "github.com/Zauberstuhl/go-xml"
21

Lukas Matt's avatar
Lukas Matt committed
22
type EntityLike struct {
23
  XMLName xml.Name `xml:"like"`
Lukas Matt's avatar
Lukas Matt committed
24 25 26
  Positive bool `xml:"positive"`
  Guid string `xml:"guid"`
  ParentGuid string `xml:"parent_guid"`
27
  ParentType string `xml:"parent_type"`
28
  Author string `xml:"author"`
Lukas Matt's avatar
Lukas Matt committed
29
  AuthorSignature string `xml:"author_signature"`
30

Lukas Matt's avatar
Lukas Matt committed
31 32
  // store relayable signature order
  SignatureOrder string `xml:"-"`
33
}
34

35 36 37 38 39 40 41 42 43
func (e EntityLike) Signature() string {
  return e.AuthorSignature
}

func (e EntityLike) SignatureText(order string) []string {
  if order != "" {
    return ExractSignatureText(order, e)
  }

Lukas Matt's avatar
Lukas Matt committed
44 45 46 47 48 49 50 51 52 53
  positive := "false"
  if e.Positive {
    positive = "true"
  }
  return []string{
    positive,
    e.Guid,
    e.ParentGuid,
    e.ParentType,
    e.Author,
54 55
  }
}