Foysal Ahamed 02c358d0ca
Adds safelink module (#3945)
*  Adds safelink module

*  Remove createdAt timestamp bloat

* :rotating_lights: Fix lint issue

* 🐛 Fix pagination

* 🔨 Refactor safelink rule table

* 🧹 Add better default

*  Better search params

*  Remove mod requirement for query rules and events

*  Cleanup search for queryEvents

* 📝 Add changeset

* :rotating_lights: Fix lint issue

* 🧹 Adjust as per review feedback

*  Add support for sort direction in safelink rules

* :rotating_lights: Fix lint issue

*  Split input and response object shape

* :rotating_lights: Fix lint issue
2025-07-02 21:17:38 +02:00

62 lines
1.6 KiB
JSON

{
"lexicon": 1,
"id": "tools.ozone.safelink.addRule",
"defs": {
"main": {
"type": "procedure",
"description": "Add a new URL safety rule",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": ["url", "pattern", "action", "reason"],
"properties": {
"url": {
"type": "string",
"description": "The URL or domain to apply the rule to"
},
"pattern": {
"type": "ref",
"ref": "tools.ozone.safelink.defs#patternType"
},
"action": {
"type": "ref",
"ref": "tools.ozone.safelink.defs#actionType"
},
"reason": {
"type": "ref",
"ref": "tools.ozone.safelink.defs#reasonType"
},
"comment": {
"type": "string",
"description": "Optional comment about the decision"
},
"createdBy": {
"type": "string",
"format": "did",
"description": "Author DID. Only respected when using admin auth"
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "ref",
"ref": "tools.ozone.safelink.defs#event"
}
},
"errors": [
{
"name": "InvalidUrl",
"description": "The provided URL is invalid"
},
{
"name": "RuleAlreadyExists",
"description": "A rule for this URL/domain already exists"
}
]
}
}
}