Integrate SCUM real ops workflows
This commit is contained in:
@@ -271,6 +271,11 @@
|
||||
"items": { "$ref": "#/$defs/gameClientBridgeQueryTemplate" },
|
||||
"maxItems": 128
|
||||
},
|
||||
"operationTemplates": {
|
||||
"type": "array",
|
||||
"items": { "$ref": "#/$defs/gameClientBridgeOperationTemplate" },
|
||||
"maxItems": 128
|
||||
},
|
||||
"commandRetentionSeconds": { "type": "integer", "minimum": 1, "maximum": 31536000 },
|
||||
"maxCommands": { "type": "integer", "minimum": 1, "maximum": 100000 },
|
||||
"pages": {
|
||||
@@ -359,6 +364,55 @@
|
||||
"timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 60 }
|
||||
}
|
||||
},
|
||||
"gameClientBridgeOperationSafety": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"requiresApproval": { "type": "boolean" },
|
||||
"requiresOfflinePlayer": { "type": "boolean" },
|
||||
"requiresMaintenanceWindow": { "type": "boolean" },
|
||||
"requiresBeforeValue": { "type": "boolean" },
|
||||
"requiresConfirmation": { "type": "boolean" },
|
||||
"backupRequired": { "type": "boolean" }
|
||||
}
|
||||
},
|
||||
"gameClientBridgeOperationMutation": {
|
||||
"type": "object",
|
||||
"required": ["fieldKey", "tableKey", "identityKey", "valueKey", "confirmationQueryKey", "allowedValueType"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"fieldKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"tableKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"identityKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"valueKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"confirmationQueryKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"allowedValueType": { "enum": ["integer", "number", "string", "boolean"] },
|
||||
"minValue": { "type": "number" },
|
||||
"maxValue": { "type": "number" }
|
||||
}
|
||||
},
|
||||
"gameClientBridgeOperationTemplate": {
|
||||
"type": "object",
|
||||
"required": ["key", "title", "permission", "approvalLevel", "kind", "transportKey", "targetKey", "payloadSchemaRef", "timeoutSeconds", "maxPayloadBytes"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"key": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$" },
|
||||
"title": { "type": "string", "minLength": 1, "maxLength": 80 },
|
||||
"permission": { "$ref": "#/$defs/pluginPermission" },
|
||||
"approvalLevel": { "enum": ["operator", "platform-admin"] },
|
||||
"kind": { "enum": ["rcon", "sqlite-mutation"] },
|
||||
"transportKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"targetKey": { "$ref": "#/$defs/logicalKey" },
|
||||
"payloadSchemaRef": { "$ref": "#/$defs/relativeJsonRef" },
|
||||
"resultSchemaRef": { "$ref": "#/$defs/relativeJsonRef" },
|
||||
"confirmationSchemaRef": { "$ref": "#/$defs/relativeJsonRef" },
|
||||
"timeoutSeconds": { "type": "integer", "minimum": 1, "maximum": 3600 },
|
||||
"maxPayloadBytes": { "type": "integer", "minimum": 1, "maximum": 65536 },
|
||||
"maxRowsAffected": { "type": "integer", "minimum": 1, "maximum": 10 },
|
||||
"mutation": { "$ref": "#/$defs/gameClientBridgeOperationMutation" },
|
||||
"safety": { "$ref": "#/$defs/gameClientBridgeOperationSafety" }
|
||||
}
|
||||
},
|
||||
"gameClientBridgePageContract": {
|
||||
"type": "object",
|
||||
"required": ["pageKey"],
|
||||
@@ -368,6 +422,7 @@
|
||||
"commandTypes": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
||||
"snapshotTypes": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
||||
"queryTemplateKeys": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
||||
"operationKeys": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
||||
"featureKeys": { "type": "array", "items": { "type": "string" }, "uniqueItems": true }
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user