report_create
report_create is implemented by handleReportCreate in src/api/handlers/report/report_create.osl.
Handles the report create protocol operation through the resource-specific helper and storage layers.
Access
Section titled “Access”| Gate | Requirement |
|---|---|
| Authentication | Required by the central API gate. |
| Central permission | None. Resource, channel, ownership, or hierarchy checks may still apply in the handler/helpers. |
| Broadcast | Not marked global directly by this adapter. A helper may emit focused or server-wide updates. |
Request
Section titled “Request”Every request includes cmd: "report_create" and may include an opaque listener correlation value.
| Field | Validation / meaning |
|---|---|
target_type |
schema.enum(["message", "attachment", "user"]) |
target_id |
schema.string().trim().minLen(1) |
reason |
schema.string().trim().maxLen(1000).defaultValue("") |
destination |
schema.enum(["owner", "rotur"]).defaultValue("owner") |
channel |
schema.string().trim().defaultValue("") |
Validator source
Section titled “Validator source”The handler and shared validation path use these OSL schema definitions before normalization:
*schema.Schema schemaReportCreate = schema.object({ target_type: schema.enum(["message", "attachment", "user"]), target_id: schema.string().trim().minLen(1), reason: schema.string().trim().maxLen(1000).defaultValue(""), destination: schema.enum(["owner", "rotur"]).defaultValue("owner"), channel: schema.string().trim().defaultValue("")})Processing path
Section titled “Processing path”handleCmdenforces authentication.dispatchCmdroutesreport_createtohandleReportCreate.- The adapter validates and normalizes input, then calls its domain collaborators.
- Durable mutations complete before the response or event is returned.
onMessageadds the request listener to direct responses and performs any marked broadcast.
Direct collaborators visible in the handler: reportSnapshot, typeof, configGet, reportForward, reportCreate
Responses and events
Section titled “Responses and events”Response/event command names visible in this adapter: report_create.
Validation and domain failures use:
{ "cmd": "error", "val": "<message>", "src": "report_create", "listener": "<copied from request>"}