This commit is contained in:
Matheus
2026-09-23 12:29:08 -03:00
commit f5d231ab8f
59 changed files with 16658 additions and 0 deletions
+416
View File
@@ -0,0 +1,416 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://git.davinti.com.br/davinTI/vitruvio/raw/branch/master/vitruvio-ui/src/main/resources/vitruvio-manifest-schema.json",
"title": "vitruvio.json",
"description": "Vitruvio Git Content Repository Manifest",
"type": "object",
"required": ["version", "metadata"],
"additionalProperties": false,
"properties": {
"$schema": { "type": "string" },
"_comment": { "type": "string" },
"_comment_version": { "type": "string" },
"version": {
"type": "string",
"description": "Manifest version, e.g. \"1.0.0\""
},
"metadata": {
"type": "object",
"required": ["key"],
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"key": { "type": "string", "description": "Unique identifier for this content package" },
"standardProduct": { "type": "boolean" }
}
},
"panels": { "type": "array", "items": { "$ref": "#/definitions/panel" } },
"processes": { "type": "array", "items": { "$ref": "#/definitions/process" } },
"scripts": { "type": "array", "items": { "$ref": "#/definitions/script" } },
"endpoints": { "type": "array", "items": { "$ref": "#/definitions/endpoint" } },
"queries": { "type": "array", "items": { "$ref": "#/definitions/query" } },
"reports": { "type": "array", "items": { "$ref": "#/definitions/report" } },
"libraries": { "type": "array", "items": { "$ref": "#/definitions/library" } },
"groups": { "type": "array", "items": { "$ref": "#/definitions/group" } },
"properties": { "type": "array", "items": { "$ref": "#/definitions/property" } },
"menu": { "type": "array", "items": { "$ref": "#/definitions/menuItem" } },
"permissions": { "type": "array", "items": { "$ref": "#/definitions/permission" } },
"patches": {
"type": "string",
"description": "Relative directory path containing Liquibase changesets, e.g. \"patches/\""
}
},
"definitions": {
"panel": {
"type": "object",
"required": ["key", "name"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] },
"category": { "type": "string", "description": "Hierarchical path, e.g. \"Comercial/Vendas\"" },
"displayOrder": { "type": "integer", "default": 0 },
"showInPresentation": { "type": "boolean", "default": false },
"openInNewWindow": { "type": "boolean", "default": false },
"showInMobileList": { "type": "boolean", "default": false },
"displayTimeInSeconds": { "type": "integer", "default": 0 },
"allowedGroups": { "type": "array", "items": { "type": "string" } },
"allowedUsers": { "type": "array", "items": { "type": "string" } },
"forms": {
"type": "object",
"additionalProperties": false,
"properties": {
"desktop": { "type": ["string", "null"], "description": "Relative path to desktop form XML" },
"mobile": { "type": ["string", "null"], "description": "Relative path to mobile form XML" },
"mobileAlternative": { "type": ["string", "null"], "description": "Relative path to alternative mobile form XML" }
}
},
"defaultState": { "type": ["string", "null"], "description": "Relative path to default state JSON" },
"thumbnail": { "type": ["string", "null"], "description": "Relative path to thumbnail image" }
}
},
"script": {
"type": "object",
"required": ["key", "name", "source", "language", "domain"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] },
"language": { "type": "string", "enum": ["javascript", "JavaScript", "groovy", "Groovy"] },
"domain": { "type": "string", "enum": ["USUARIO", "SISTEMA"] },
"source": { "type": "string", "description": "Relative path to the script file" },
"documentation": { "type": ["string", "null"], "description": "Relative path to optional documentation file" },
"schedules": { "type": "array", "items": { "$ref": "#/definitions/scriptSchedule" } }
}
},
"scriptSchedule": {
"type": "object",
"required": ["uuid", "nome", "triggerInfo"],
"additionalProperties": false,
"properties": {
"uuid": { "type": "string", "format": "uuid" },
"nome": { "type": "string" },
"descricao": { "type": ["string", "null"] },
"proprietario": { "type": ["string", "null"] },
"execFeriado": { "$ref": "#/definitions/scheduleExecFeriado" },
"scheduleScriptParameters": { "type": ["string", "null"] },
"controleNotificacao": { "type": "boolean", "default": false },
"configuracaoNotificacao": { "type": ["object", "null"] },
"triggerInfo": { "$ref": "#/definitions/triggerInfo" },
"statusPolicy": { "$ref": "#/definitions/scheduleSyncPolicy" }
}
},
"endpoint": {
"type": "object",
"required": ["key", "name", "source", "language", "authMode"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] },
"language": { "type": "string", "enum": ["javascript", "JavaScript", "groovy", "Groovy"] },
"authMode": { "type": "string", "enum": ["PUBLIC", "STATIC_TOKEN", "VITRUVIO_WS_USER_AUTH", "HTTP_BASIC_AUTH"] },
"active": { "type": "boolean", "default": true },
"source": { "type": "string", "description": "Relative path to the endpoint script file" }
}
},
"query": {
"type": "object",
"required": ["key", "name", "source"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"connection": { "type": ["string", "null"], "description": "Database connection key" },
"source": { "type": "string", "description": "Relative path to the SQL file" }
}
},
"report": {
"type": "object",
"required": ["key", "name", "type", "category"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] },
"type": { "type": "string", "enum": ["MODELO_ESTATICO", "DINAMICO_QUERY_SQL"] },
"category": { "type": "string", "description": "Hierarchical category path" },
"owner": { "type": ["string", "null"] },
"template": { "type": ["string", "null"], "description": "Relative path to Jasper template" },
"parameterForm": { "type": ["string", "null"], "description": "Relative path to parameter form XML" },
"query": { "type": ["string", "null"], "description": "Key of the query used by this report" },
"orientation": { "type": "string", "enum": ["RETRATO", "PAISAGEM"] },
"allowedGroups": { "type": "array", "items": { "type": "string" } },
"allowedUsers": { "type": "array", "items": { "type": "string" } },
"columns": { "type": "array", "items": { "$ref": "#/definitions/reportColumn" } },
"schedules": { "type": "array", "items": { "$ref": "#/definitions/reportSchedule" } }
}
},
"reportColumn": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"label": { "type": "string" },
"align": { "type": "string", "enum": ["LEFT", "CENTER", "RIGHT"] },
"width": { "type": "integer" },
"aggregation": { "type": ["string", "null"], "description": "e.g. \"SUM\", \"COUNT\", \"AVG\"" },
"groupBy": { "type": "boolean", "default": false },
"groupByType": { "type": ["string", "null"], "description": "e.g. \"VALUE_IN_HEADER\", \"VALUE_IN_HEADER_WITH_HEADERS\"" },
"pattern": { "type": ["string", "null"] },
"separadorDecimal": { "type": ["string", "null"] },
"separadorGrupo": { "type": ["string", "null"] }
}
},
"reportSchedule": {
"type": "object",
"required": ["uuid", "nome", "triggerInfo"],
"additionalProperties": false,
"properties": {
"uuid": { "type": "string", "format": "uuid" },
"nome": { "type": "string" },
"descricao": { "type": ["string", "null"] },
"proprietario": { "type": ["string", "null"] },
"execFeriado": { "$ref": "#/definitions/scheduleExecFeriado" },
"triggerInfo": { "$ref": "#/definitions/triggerInfo" },
"usuarios": { "type": "array", "items": { "type": "string" } },
"emails": { "type": "array", "items": { "type": "string" } },
"grupos": { "type": "array", "items": { "type": "string" } },
"formatos": { "type": "array", "items": { "type": "integer" } },
"emailHTML": { "type": ["string", "null"] },
"emailAssunto": { "type": ["string", "null"] },
"preExec": { "type": ["string", "null"] },
"posExec": { "type": ["string", "null"] },
"embedHtml": { "type": "boolean", "default": false },
"embedRecipients": { "type": "boolean", "default": false },
"comprimirAnexosZip": { "type": "boolean", "default": false },
"ignorarRelatorioSemDados": { "type": "boolean", "default": false },
"enviarRelatorioPorEmail": { "type": "boolean", "default": false },
"salvarBibliotecaArquivos": { "type": "boolean", "default": false },
"biblioteca": { "type": ["string", "null"] },
"nomeArquivoPrefixo": { "type": ["string", "null"] },
"usarDataComoSufixoComFormato": { "type": ["string", "null"] },
"usarDataComoSufixoComFormatoAoAnexar": { "type": ["string", "null"] },
"sobrescreverArquivoNaBiblioteca": { "type": "boolean", "default": false },
"subdiretorio": { "type": ["string", "null"] },
"jsonReportParam": { "type": ["string", "null"] }
}
},
"library": {
"type": "object",
"required": ["key", "name", "type", "authMode", "files"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"type": { "type": "string", "enum": ["LOCAL"] },
"authMode": { "type": "string", "enum": ["PUBLIC", "MOBILE", "STATIC_TOKEN"] },
"authToken": { "type": ["string", "null"], "description": "Required when authMode is STATIC_TOKEN" },
"mobileEnabled": { "type": "boolean", "default": false },
"files": { "type": "string", "description": "Relative path to directory containing library files" }
}
},
"group": {
"type": "object",
"required": ["key", "name"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] }
}
},
"property": {
"type": "object",
"required": ["key", "type"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"displayName": { "type": "string" },
"description": { "type": ["string", "null"] },
"type": { "type": "string", "enum": ["STRING", "INTEGER", "BOOLEAN", "DATE"] },
"size": { "type": ["integer", "null"] },
"precision": { "type": ["integer", "null"] },
"format": { "type": ["string", "null"] },
"required": { "type": "boolean", "default": false },
"password": { "type": "boolean", "default": false },
"predefinedValues": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"descricao": { "type": "string" },
"ordem": { "type": "integer", "default": 0 }
}
}
}
}
},
"menuItem": {
"type": "object",
"required": ["key", "name", "type"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"icon": { "type": ["integer", "null"] },
"order": { "type": "integer", "default": 0 },
"type": { "type": "string", "enum": ["MENU", "PAINEL", "RELATORIO", "PROCESSO", "SISTEMA"] },
"panelKey": { "type": ["string", "null"], "description": "References panel.key (when type is PANEL)" },
"reportKey": { "type": ["string", "null"], "description": "References report.key (when type is REPORT)" },
"processKey": { "type": ["string", "null"], "description": "References process.key (when type is PROCESS)" },
"children": { "type": "array", "items": { "$ref": "#/definitions/menuItem" } }
}
},
"permission": {
"type": "object",
"required": ["processKey", "group"],
"additionalProperties": false,
"properties": {
"processKey": { "type": "string", "description": "References process.key" },
"group": { "type": "string", "description": "References group.key" },
"read": { "type": "boolean", "default": false },
"writeStages": { "type": "boolean", "default": false },
"cancel": { "type": "boolean", "default": false },
"delete": { "type": "boolean", "default": false },
"stageStatus": { "type": "boolean", "default": false }
}
},
"process": {
"type": "object",
"required": ["key", "name", "bpmn"],
"additionalProperties": false,
"properties": {
"key": { "type": "string" },
"name": { "type": "string" },
"description": { "type": ["string", "null"] },
"bpmn": { "type": "string", "description": "Relative path to the BPMN XML file" },
"forms": {
"type": "object",
"additionalProperties": false,
"properties": {
"desktop": { "type": ["string", "null"] },
"mobile": { "type": ["string", "null"] },
"mobileAlternative": { "type": ["string", "null"] }
}
},
"schedules": { "type": "array", "items": { "$ref": "#/definitions/processSchedule" } }
}
},
"processSchedule": {
"type": "object",
"required": ["uuid", "nome", "triggerInfo"],
"additionalProperties": false,
"properties": {
"uuid": { "type": "string", "format": "uuid" },
"nome": { "type": "string" },
"descricao": { "type": ["string", "null"] },
"proprietario": { "type": ["string", "null"] },
"execFeriado": { "$ref": "#/definitions/scheduleExecFeriado" },
"triggerInfo": { "$ref": "#/definitions/triggerInfo" },
"type": { "type": ["string", "null"], "enum": ["SIMPLE", "OWNER_LOOP", null] },
"controleNotificacao": { "type": "boolean", "default": false },
"configuracaoNotificacao": { "type": ["string", "null"] },
"metadata": { "$ref": "#/definitions/scheduleNotificationMetadata" },
"usuarios": { "type": "array", "items": { "type": "string" } },
"grupos": { "type": "array", "items": { "type": "string" } },
"emails": { "type": "array", "items": { "type": "string" } },
"scheduleParams": { "type": ["string", "null"] },
"customParams": { "type": ["string", "null"] }
}
},
"scheduleNotificationMetadata": {
"type": "object",
"additionalProperties": false,
"properties": {
"assuntoEmail": { "type": ["string", "null"] },
"mensagemEmail": { "type": ["string", "null"] },
"checkEmail": { "type": ["boolean", "null"] },
"checkPush": { "type": ["boolean", "null"] },
"usuariosNotificados": { "type": ["string", "null"] },
"gruposNotificados": { "type": ["string", "null"] },
"emailsAuxiliares": { "type": ["string", "null"] }
}
},
"triggerInfo": {
"oneOf": [
{ "$ref": "#/definitions/simpleTriggerInfo" },
{ "$ref": "#/definitions/calendarTriggerInfo" }
]
},
"simpleTriggerInfo": {
"type": "object",
"required": ["type", "repeatEvery", "repeat"],
"additionalProperties": false,
"properties": {
"type": { "type": "string", "const": "SimpleTriggerInfo" },
"triggerName": { "type": ["string", "null"] },
"triggerDescription": { "type": ["string", "null"] },
"repeat": { "type": "string", "enum": ["SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS"] },
"repeatEvery": { "type": "integer", "minimum": 1 },
"repeatCount": { "type": ["integer", "null"] },
"startDate": { "type": ["string", "null"], "format": "date-time" },
"endDate": { "type": ["string", "null"], "format": "date-time" },
"execFeriado": { "$ref": "#/definitions/scheduleExecFeriado" },
"minute": { "type": "integer", "minimum": 0, "maximum": 59 },
"hour": { "type": "integer", "minimum": 0, "maximum": 23 },
"dayOfWeek": { "type": "integer", "minimum": 1, "maximum": 7 }
}
},
"calendarTriggerInfo": {
"type": "object",
"required": ["type"],
"additionalProperties": false,
"properties": {
"type": { "type": "string", "const": "CalendarTriggerInfo" },
"triggerName": { "type": ["string", "null"] },
"triggerDescription": { "type": ["string", "null"] },
"startDate": { "type": ["string", "null"], "format": "date-time" },
"endDate": { "type": ["string", "null"], "format": "date-time" },
"execFeriado": { "$ref": "#/definitions/scheduleExecFeriado" },
"months": { "type": "array", "items": { "type": "integer", "minimum": 1, "maximum": 12 }, "description": "Empty = every month" },
"weekDays": { "type": "array", "items": { "type": "integer", "minimum": 1, "maximum": 7 }, "description": "1=Sunday ... 7=Saturday. Mutually exclusive with monthDaysExpression" },
"monthDaysExpression": { "type": ["string", "null"], "description": "e.g. \"1,15\" or \"1-5\" or \"*\". Mutually exclusive with weekDays" },
"hourExpression": { "type": ["string", "null"], "description": "e.g. \"8,12,18\" or \"8-17\" or \"*\"" },
"minutesExpression": { "type": ["string", "null"], "description": "e.g. \"0,30\" or \"*\"" },
"secondsExpression": { "type": ["string", "null"], "description": "e.g. \"0\"" }
}
},
"scheduleExecFeriado": {
"type": "string",
"enum": ["SEMPRE_EXECUTAR_FERIADO", "NUNCA_EXECUTAR_FERIADO", "DEFINIR_EXECUTAR_FERIADO"]
},
"scheduleSyncPolicy": {
"type": "string",
"description": "Controls the schedule's paused/active state on git sync. Omitted = KEEP_PREVIOUS: restores whatever pause/active state the schedule already had (new schedules are still imported paused). ALWAYS_ACTIVE / ALWAYS_PAUSED force that state on every sync regardless of prior state.",
"enum": ["KEEP_PREVIOUS", "ALWAYS_ACTIVE", "ALWAYS_PAUSED"]
}
}
}