matrix-org / gomatrix

A Golang Matrix client
Apache License 2.0
285 stars 53 forks source link

Added tags.go to support room tagging feature in dendrite #62

Closed SUMUKHA-PK closed 5 years ago

SUMUKHA-PK commented 5 years ago

Generic types are supposed to go in gomatrix so to support Room Tagging PR adding tags.go to gomatrix

anoadragon453 commented 5 years ago

Looking at the spec I'm actually not sure we need a Tag and a TagProperties, as essentially all we need is a Tag with an Order and then just a dictionary of name<->Tag. I guess it depends on whether we want a struct for every possible Matrix event body. @babolivier @erikjohnston ?

Also can you include the Copyright header.

babolivier commented 5 years ago

ftr I'm the one who suggested to structure it this way, my point being that it makes it easier to parse/serialise, and sticks to the spec's definition of a m.tag event's content.

I guess it depends on whether we want a struct for every possible Matrix event body.

I think we'd want that, otherwise we'll just find ourselves in front of multiple projects importing gomatrix but having their own implem of every type they need (because a struct needs to be defined anyway). Though I don't think it's necessary that we take on the huge task to add everything at once, and it's preferable imho that we add each as we encounter the need for one.