Feat v0.5.1 chat core (#31)
All checks were successful
All checks were successful
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #31.
This commit is contained in:
80
packages/chat-core/manifest.json
Normal file
80
packages/chat-core/manifest.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"id": "chat-core",
|
||||
"title": "Chat Core",
|
||||
"type": "library",
|
||||
"tier": "starlark",
|
||||
"version": "0.1.0",
|
||||
"description": "Core chat library — conversations, messages, participants, read cursors. Usable by other packages via lib.require().",
|
||||
"author": "switchboard",
|
||||
|
||||
"permissions": ["db.write", "realtime.publish"],
|
||||
|
||||
"exports": [
|
||||
"create", "send", "history",
|
||||
"add_participant", "remove_participant", "mark_read"
|
||||
],
|
||||
|
||||
"api_routes": [
|
||||
{"method": "GET", "path": "/conversations"},
|
||||
{"method": "POST", "path": "/conversations"},
|
||||
{"method": "GET", "path": "/conversations/*"},
|
||||
{"method": "PUT", "path": "/conversations/*"},
|
||||
{"method": "DELETE", "path": "/conversations/*"},
|
||||
{"method": "GET", "path": "/messages/*"},
|
||||
{"method": "POST", "path": "/messages/*"},
|
||||
{"method": "PUT", "path": "/messages/*"},
|
||||
{"method": "DELETE", "path": "/messages/*"},
|
||||
{"method": "GET", "path": "/participants/*"},
|
||||
{"method": "POST", "path": "/participants/*"},
|
||||
{"method": "DELETE", "path": "/participants/*"},
|
||||
{"method": "POST", "path": "/read/*"},
|
||||
{"method": "GET", "path": "/unread"}
|
||||
],
|
||||
|
||||
"db_tables": {
|
||||
"conversations": {
|
||||
"columns": {
|
||||
"title": "text",
|
||||
"type": "text",
|
||||
"created_by": "text",
|
||||
"updated_at": "text"
|
||||
},
|
||||
"indexes": [["created_by"], ["updated_at"]]
|
||||
},
|
||||
"participants": {
|
||||
"columns": {
|
||||
"conversation_id": "text",
|
||||
"participant_id": "text",
|
||||
"participant_type": "text",
|
||||
"display_name": "text",
|
||||
"role": "text",
|
||||
"joined_at": "text"
|
||||
},
|
||||
"indexes": [
|
||||
["conversation_id"],
|
||||
["participant_id"],
|
||||
["conversation_id", "participant_id"]
|
||||
]
|
||||
},
|
||||
"messages": {
|
||||
"columns": {
|
||||
"conversation_id": "text",
|
||||
"participant_id": "text",
|
||||
"content": "text",
|
||||
"content_type": "text",
|
||||
"edited_at": "text"
|
||||
},
|
||||
"indexes": [["conversation_id"]]
|
||||
},
|
||||
"read_cursors": {
|
||||
"columns": {
|
||||
"conversation_id": "text",
|
||||
"participant_id": "text",
|
||||
"last_read_message_id": "text"
|
||||
},
|
||||
"indexes": [["conversation_id", "participant_id"]]
|
||||
}
|
||||
},
|
||||
|
||||
"schema_version": 1
|
||||
}
|
||||
Reference in New Issue
Block a user