mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 00:01:10 +02:00
141 lines
2.8 KiB
JSON
141 lines
2.8 KiB
JSON
{
|
|
"collections": [
|
|
{
|
|
"id": "links",
|
|
"name": "links",
|
|
"type": "base",
|
|
"system": false,
|
|
"schema": [
|
|
{
|
|
"id": "title",
|
|
"name": "title",
|
|
"type": "text",
|
|
"required": true,
|
|
"options": {
|
|
"min": 1,
|
|
"max": 200
|
|
}
|
|
},
|
|
{
|
|
"id": "url",
|
|
"name": "url",
|
|
"type": "url",
|
|
"required": true
|
|
},
|
|
{
|
|
"id": "short_code",
|
|
"name": "short_code",
|
|
"type": "text",
|
|
"required": true,
|
|
"unique": true,
|
|
"options": {
|
|
"min": 3,
|
|
"max": 50,
|
|
"pattern": "^[a-zA-Z0-9_-]+$"
|
|
}
|
|
},
|
|
{
|
|
"id": "user",
|
|
"name": "user",
|
|
"type": "relation",
|
|
"required": true,
|
|
"options": {
|
|
"collectionId": "users",
|
|
"cascadeDelete": true,
|
|
"maxSelect": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "clicks",
|
|
"name": "clicks",
|
|
"type": "number",
|
|
"required": false,
|
|
"options": {
|
|
"min": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "active",
|
|
"name": "active",
|
|
"type": "bool",
|
|
"required": false,
|
|
"options": {}
|
|
}
|
|
],
|
|
"listRule": "@request.auth.id = user",
|
|
"viewRule": "@request.auth.id = user || active = true",
|
|
"createRule": "@request.auth.id != ''",
|
|
"updateRule": "@request.auth.id = user",
|
|
"deleteRule": "@request.auth.id = user"
|
|
},
|
|
{
|
|
"id": "analytics",
|
|
"name": "analytics",
|
|
"type": "base",
|
|
"system": false,
|
|
"schema": [
|
|
{
|
|
"id": "link",
|
|
"name": "link",
|
|
"type": "relation",
|
|
"required": true,
|
|
"options": {
|
|
"collectionId": "links",
|
|
"cascadeDelete": true,
|
|
"maxSelect": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "ip",
|
|
"name": "ip",
|
|
"type": "text",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "user_agent",
|
|
"name": "user_agent",
|
|
"type": "text",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "referer",
|
|
"name": "referer",
|
|
"type": "text",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "country",
|
|
"name": "country",
|
|
"type": "text",
|
|
"required": false
|
|
},
|
|
{
|
|
"id": "device",
|
|
"name": "device",
|
|
"type": "text",
|
|
"required": false
|
|
}
|
|
],
|
|
"listRule": "@request.auth.id = link.user",
|
|
"viewRule": "@request.auth.id = link.user",
|
|
"createRule": "",
|
|
"updateRule": null,
|
|
"deleteRule": "@request.auth.id = link.user"
|
|
}
|
|
],
|
|
"settings": {
|
|
"meta": {
|
|
"appName": "uLoad",
|
|
"appUrl": "https://your-domain.com",
|
|
"hideControls": false,
|
|
"senderName": "uLoad",
|
|
"senderAddress": "noreply@your-domain.com",
|
|
"verificationTemplate": {
|
|
"body": "Hello,\n\nPlease verify your email by clicking the link below:\n\n{ACTION_URL}\n\nThanks,\nuLoad Team"
|
|
},
|
|
"resetPasswordTemplate": {
|
|
"body": "Hello,\n\nYou requested to reset your password. Click the link below:\n\n{ACTION_URL}\n\nIf you didn't request this, please ignore this email.\n\nThanks,\nuLoad Team"
|
|
}
|
|
}
|
|
}
|
|
}
|