Skip to content

Minimum Viable API #10

@jaredoconnell

Description

@jaredoconnell

Here are all of the things we planned out that need to be added for an API to enable a minimum viable product.

Sketch board: https://miro.com/app/board/uXjVOReW-NE=/

Enum:

  • Field Type: Integer, String, Url
  • Conversation Type: Direct Message, Group Direct Message, Public Channel, Private Channel
  • AuthResult: Success, Fail_Rejected, Fail_Connection_Error, Connecting

Structs:

  • Array objects (type array + length).
  • PluginInfo (adding to existing): +protocol_name, +name, +auth_method array
  • AuthMethod: name, array of fields
  • Team: id, name
  • Conversation: id, name, team_id, conversation type
  • Field: name, type, value, required, sensitive

New plugin Functions:

  • init_account? What's the difference between this and create_account?
  • login(Account, Array)
  • get_messages(Account, Conversation, timestamp)

New polychat-plugin functions (called by plugin):

  • get_teams(Account) -> Array
  • add_team(Account, Team)
  • remove_team(Account, TeamId)
  • get_conversations(Account)
  • get_team_conversations(Account, TeamId)
  • add_conversation(Account, Conversation)
  • remove_conversation(Account, TeamId, ConversationId)
  • add_message(Account, ConversationId, Message)
  • remove_message(Account, TeamId, ConversationId, MessageId)
  • update_message_status(Account, TeamId, ConverstaionId, MessageId, SendStatus)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions