# README
Tat Engine

Documentation: https://ovh.github.io/tat/
Hacking
You've developed a new cool feature? Fixed an annoying bug? We'd be happy to hear from you! Make sure to read CONTRIBUTING.md before.
License
This work is under the BSD license, see the LICENSE file for details.
# Functions
ArrayContains return true if element is in array.
CheckAndFixNameTopic Add a / to topic name is it is not present return an error if length of name is < 4 or > 100.
DateFromFloat returns a time.Time from a float.
Error returns the error in the proper way.
No description provided by the author
GetMessageCriteriaFromURLValues returns a MessagesCriteria from a url.Values.
ItemInBothArrays return true if an element is in both array.
NewClient initialize a TAT client.
NewError returns a new APIError.
Round rounds float.
SplitFloatForTimeUnix returns a.b a and b, b with 9 numbers then, time.Unix(a,b) for initialize date from a float64.
Sprint return the value in json as a string.
TSFromDate returns a timestamp with float.
TSFromNow returns a timestamp with float for timeNow().
# Constants
DefaultMessageMaxReplies is max number of replies on a message, can be overrided by topic.
False in url http way -> string.
MessageActionConcat for concat action on a message.
MessageActionCreate for create a message.
MessageActionLabel for "label action on a message.
MessageActionLike for "like action on a message.
MessageActionMove for move action on a message.
MessageActionRelabel for relabel action on a message.
MessageActionRelabelOrCreate for relabeloradd action on a message.
MessageActionReply for "reply action on a message.
MessageActionTask for task action on a message.
MessageActionUnlabel for nlabel action on a message.
MessageActionUnlike for unlike action on a message.
MessageActionUntask for untask action on a message.
MessageActionUnvotedown for tedown action on a message.
MessageActionUnvoteup for voteup action on a message.
MessageActionUpdate for update action on a message.
MessageActionVotedown for tedown action on a message.
MessageActionVoteup for voteup action on a message.
TatHeaderPassword is Tat_password header.
TatHeaderUsername is Tat_username header.
TatHeaderXTatRefererLower contains tat microservice name & version "X-TAT-FROM".
TreeViewFullTree is fulltree value for treeView.
TreeViewNoTree is default value.
TreeViewOneTree is onetree value for treeView.
True in url http way -> string.
# Variables
func(string, ...interface{}).
ErrClientNotInitiliazed is a predifined Error.
ErrorLogFunc is a function that logs the provided message with optional fmt.Sprintf-style arguments.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
HTTPClient is HTTClient or testHTTPClient for tests.
IsDebug display request / response in ErrorLogFunc if true.
Version of Tat.
# Structs
APIError is the Error wrapper for api error management.
Auth User Struct.
Author struct.
No description provided by the author
No description provided by the author
CheckTopicsUserJSON used to check if user have default topics.
Client represents a Client configuration to connect to api.
Contact User Struct.
ContactsJSON represents a contact for a user, in contacts attribute on a user.
ConvertUserJSON is used to convert a user to a system user.
No description provided by the author
FilterCriteria are used to list messages.
Group struct.
GroupCriteria is used by List all Groups.
GroupJSON contains name and description for a group.
GroupsJSON is used by Tat Engine, for groups list.
No description provided by the author
HookJSON represents a json sent to an external system.
HookMessageJSON represents a json sent to an external system, for a event about a message.
Label struct.
Message struc.
MessageCriteria are used to list messages.
MessageJSON represents a message with action on it.
MessageJSONOut represents a message and an additional info.
MessageReferenceJSON is used for and action On A Existing Message.
MessagesCountJSON represents count of messages.
MessagesJSON represents a message and information if current topic is RW.
No description provided by the author
Options is a struct to initialize a TAT client.
ParamGroupUserJSON is used for add or remove user on a group.
ParamJSON is used to update a param on a topic (attr.
ParamTopicGroupJSON is used for manipulate a group on a topic.
ParamTopicUserJSON is used to update a parameter on topic.
Presence struct.
PresenceCriteria used by Presences List.
PresenceJSON represents a status on a topic.
PresenceJSONOut represents a presence.
PresencesJSON represents list of presences with count for total.
RenameUserJSON is used for rename a user.
StatsCountJSON contains all globals counters.
StatsDistributionTopicsJSON is used by GET /distribution/topics.
Topic struct.
TopicCreateJSON is used to create a parameter on topic.
TopicCriteria struct, used by List Topic.
TopicDistributionJSON represents struct used by Engine while returns topic distribution.
TopicJSON represents struct used by Engine while returns one topic.
TopicNameJSON represents struct, only topic name.
TopicParameter struct, parameter on topics.
TopicParameterJSON is used to manipulate a parameter on a topic.
TopicParameters updates param on one topic.
TopicsJSON represents struct used by Engine while returns list of topics.
UpdateUserJSON is used for update user information.
User struct.
UserCreateJSON is used for create a new user.
UserCriteria is used to list users with criterias.
UserJSON used by GET /user/me.
UsernameUserJSON contains just a username.
UserPresence struct.
UserResetJSON is used for reset a new user.
UsersJSON represents list of users and count for total.
VerifyJSON is used for returns password for a user with verify action.
# Interfaces
CacheableCriteria must return strnig slice describing the redis key.