device tracking

This commit is contained in:
2025-02-25 12:24:55 +01:00
parent 4521c757ab
commit 1473f07e3d
4 changed files with 184 additions and 61 deletions

View File

@@ -1,71 +1,128 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "adminapi/schema/wco",
"title": "web components",
"description": "A web component wco is a folder with list of mustache and one name.js that deal all the business logic",
"$id": "adminapi/schema/devices",
"title": "Following xuuid",
"description": "xuuid is a unique id that is created for tracking purpose it collect some information about a device mobile, pc,... and a xuuid is generated the first time a domain name is access this is why this information is store into a tribes",
"type": "object",
"properties": {
"wconame": {
"description": "Folder name into a tribeId/objects/wco/itm",
"title": "Web component reusable in web project based with tailwindcss",
"xuuid": {
"description": "A unique id that is created for a device the first time a user access a domainname",
"title": "Unique id into a browser",
"type": "string"
},
"owner": {
"description": "owner that earn some fees",
"title": "Owner of this person",
"description": "For accessright purpose this is always equal as alias",
"type": "string"
},
"codehash": {
"description": "Code signature of alias publickey",
"dt_create": {
"title": "Creation date",
"type": "string",
"format": "date-time"
},
"dt_update": {
"type": "string",
"format": "date-time"
},
"alias": {
"description": "If knowns we get an alias",
"type": "string"
},
"thumbnail":{
"title":"Thumbnail of the component",
"type":"string"
"hits": {
"title": "List of hit of 10 minutes",
"description": "not yet formalize {dns:[{tm: timestamp of the event, trk: srctrk, context of the trk}]",
"type": "object"
},
"title":{
"title":"Short description of the wco",
"type":"string"
"useragent": {
"title": "user agent the first time",
"type": "string"
},
"description":{
"title":"Long description in html of the component",
"type":"string"
"typedevice": {
"title": "Type of device",
"type": "string",
"enum": [
"ipad",
"iphone",
"ipod",
"android",
"PC",
""
]
},
"tpl":{
"description":"list of mustache template to manage components each file must ended by _xx.mustache where xx is the language of the template, so you can add translation easily",
"type":"array"
"os": {
"title": "OS detected",
"type": "string",
"enum": [
"mobile",
"windows",
"mac",
"linux",""
]
},
"tpldata":{
"description":"Example of tpldata that you have to add in your local to customize the wco ended by _xx.json where xx is the language of the template",
"type":"array"
"ip": {
"title": "Public IP from api https://ipinfo.io/json",
"type": "string"
},
"city": {
"title": "city from ipinfo.io",
"type": "string"
},
"country": {
"title": "country from ipinfo.io",
"type": "string"
},
"screenWidth": {
"title": "Screen width of the device",
"type": "integer"
},
"screenHeight": {
"title": "Screen height of the device",
"type": "integer"
},
"connection": {
"title": "Bandwidth of thefirst access, this can of course change",
"type": "string"
},
"lang": {
"title": "Language setting of the device",
"type": "string"
},
"plugins": {
"title": "List of current plugins install into the browser during the first access",
"type": "array"
}
},
"required": [
"wconame",
"owner",
"title"
],
"apxid": "wconame",
"apxuniquekey": [
"wconame"
],
"apxidx": [
{
"name": "lst_wconame",
"type": "array",
"keyval": "wconame"
}
],
"apxaccessrights": {
"owner": {
"D": [],
"R": [],
"U": []
},
"mayor": {
"C": []
},
"person": {
"R": []
}
}
},
"required": [
"xuuid"
],
"apxid": "xuuid",
"apxuniquekey": [
"xuuid"
],
"apxidx": [
{
"name": "alias",
"type": "view",
"keyval": "alias",
"objkey": [
"xuuid",
"type",
"os"
],
"filter": ""
}
],
"apxaccessrights": {
"anonymous":{
"C":[],
"U":[],
"D":[]
},
"mayor": {
"R": []
},
"person": {
"R": []
}
}
}