- storeMaterialFile: the one attach.Store call of the management API,
shared by the multipart route and the new inline route
- POST /api/v1/bm/materials/{id}/files/inline: JSON {name, mime?,
content_base64}, at most 3000000 bytes decoded, body.limit 4300000
- bm_manage_attach_material_file and bm_manage_detach_material_file,
both warning that material files are public to anyone with the link
18 lines
606 B
Go
18 lines
606 B
Go
package bm
|
|
|
|
import (
|
|
"git.golem15.com/golem15/summercms/modules/pact"
|
|
)
|
|
|
|
var _ pact.HasMCP = (*Plugin)(nil)
|
|
|
|
// MCP declares the plugin's MCP tools. They are exposed with the bm_ prefix,
|
|
// bind token-guarded routes only (the token twins of the student API under
|
|
// TokenPrefix and the management API under ManagePrefix), run as the
|
|
// signed-in user under golem15.user's "user" guard, and their titles and
|
|
// descriptions are static text, never built from data.
|
|
func (p *Plugin) MCP() pact.MCP {
|
|
tools := append(studentTools(), manageTools()...)
|
|
return pact.MCP{Tools: append(tools, fileTools()...)}
|
|
}
|