adminapi/schema/articles.json

224 lines
4.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "/schema/articles",
"title": "Article",
"description": "Way to store data about articles",
"type": "object",
"properties": {
"articleid": {
"title": "Unique identification",
"description": "A unique uuid string identifying an article",
"type": "string",
"format": "uuid"
},
"title": {
"title": " Article title for SEO",
"description": "Use to create a url if needed",
"type": "string"
},
"description": {
"title": "Description for SEO",
"type": "string"
},
"imgseo": {
"title": "Image for SEO",
"type": "string",
"format": "url"
},
"url": {
"type": "string",
"format": "url",
"comment": "A web access of this article public or private"
},
"author": {
"title": "Auteur",
"type": "string",
"comment": "Can be different than owner"
},
"email": {
"title": "To contact author",
"format": "email",
"comment": "Hide to public but to be aware of a comment "
},
"owner": {
"title": "Owner of this article",
"description": "For accessright purpose this is always equal as alias",
"type": "string"
},
"dt_create": {
"title": "Creation date",
"type": "string",
"format": "date-time"
},
"dt_update": {
"type": "string",
"format": "date-time"
},
"dt_publish": {
"type": "string",
"format": "date-time"
},
"manualkeywords": {
"type": "array",
"items": {
"type": "string",
"enum": [
"tips",
"news",
"tutorial"
]
}
},
"autokeywords": {
"type": "array",
"items": {
"type": "string"
}
},
"articleevaluations": {
"title": "key is an alias or uuid and value is an evaluation from 0 to 4",
"type": "object",
"patternProperties": {
"*": {
"title": "evaluation 0 dislike 4 like",
"type": "integer",
"minimum": 0,
"maximum": 4
}
},
"articlevalue": {
"type": "float",
"minimum": 0,
"maximum": 4
},
"followupdate": {
"type": "array",
"items": {
"title": "alias",
"type": "string"
}
},
"comments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"comments": {
"type": "string",
"maxLength": 250
},
"dt_create": {
"title": "Creation date",
"type": "string",
"format": "date-time"
},
"alias": {
"type": "string"
},
"commenthash": {
"type": "string"
},
"answerto": {
"type": "integer",
"title": "position of the comments of this response comment"
}
}
}
},
"publiccontent": {
"type": "string"
},
"privatecontent": {
"type": "string"
}
},
"required": [
"articleid",
"owner",
"title",
"description"
],
"additionalProperties": true,
"apxref": [],
"apxid": "articleid",
"apxuniquekey": [
"articleid"
],
"apxidx": [
{
"name": "lst_articleid",
"type": "array",
"keyval": "articleid"
},
{
"name": "lst_author",
"type": "array",
"keyval": "author"
},
{
"name": "articleid",
"type": "view",
"keyval": "articleid",
"objkey": [
"articleid",
"title",
"description",
"imgseo",
"url",
"author",
"dt_create",
"dt_update",
"dt_publish",
"manualkeywords",
"autokeywords"
],
"filter": ""
},
{
"name": "author_articleid",
"type": "distribution",
"keyval": "author",
"filter": ""
},
{
"name": "manualkeywords_articleid",
"type": "distribution",
"keyval": "manualkeywords",
"filter": ""
}
],
"apxaccessrights": {
"owner": {
"C": [],
"D": [],
"R": [],
"U": [
"title",
"description",
"imgseo",
"url",
"author",
"dt_publish",
"manualkeywords",
"publiccontent",
"privatecontent"
]
},
"persons": {
"R": [
"articleid",
"title",
"description",
"imgseo",
"url",
"author",
"dt_publish",
"manualkeywords",
"publiccontent",
"comments",
"articlevalue"
]
}
}
}
}