SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `fusio700`
--
-- --------------------------------------------------------
--
-- Table structure for table `doctrine_migration_versions`
--
CREATE TABLE `doctrine_migration_versions` (
`version` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`executed_at` datetime DEFAULT NULL,
`execution_time` int(11) DEFAULT NULL,
PRIMARY KEY (`version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Dumping data for table `doctrine_migration_versions`
--
INSERT INTO `doctrine_migration_versions` VALUES
('Fusio\\Impl\\Migrations\\Version20230508210151', '[[regtime]]', 10381),
('Fusio\\Impl\\Migrations\\Version20230922194158', '[[regtime]]', 15),
('Fusio\\Impl\\Migrations\\Version20240121100724', '[[regtime]]', 241),
('Fusio\\Impl\\Migrations\\Version20240712210005', '[[regtime]]', 234),
('Fusio\\Impl\\Migrations\\Version20240721005146', '[[regtime]]', 238),
('Fusio\\Impl\\Migrations\\Version20240801200434', '[[regtime]]', 233),
('Fusio\\Impl\\Migrations\\Version20240822171833', '[[regtime]]', 13),
('Fusio\\Impl\\Migrations\\Version20250223070312', '[[regtime]]', 220),
('Fusio\\Impl\\Migrations\\Version20250323184048', '[[regtime]]', 236),
('Fusio\\Impl\\Migrations\\Version20250420185911', '[[regtime]]', 243),
('Fusio\\Impl\\Migrations\\Version20250614224242', '[[regtime]]', 225),
('Fusio\\Impl\\Migrations\\Version20250712183808', '[[regtime]]', 247),
('Fusio\\Impl\\Migrations\\Version20251008163109', '[[regtime]]', 297),
('Fusio\\Impl\\Migrations\\Version20251130202609', '[[regtime]]', 249),
('Fusio\\Impl\\Migrations\\Version20260121211342', '[[regtime]]', 250),
('Fusio\\Impl\\Migrations\\Version20260204195815', '[[regtime]]', 14),
('Fusio\\Impl\\Migrations\\Version20260210222824', '[[regtime]]', 17),
('Fusio\\Impl\\Migrations\\Version20260218181413', '[[regtime]]', 291);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_action`
--
CREATE TABLE `fusio_action` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`class` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`async` tinyint(1) NOT NULL DEFAULT '0',
`config` longtext COLLATE utf8_unicode_ci,
`metadata` longtext COLLATE utf8_unicode_ci,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_F429FE2A9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_F429FE2A12469DE2` (`category_id`),
KEY `IDX_F429FE2A9557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_action_commit`
--
CREATE TABLE `fusio_action_commit` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`action_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`prev_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`commit_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`config_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`config` longtext COLLATE utf8_unicode_ci NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_36671B109D32F035A0BD6EEE` (`action_id`,`commit_hash`),
KEY `IDX_36671B109D32F035` (`action_id`),
KEY `IDX_36671B10A76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_agent`
--
CREATE TABLE `fusio_agent` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`connection_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`type` int(11) NOT NULL DEFAULT '0',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`introduction` longtext COLLATE utf8_unicode_ci NOT NULL,
`tools` longtext COLLATE utf8_unicode_ci,
`outgoing` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_A5830A659033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_A5830A6512469DE2` (`category_id`),
KEY `IDX_A5830A65DD03F01` (`connection_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
--
-- Dumping data for table `fusio_agent`
--
INSERT INTO `fusio_agent` VALUES
(1, 1, NULL, NULL, 1, 0, 'Fusio-General', 'Provides real-time instance insights and debugging. Explores your setup to analyze operations, tables, and logs.', '# ROLE\n\nYou are the Fusio Instance Concierge. Your goal is to help users explore, debug, and understand their specific Fusio setup using real-time data from the system.\n\n# FUSIO KNOWLEDGE BASE\n\n- **Operations**: Entry points (Method + Path).\n- **Actions**: Business logic (PHP/JS/Worker) linked to Operations.\n- **Schemas**: Data contracts for requests/responses.\n- **Connections**: External integrations (SQL, HTTP, Stripe, etc.).\n- **Events/Triggers/Cronjobs**: Automation and scheduling components.\n- **Logs**: Historical data for requests and errors.\n\n# AVAILABLE SYSTEM TOOLS\n\nYou MUST use these tools to answer questions about the current instance. Do not guess.\n\n**Core Entities:**\n- Operations: `backend_operation_getAll`, `backend_operation_get`\n- Actions: `backend_action_getAll`, `backend_action_get`, `backend_action_getClasses`, `backend_action_getForm`\n- Schemas: `backend_schema_getAll`, `backend_schema_get`\n- Connections: `backend_connection_getAll`, `backend_connection_get`\n- Automation: `backend_event_getAll/get`, `backend_cronjob_getAll/get`, `backend_trigger_getAll/get`\n\n**Data & Integration:**\n- Database: `backend_connection_database_getTables`, `backend_connection_database_getRows`, `backend_connection_database_getRow`\n- Files & HTTP: `backend_connection_filesystem_getAll`, `backend_connection_http_execute`\n- Execution: `backend_action_execute` (Use only if user asks to test a logic)\n\n**Observability:**\n- Logs: `backend_log_getAll`, `backend_log_get`, `backend_log_getAllErrors`, `backend_log_getError`\n\n# OPERATIONAL GUIDELINES\n\n1. **Tool-First Discovery**: Before answering "What does my API do?", use `backend_operation_getAll`. To explain a failure, use `backend_log_getAllErrors`.\n2. **Deep Inspection**: If a user asks about a database table, use `backend_connection_database_getTable` to see the actual columns.\n3. **Chain of Thought**: If an Operation is failing, check the linked Action (`backend_action_get`) and then check the Logs (`backend_log_getAllErrors`) to find the root cause.\n4. **Read-Only Intent**: You provide information. If a user asks to "Create a connection," inform them you are an explorer agent and they must use the Fusio action agent.\n\n# MISSION\n\nProvide grounded, accurate insights based ONLY on the tool outputs. If a tool returns no data, inform the user that the resource does not exist in this instance.', '[\n "backend_operation_getAll",\n "backend_operation_get",\n "backend_action_getAll",\n "backend_action_get",\n "backend_action_getClasses",\n "backend_action_getForm",\n "backend_action_execute",\n "backend_action_get",\n "backend_schema_getAll",\n "backend_schema_get",\n "backend_connection_getAll",\n "backend_connection_get",\n "backend_connection_database_getTables",\n "backend_connection_database_getTable",\n "backend_connection_database_getRows",\n "backend_connection_database_getRow",\n "backend_connection_filesystem_getAll",\n "backend_connection_filesystem_get",\n "backend_connection_http_execute",\n "backend_connection_sdk_get",\n "backend_event_getAll",\n "backend_event_get",\n "backend_cronjob_getAll",\n "backend_cronjob_get",\n "backend_trigger_getAll",\n "backend_trigger_get",\n "backend_log_getAll",\n "backend_log_get",\n "backend_log_getAllErrors",\n "backend_log_getError"\n]', NULL, NULL, '[[regtime]]'),
(2, 1, NULL, NULL, 1, 1, 'Fusio-Architect', 'Builds complete API operations by coordinating schemas, database tables, and business logic.', '# ROLE\n\nLead API Architect for the Fusio platform.\n\n# MISSION\n\nTransform user requirements into a high-level REST API blueprint JSON object. This blueprint serves as the source of truth for downstream Action, Schema, and Database agents.\n\n# CORE ARCHITECTURAL RULES\n\n1. **Reserved Schemas (CRITICAL)**:\n - **Empty**: Use exactly `"Empty"` for `incoming` when no request body is required (GET/DELETE).\n - **Message**: Use exactly `"Message"` for `outgoing` on all POST, PUT, PATCH, and DELETE operations.\n - **Note**: These are system-reserved. Do not provide a "NAME:" description for these; simply use the keyword.\n2. **Custom Schemas**:\n - For all other data structures, use the format: `"NAME: [Name]. [Detailed description]"`.\n - **Collections**: Suffix with "-Collection" (e.g., `Todo-Collection`).\n - **Entities**: Suffix with "-Item" (e.g., `Todo-Item`).\n3. **Collection Logic**:\n - For GET list operations, you MUST add `startIndex` and `count` (integer) to the `parameters` array.\n - The `outgoing` description MUST specify: `{"totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "entries": Entity[]}`.\n4. **Action Logic (CRITICAL)**: In the `action` field, provide a step-by-step technical plan:\n - Use the format `NAME: [Name]. [Detailed step-by-step technical plan]`\n - For name use CamelCase, hyphen-separated (e.g., `Todo-Get`, `Todo-GetAll` or `Todo-Create`)\n - Name database tables (prefixed with `app_`).\n - Specify using `$context->getUser()->getId()` for data ownership.\n - Detail the flow: 1. Get Payload/Arguments -> 2. SQL Operation -> 3. Return Response.\n - For success `Message` responses use the format `{"success": true, "message": string, "id": string}`\n5. **User Context**: **NEVER** design a custom user table. Use the existing system `fusio_user` table for all foreign keys.\n6. **Path Parameters**: Every dynamic path parameter (e.g., `/posts/:id`) MUST have a corresponding entry in the `parameters` array.\n\n# OUTPUT SPECIFICATION\n\n- Output ONLY raw JSON. **NO markdown code blocks** (do not use ```).\n- Start with `{` and end with `}`. No preamble or explanations.\n\n# SCHEMA STRUCTURE\n\n{\n "operations": [\n {\n "name": "string (dotted, e.g. ''blog.create'')",\n "public": "boolean",\n "description": "string",\n "httpMethod": "GET|POST|PUT|PATCH|DELETE",\n "httpPath": "string (e.g. /posts/:id)",\n "httpCode": "number",\n "parameters": [{"name": "string", "type": "string|integer|number|boolean", "description": "string"}],\n "incoming": "Either ''Empty'' OR ''NAME: [Name]. [Description]''",\n "outgoing": "Either ''Message'' OR ''NAME: [Name]. [Description]''",\n "action": "Detailed technical steps for the PHP Action"\n }\n ],\n "database": "Textual description of app_ tables, columns, and foreign keys."\n}\n\n# REFERENCE EXAMPLE\n\n**Input**: "A simple todo app with users."\n**Output**:\n{\n "operations": [\n {\n "name": "todo.list",\n "public": false,\n "description": "Returns a collection of todo items for the authenticated user",\n "httpMethod": "GET",\n "httpPath": "/todo",\n "httpCode": 200,\n "parameters": [\n {"name": "startIndex", "type": "integer", "description": "Start index"},\n {"name": "count", "type": "integer", "description": "Number of items"}\n ],\n "incoming": "Empty",\n "outgoing": "NAME: Todo-Collection. A collection object containing totalResults (int), startIndex (int), itemsPerPage (int), and entries (array of Todo-Item entities).",\n "action": "NAME: Todo-GetAll. 1. Fetch ''startIndex'' and ''count'' from $request->getArguments(). 2. Select from ''app_todo'' where ''user_id'' = $context->getUser()->getId(). 3. Use $connection->fetchOne() for total count. 4. Return paginated collection."\n },\n {\n "name": "todo.create",\n "public": false,\n "description": "Creates a new todo item",\n "httpMethod": "POST",\n "httpPath": "/todo",\n "httpCode": 201,\n "parameters": [],\n "incoming": "NAME: Todo-Item. Fields: title (string), description (string).",\n "outgoing": "Message",\n "action": "NAME: Todo-Create. 1. Get payload via $request->getPayload(). 2. Insert into ''app_todo'' setting ''title'', ''description'', and ''user_id'' ($context->getUser()->getId()). 3. Return Message with new ID."\n }\n ],\n "database": "Table ''app_todo'': id (int, PK), user_id (int, FK to fusio_user.id), title (varchar), description (text)."\n}', '[]', 'php+class://Fusio.Model.Agent.Blueprint', NULL, '[[regtime]]'),
(3, 1, NULL, NULL, 1, 2, 'Fusio-Action', 'Develops custom business logic and backend code for your API operations.', '# ROLE\n\nYou are an expert PHP Developer for the Fusio API Management platform. Your task is to transform business logic into a functional Fusio Action.\n\n# MISSION\n\nConvert logic into PHP 8+ code. You **MUST** use internal tools to find real connection names. **DO NOT GUESS OR USE PLACEHOLDERS** like ''default'', ''db'', or ''system''.\n\n# WORKFLOW\n\n1. **TRIAGE**: Determine if the business logic requires Database access, an External API (HTTP), or another service.\n2. **IDENTIFY CONNECTION**: Use `backend_connection_getAll`.\n - Locate the connection by its `name`.\n - Match the `class` (e.g., `Fusio.Adapter.Http.Connection.Http`) to the mapping below.\n3. **INSPECT (DB ONLY)**: If the `class` matches a SQL provider (System, Sql, or SqlAdvanced), you **MUST** use the connection `id` as the argument for `backend_database_getTables(connection_id)` to verify schema.\n4. **CODE**: Write the PHP Action. Use the verified connection `name` in `$connector->getConnection(''name'')`.\n5. **STRICT**: Internal tools are for research ONLY. They MUST NOT appear as PHP functions in the final code.\n\n# CONNECTION MAPPING (CRITICAL)\n\nMatch the `class` from the tool response to determine the object type:\n\n- `Fusio.Adapter.Http.Connection.Http` = `\\GuzzleHttp\\Client`\n- `Fusio.Impl.Connection.System` / `Fusio.Adapter.Sql.Connection.Sql` / `Fusio.Adapter.Sql.Connection.SqlAdvanced` = `\\Doctrine\\DBAL\\Connection`\n- `Fusio.Adapter.Amqp.Connection.Amqp` = `\\PhpAmqpLib\\Connection\\AMQPStreamConnection` (php-amqplib)\n- `Fusio.Adapter.Beanstalk.Connection.Beanstalk` = `\\Pheanstalk\\Pheanstalk`\n- `Fusio.Adapter.File.Connection.Filesystem` = `\\League\\Flysystem\\FilesystemOperator` (Flysystem)\n- `Fusio.Adapter.Redis.Connection.Redis` = `\\Predis\\Client`\n- `Fusio.Adapter.Smtp.Connection.Smtp` = `\\Symfony\\Component\\Mailer\\Mailer`\n- `Fusio.Adapter.Soap.Connection.Soap` = `\\SoapClient`\n- `Fusio.Adapter.Stripe.Connection.Stripe` = `\\Stripe\\StripeClient`\n\n# OUTPUT STRUCTURE (REQUIRED)\n\nResponse must ONLY contain this structure. No markdown blocks, no preamble.\n\nAction: [NAME]\n<?php\n\nuse Fusio\\Worker;\nuse Fusio\\Engine;\nuse Psr\\Log\\LoggerInterface;\n\nreturn function(Worker\\ExecuteRequest $request, Worker\\ExecuteContext $context, Engine\\ConnectorInterface $connector, Engine\\Response\\FactoryInterface $response, Engine\\DispatcherInterface $dispatcher, LoggerInterface $logger) {\n\n[CODE]\n\n};\n\n# IMPLEMENTATION RULES\n\n1. **Connections (REQUIRED)**: Fetch connections via `$connection = $connector->getConnection("name")` MUST use a name found via `backend_connection_getAll`. **Never guess.**\n2. **Database (Doctrine DBAL)**: **Strictly avoid** `$connection->prepare()`. Use shorthand methods:\n - `$connection->fetchAllAssociative($sql, $params)`\n - `$connection->fetchAssociative($sql, $params)`\n - `$connection->fetchOne($sql, $params)`\n - `$connection->insert("table", $data)`, `$connection->update("table", $data, $criteria)`, `$connection->delete("table", $criteria)`\n3. **Pagination**: For collections, default `startIndex` (0) and `count` (16) from `$request->getArguments()`. Return a wrapper with `totalResults`, `startIndex`, `itemsPerPage`, and `entries`.\n - Use `$connection->getDatabasePlatform()->modifyLimitQuery($query, $limit, $offset)` to append a limit query\n4. **Response**: Return `$response->build(statusCode, headers, body)` (no `json_encode`) or use shorthand methods:\n - `$response->ok($body)`\n - `$response->created($body)`\n - `$response->noContent()`\n - `$response->badRequest($message)`\n - `$response->forbidden($message)`\n - `$response->notFound($message)`\n - `$response->internalServerError($message)`\n\n# DATA ACCESS RULES\n\n- **Request Body**: Use `$request->getPayload()`. This returns an **stdClass**. Access via `->propertyName`.\n- **URL Parameters**: Use `$request->getArguments()->get(''name'')`. This applies to BOTH dynamic path fragments (e.g., /users/:id) and query strings (e.g., ?status=active).\n- **NEVER** use `getPayload()` to access path or query parameters.\n\n# COLLECTION & PAGINATION RULES\n\nWhen implementing a "list" or "collection" operation:\n\n- **Input**: Always look for `startIndex` and `count` in `$request->getArguments()`. Default them to `0` and `16` if missing.\n- **Total Count**: Use `$connection->fetchOne(''SELECT COUNT(*) FROM table_name'')` to determine the `totalResults`.\n- **Wrapper**: The response body MUST be an associative array with this exact structure:\n\n```php\n[\n "totalResults" => (int) $total,\n "startIndex" => (int) $startIndex,\n "itemsPerPage" => (int) $count,\n "entries" => $data // Array of associative arrays (entities)\n]\n```\n\n# AVAILABLE API\n\n- **Request**: `$request->getArguments()->get(name)`, `$request->getPayload()` (stdClass).\n- **User**: `$context->getUser()->getId()`, `getName()`, `getEmail()`, `getPoints()`.\n- **Events**: `$dispatcher->dispatch(event_name, payload)`.\n- **Logging**: `$logger->info()`, `warning()`, or `error()`.', '[\n "backend_connection_getAll",\n "backend_connection_get",\n "backend_connection_database_getTables",\n "backend_connection_database_getTable",\n "backend_connection_filesystem_getAll",\n "backend_connection_filesystem_get",\n "backend_connection_http_execute",\n "backend_connection_sdk_get"\n]', NULL, NULL, '[[regtime]]'),
(4, 1, NULL, NULL, 1, 3, 'Fusio-Schema', 'Designs JSON schemas to define and validate request/response data structures.', '# ROLE\n\nYou are a technical schema architect for the Fusio API management system. Your goal is to convert natural language descriptions into valid, structured JSON schemas.\n\n# SCHEMA CONSTRAINTS (REQUIRED)\n\n- **name (Schema Name)**: Primary identifier. Use CamelCase, hyphen-separated (e.g., "User-Profile").\n- **types**: An array of object definitions.\n - **Type name**: The "name" field inside each type object **MUST NOT** contain hyphens. Use **Strict CamelCase** (e.g., "TodoItem", "TodoCollection").\n- **root**: The integer index (starting at 0) of the primary entry object within the `types` array.\n- **Allowed Data Types**: Only use "string", "number", "integer", "boolean", "array", "object".\n- **References**: For nested objects, the `"type"` MUST be "reference" and the `"reference"` field MUST contain the **CamelCase name** of the target Type object.\n\n# COLLECTION & ENTITY RULES\n\nIf the requested schema is a **collection** (e.g., "A list of...", "A collection of..."):\n1. **Schema Name**: Suffix with "-Collection" (e.g., "Todo-Collection").\n2. **Root Wrapper (Index 0)**: The **first** object in the `types` array MUST be the collection wrapper containing `totalResults`, `startIndex`, `itemsPerPage`, and `entries`.\n3. **Entity Definition (CRITICAL)**: You MUST define the underlying Entity object as a separate entry in the `types` array.\n - **DO NOT leave the entity empty.**\n - You MUST populate the entity''s `properties` array with all relevant fields (e.g., id, name, price, created_at) based on the user''s description or the context of the entity name.\n\n# OUTPUT RULES\n\n- Output ONLY the raw JSON object.\n- **NO markdown code blocks** (do not use ```json).\n- **NO preamble**, explanations, or trailing text.\n- Start with `{` and end with `}`.\n\n# GENERATION PROCESS\n\n1. **IDENTIFY**: Determine if the request is for a single Entity or a Collection.\n2. **EXPAND ENTITY**: Before building the wrapper, list all fields the main Entity should contain.\n3. **MAP PROPERTIES**: Every property in the `properties` array MUST follow this structure: `{"name": "field_name", "type": "data_type", "nullable": false}`.\n4. **ASSEMBLE**: Create the JSON. If a collection, ensure the `entries` array points to the fully-populated Entity type created in step 2.\n5. **VERIFY**: Ensure the top-level name has hyphens and the internal type names are pure CamelCase.\n\n# REFERENCE EXAMPLE\n\n**Input**: "A collection of todo items."\n**Output**:\n{\n "name": "Todo-Collection",\n "types": [\n {\n "name": "TodoCollection",\n "type": "object",\n "properties": [\n {"name": "totalResults", "type": "integer", "nullable": false},\n {"name": "startIndex", "type": "integer", "nullable": false},\n {"name": "itemsPerPage", "type": "integer", "nullable": false},\n {"name": "entries", "type": "array", "reference": "TodoItem", "nullable": false}\n ]\n },\n {\n "name": "TodoItem",\n "type": "object",\n "properties": [\n {"name": "id", "type": "integer", "nullable": false},\n {"name": "title", "type": "string", "nullable": false},\n {"name": "is_completed", "type": "boolean", "nullable": false}\n ]\n }\n ],\n "root": 0\n}\n\n# MISSION\n\nProcess the user''s next message and return ONLY the JSON object following the rules above.', '[]', 'php+class://Fusio.Model.Agent.Schema', NULL, '[[regtime]]'),
(5, 1, NULL, NULL, 1, 4, 'Fusio-Database', 'Designs database table structures including columns, types, and constraints.', '# ROLE\n\nYou are a Database Architect specializing in the Fusio API Management platform. Your task is to transform natural language requirements into a structured JSON representation of relational database tables.\n\n# CORE RULE: SYSTEM USERS\n\n- DO NOT generate a "user" or "users" table.\n- ALWAYS use the existing system table named "fusio_user" for any user-related data.\n- If a table requires a user reference (e.g., an "owner_id" or "user_id"), create a ForeignKeyConstraint pointing to "fusio_user" on the "id" column.\n\n# DATA TYPE STANDARDS\n\nUse the following standard types:\n- "integer", "bigint", "string", "text", "boolean", "datetime", "date", "decimal", "float", "blob".\n\n# GENERATION STEPS\n\n1. **PLAN**: Identify all entities. Define many-to-many relationships by creating intermediate "join" tables.\n2. **SYSTEM INTEGRATION**: Check if any entity refers to a "user" and map it to "fusio_user".\n3. **COLUMNS**: Define types, nullability, and auto-increment for PKs (usually "id").\n4. **CONSTRAINTS**: Ensure every table has a `primaryKey`. Map `foreignKeys` using the `foreignTable` and column arrays.\n5. **VALIDATE**: Ensure every `localColumnNames` entry exists in the current table and `foreignColumnNames` exists in the target.\n\n# OUTPUT RULES\n\n- Output ONLY the raw JSON object.\n- NO markdown code blocks (no ```json).\n- NO explanations, preamble, or comments.\n- The response must start with { and end with }.\n\n# REFERENCE EXAMPLE (WITH SYSTEM USER)\n\nInput: "A task list where each task belongs to a user."\nOutput:\n{\n "tables": [\n {\n "name": "app_tasks",\n "columns": [\n {"name": "id", "type": "integer", "autoIncrement": true, "notNull": true},\n {"name": "user_id", "type": "integer", "notNull": true},\n {"name": "title", "type": "string", "length": 255, "notNull": true},\n {"name": "is_completed", "type": "boolean", "default": false}\n ],\n "primaryKey": "id",\n "foreignKeys": [\n {\n "name": "fk_task_user",\n "foreignTable": "fusio_user",\n "localColumnNames": ["user_id"],\n "foreignColumnNames": ["id"]\n }\n ]\n }\n ]\n}\n\n# MISSION\n\nProcess the user''s next message. Use "fusio_user" for user references and return ONLY the JSON object.', '[\n "backend_connection_database_getTables",\n "backend_connection_database_getTable"\n]', 'php+class://Fusio.Model.Agent.Database', NULL, '[[regtime]]'),
(6, 1, NULL, NULL, 1, 5, 'Fusio-Seed', 'Populates tables with context-aware data. Generates realistic test records or accurate factual data for production.', '# ROLE\n\nYou are a Database Data Architect. Your goal is to analyze a database schema and populate it with data based on the user''s specific context, utilizing your extensive internal knowledge to provide high-quality, relevant records.\n\n# WORKFLOW\n\n1. Discovery: Call `backend_connection_getAll` to identify the connection ID (default to "System" if not specified).\n2. Verification: Call `backend_connection_database_getTables`. If a requested table is missing from this list, do not include it in the JSON.\n3. Inspection: Call `backend_connection_database_getTable` for each valid table to identify columns and types.\n4. Generation: Produce a JSON object containing the seed data based only on discovered columns.\n\n# DATA RULES\n\n* Contextual Accuracy: Align the data style with the user''s intent. For "demo" or "test" requests, generate realistic fictional data. For all other requests, provide factually accurate data based on your internal knowledge.\n* Dates: Use "Y-m-d H:i:s".\n* Booleans: Use integers `1` and `0`.\n* Foreign Keys: If a table links to fusio_user, use a valid reference.\n* Primary Keys: Omit any AUTO_INCREMENT or serial ID columns.\n\n# OUTPUT PROTOCOL\n\n* Response Format: You must output ONLY a raw, valid JSON object.\n* No Prose: Do not include introductory text, markdown code blocks (```), backticks, or summaries. The response must start with `{` and end with `}`.\n* Strict Schema:\n\n{\n "tables": [\n {\n "name": "table_name_a",\n "rows": [\n {\n "column1": "value",\n "column2": "value"\n },\n {\n "column1": "value",\n "column2": "value"\n }\n ]\n },\n {\n "name": "table_name_b",\n "rows": [\n {\n "column_x": "value"\n }\n ]\n }\n ]\n}', '[\n "backend_connection_database_getTables",\n "backend_connection_database_getTable"\n]', 'php+class://Fusio.Model.Agent.Seed', NULL, '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_agent_message`
--
CREATE TABLE `fusio_agent_message` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`agent_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`chat_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`child` int(11) NOT NULL,
`origin` int(11) NOT NULL,
`content` longtext COLLATE utf8_unicode_ci NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_DE6D56033414710BA76ED3951A9A7125` (`agent_id`,`user_id`,`chat_id`),
KEY `IDX_DE6D56033414710BA76ED39522B35429` (`agent_id`,`user_id`,`child`),
KEY `IDX_DE6D56033414710B` (`agent_id`),
KEY `IDX_DE6D5603A76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_app`
--
CREATE TABLE `fusio_app` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`url` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`parameters` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`app_key` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`app_secret` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_6198B1E59033212AA4E2186E` (`tenant_id`,`app_key`),
KEY `IDX_6198B1E5A76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
--
-- Dumping data for table `fusio_app`
--
INSERT INTO `fusio_app` VALUES
(1, 1, NULL, 1, 'fusio', '[[softurl]]/public/apps/fusio', NULL, '[[backendAppKey]]', '[[backendAppSecret]]', NULL, '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_app_code`
--
CREATE TABLE `fusio_app_code` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`app_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`code` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`redirect_uri` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`scope` varchar(1023) COLLATE utf8_unicode_ci NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_E02C927D77153098` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_app_scope`
--
CREATE TABLE `fusio_app_scope` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`app_id` int(11) NOT NULL,
`scope_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_D0587A867987212D682B5931` (`app_id`,`scope_id`),
KEY `IDX_D0587A867987212D` (`app_id`),
KEY `IDX_D0587A86682B5931` (`scope_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
--
-- Dumping data for table `fusio_app_scope`
--
INSERT INTO `fusio_app_scope` VALUES
(3, 1, 1),
(2, 1, 2),
(1, 1, 3);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_audit`
--
CREATE TABLE `fusio_audit` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`app_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`ref_id` int(11) DEFAULT NULL,
`event` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`ip` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`message` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`content` longtext COLLATE utf8_unicode_ci,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_111069819033212A` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `fusio_audit`
--
INSERT INTO `fusio_audit` VALUES
(1, NULL, 0, 1, 2, 'user.create', '[[clientip]]', 'Created user [[admin_username]]', '{\n "id": 2,\n "roleId": 1,\n "status": 1,\n "name": "[[admin_username]]",\n "email": "[[admin_email]]",\n "password": "******"\n}', '[[regtime]]'),
(2, NULL, 0, 1, 1, 'app.create', '[[clientip]]', 'Created app fusio', '{\n "id": 1,\n "userId": 1,\n "status": 1,\n "name": "fusio",\n "url": "[[softurl]]/public/apps/fusio",\n "scopes": [\n "backend",\n "consumer",\n "authorization"\n ]\n}', '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_bundle`
--
CREATE TABLE `fusio_bundle` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`version` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`icon` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`summary` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` longtext COLLATE utf8_unicode_ci NOT NULL,
`cost` int(11) NOT NULL,
`config` longtext COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_169E40459033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_category`
--
CREATE TABLE `fusio_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_945B9E849033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
--
-- Dumping data for table `fusio_category`
--
INSERT INTO `fusio_category` VALUES
(1, NULL, 1, 'default'),
(2, NULL, 1, 'backend'),
(3, NULL, 1, 'consumer'),
(4, NULL, 1, 'system'),
(5, NULL, 1, 'authorization');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_config`
--
CREATE TABLE `fusio_config` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`type` int(11) NOT NULL DEFAULT '1',
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`description` varchar(512) COLLATE utf8_unicode_ci NOT NULL,
`value` varchar(512) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_676F5DC49033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=39 ;
--
-- Dumping data for table `fusio_config`
--
INSERT INTO `fusio_config` VALUES
(1, NULL, 2, 'app_approval', 'If true the status of a new app is PENDING so that an administrator has to manually activate the app', '0'),
(2, NULL, 3, 'consumer_max_apps', 'The max amount of apps a consumer can generate', '16'),
(3, NULL, 3, 'consumer_max_tokens', 'The max amount of tokens a consumer can generate', '16'),
(4, NULL, 3, 'consumer_max_webhooks', 'The max amount of webhooks a consumer can register', '8'),
(5, NULL, 1, 'authorization_url', 'Url where the user can authorize for the OAuth2 flow', ''),
(6, NULL, 1, 'info_title', 'The title of the application', 'Fusio'),
(7, NULL, 1, 'info_description', 'A short description of the application. CommonMark syntax MAY be used for rich text representation', 'Self-Hosted API Management for Builders.'),
(8, NULL, 1, 'info_tos', 'A URL to the Terms of Service for the API. MUST be in the format of a URL', ''),
(9, NULL, 1, 'info_contact_name', 'The identifying name of the contact person/organization', ''),
(10, NULL, 1, 'info_contact_url', 'The URL pointing to the contact information. MUST be in the format of a URL', ''),
(11, NULL, 1, 'info_contact_email', 'The email address of the contact person/organization. MUST be in the format of an email address', ''),
(12, NULL, 1, 'info_license_name', 'The license name used for the API', ''),
(13, NULL, 1, 'info_license_url', 'A URL to the license used for the API. MUST be in the format of a URL', ''),
(14, NULL, 1, 'mail_register_subject', 'Subject of the activation mail', 'Fusio registration'),
(15, NULL, 6, 'mail_register_body', 'Body of the activation mail', 'Hello {name},\n\nyou have successful registered at Fusio.\nTo activate you account please visit the following link:\n{apps_url}/developer/register/activate/{token}'),
(16, NULL, 1, 'mail_pw_reset_subject', 'Subject of the password reset mail', 'Fusio password reset'),
(17, NULL, 6, 'mail_pw_reset_body', 'Body of the password reset mail', 'Hello {name},\n\nyou have requested to reset your password.\nTo set a new password please visit the following link:\n{apps_url}/developer/password/confirm/{token}\n\nPlease ignore this email if you have not requested a password reset.'),
(18, NULL, 1, 'mail_points_subject', 'Subject of the points threshold mail', 'Fusio points threshold reached'),
(19, NULL, 6, 'mail_points_body', 'Body of the points threshold mail', 'Hello {name},\n\nyour account has reached the configured threshold of {points} points.\nIf your account reaches 0 points your are not longer able to invoke specific endpoints.\nTo prevent this please go to the developer portal to purchase new points:\n{apps_url}/developer'),
(20, NULL, 1, 'recaptcha_key', 'ReCaptcha Key', ''),
(21, NULL, 1, 'recaptcha_secret', 'ReCaptcha Secret', ''),
(22, NULL, 1, 'payment_stripe_secret', 'The stripe webhook secret which is needed to verify a webhook request', ''),
(23, NULL, 1, 'payment_stripe_portal_configuration', 'The stripe portal configuration id', ''),
(24, NULL, 1, 'payment_currency', 'The three-character ISO-4217 currency code which is used to process payments', ''),
(25, NULL, 1, 'role_default', 'Default role which a user gets assigned on registration', 'Consumer'),
(26, NULL, 3, 'points_default', 'The default amount of points which a user receives if he registers', '0'),
(27, NULL, 3, 'points_threshold', 'If a user goes below this points threshold we send an information to the user', '0'),
(28, NULL, 1, 'system_mailer', 'Optional the name of an SMTP connection which is used as mailer, by default the system uses the connection configured through the APP_MAILER environment variable', ''),
(29, NULL, 1, 'system_dispatcher', 'Optional the name of an HTTP or Message-Queue connection which is used to dispatch events. By default the system uses simply cron and an internal table to dispatch such events, for better performance you can provide a Message-Queue connection and Fusio will only dispatch the event to the queue, then your worker must execute the actual webhook HTTP request', ''),
(30, NULL, 3, 'user_pw_length', 'Minimal required password length', '8'),
(31, NULL, 2, 'user_approval', 'Whether the user needs to activate the account through an email', '1'),
(32, NULL, 1, 'marketplace_client_id', 'Marketplace Client-Id, this is either your username or app key of the Fusio marketplace (marketplace.fusio-project.org)', ''),
(33, NULL, 1, 'marketplace_client_secret', 'Marketplace Client-Secret, this is either your password or app secret of the Fusio marketplace (marketplace.fusio-project.org)', ''),
(34, NULL, 1, 'sdkgen_client_id', 'SDKgen Client-Id, this is either your username or app key of the SDKgen app (sdkgen.app)', ''),
(35, NULL, 1, 'sdkgen_client_secret', 'SDKgen Client-Secret, this is either your password or app secret of the SDKgen app (sdkgen.app)', ''),
(36, NULL, 1, 'typehub_client_id', 'TypeHub Client-Id, this is either your username or app key of the TypeHub app (typehub.cloud)', ''),
(37, NULL, 1, 'typehub_client_secret', 'TypeHub Client-Secret, this is either your password or app secret of the TypeHub app (typehub.cloud)', ''),
(38, NULL, 1, 'typehub_document_name', 'Name of the TypeHub document under which the specification gets published', '');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_connection`
--
CREATE TABLE `fusio_connection` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`category_id` int(11) NOT NULL DEFAULT '1',
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`class` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`config` longtext COLLATE utf8_unicode_ci,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_D7254CB29033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
--
-- Dumping data for table `fusio_connection`
--
INSERT INTO `fusio_connection` VALUES
(1, NULL, 1, 1, 'System', 'Fusio.Impl.Connection.System', NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_cronjob`
--
CREATE TABLE `fusio_cronjob` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`cron` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`action` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`execute_date` datetime DEFAULT NULL,
`exit_code` int(11) DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_60D3A2469033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_60D3A24612469DE2` (`category_id`),
KEY `IDX_60D3A2469557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
--
-- Dumping data for table `fusio_cronjob`
--
INSERT INTO `fusio_cronjob` VALUES
(1, 2, NULL, NULL, 1, 'Renew_Token', '0 * * * *', 'php+class://Fusio.Impl.Backend.Action.Connection.RenewToken', '2015-02-27 19:59:15', 0, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_cronjob_error`
--
CREATE TABLE `fusio_cronjob_error` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cronjob_id` int(11) NOT NULL,
`message` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
`trace` longtext COLLATE utf8_unicode_ci NOT NULL,
`file` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`line` int(11) NOT NULL,
`insert_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_event`
--
CREATE TABLE `fusio_event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`event_schema` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_B8A69C5F9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_B8A69C5F12469DE2` (`category_id`),
KEY `IDX_B8A69C5F9557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=75 ;
--
-- Dumping data for table `fusio_event`
--
INSERT INTO `fusio_event` VALUES
(1, 3, NULL, NULL, 1, 'fusio.account.update', '', NULL, NULL),
(2, 2, NULL, NULL, 1, 'fusio.action.create', '', NULL, NULL),
(3, 2, NULL, NULL, 1, 'fusio.action.update', '', NULL, NULL),
(4, 2, NULL, NULL, 1, 'fusio.action.delete', '', NULL, NULL),
(5, 2, NULL, NULL, 1, 'fusio.agent.create', '', NULL, NULL),
(6, 2, NULL, NULL, 1, 'fusio.agent.update', '', NULL, NULL),
(7, 2, NULL, NULL, 1, 'fusio.agent.delete', '', NULL, NULL),
(8, 3, NULL, NULL, 1, 'fusio.app.create', '', NULL, NULL),
(9, 3, NULL, NULL, 1, 'fusio.app.update', '', NULL, NULL),
(10, 3, NULL, NULL, 1, 'fusio.app.delete', '', NULL, NULL),
(11, 2, NULL, NULL, 1, 'fusio.category.create', '', NULL, NULL),
(12, 2, NULL, NULL, 1, 'fusio.category.update', '', NULL, NULL),
(13, 2, NULL, NULL, 1, 'fusio.category.delete', '', NULL, NULL),
(14, 2, NULL, NULL, 1, 'fusio.config.update', '', NULL, NULL),
(15, 2, NULL, NULL, 1, 'fusio.connection.create', '', NULL, NULL),
(16, 2, NULL, NULL, 1, 'fusio.connection.update', '', NULL, NULL),
(17, 2, NULL, NULL, 1, 'fusio.connection.delete', '', NULL, NULL),
(18, 2, NULL, NULL, 1, 'fusio.cronjob.create', '', NULL, NULL),
(19, 2, NULL, NULL, 1, 'fusio.cronjob.update', '', NULL, NULL),
(20, 2, NULL, NULL, 1, 'fusio.cronjob.delete', '', NULL, NULL),
(21, 2, NULL, NULL, 1, 'fusio.event.create', '', NULL, NULL),
(22, 2, NULL, NULL, 1, 'fusio.event.update', '', NULL, NULL),
(23, 2, NULL, NULL, 1, 'fusio.event.delete', '', NULL, NULL),
(24, 2, NULL, NULL, 1, 'fusio.firewall.create', '', NULL, NULL),
(25, 2, NULL, NULL, 1, 'fusio.firewall.update', '', NULL, NULL),
(26, 2, NULL, NULL, 1, 'fusio.firewall.delete', '', NULL, NULL),
(27, 2, NULL, NULL, 1, 'fusio.form.create', '', NULL, NULL),
(28, 2, NULL, NULL, 1, 'fusio.form.update', '', NULL, NULL),
(29, 2, NULL, NULL, 1, 'fusio.form.delete', '', NULL, NULL),
(30, 2, NULL, NULL, 1, 'fusio.identity.create', '', NULL, NULL),
(31, 2, NULL, NULL, 1, 'fusio.identity.update', '', NULL, NULL),
(32, 2, NULL, NULL, 1, 'fusio.identity.delete', '', NULL, NULL),
(33, 2, NULL, NULL, 1, 'fusio.bundle.create', '', NULL, NULL),
(34, 2, NULL, NULL, 1, 'fusio.bundle.update', '', NULL, NULL),
(35, 2, NULL, NULL, 1, 'fusio.bundle.delete', '', NULL, NULL),
(36, 2, NULL, NULL, 1, 'fusio.bundle.publish', '', NULL, NULL),
(37, 2, NULL, NULL, 1, 'fusio.page.create', '', NULL, NULL),
(38, 2, NULL, NULL, 1, 'fusio.page.update', '', NULL, NULL),
(39, 2, NULL, NULL, 1, 'fusio.page.delete', '', NULL, NULL),
(40, 2, NULL, NULL, 1, 'fusio.plan.create', '', NULL, NULL),
(41, 2, NULL, NULL, 1, 'fusio.plan.update', '', NULL, NULL),
(42, 2, NULL, NULL, 1, 'fusio.plan.delete', '', NULL, NULL),
(43, 2, NULL, NULL, 1, 'fusio.rate.create', '', NULL, NULL),
(44, 2, NULL, NULL, 1, 'fusio.rate.update', '', NULL, NULL),
(45, 2, NULL, NULL, 1, 'fusio.rate.delete', '', NULL, NULL),
(46, 2, NULL, NULL, 1, 'fusio.role.create', '', NULL, NULL),
(47, 2, NULL, NULL, 1, 'fusio.role.update', '', NULL, NULL),
(48, 2, NULL, NULL, 1, 'fusio.role.delete', '', NULL, NULL),
(49, 2, NULL, NULL, 1, 'fusio.operation.create', '', NULL, NULL),
(50, 2, NULL, NULL, 1, 'fusio.operation.update', '', NULL, NULL),
(51, 2, NULL, NULL, 1, 'fusio.operation.delete', '', NULL, NULL),
(52, 2, NULL, NULL, 1, 'fusio.schema.create', '', NULL, NULL),
(53, 2, NULL, NULL, 1, 'fusio.schema.update', '', NULL, NULL),
(54, 2, NULL, NULL, 1, 'fusio.schema.delete', '', NULL, NULL),
(55, 2, NULL, NULL, 1, 'fusio.scope.create', '', NULL, NULL),
(56, 2, NULL, NULL, 1, 'fusio.scope.update', '', NULL, NULL),
(57, 2, NULL, NULL, 1, 'fusio.scope.delete', '', NULL, NULL),
(58, 2, NULL, NULL, 1, 'fusio.test.update', '', NULL, NULL),
(59, 2, NULL, NULL, 1, 'fusio.taxonomy.create', '', NULL, NULL),
(60, 2, NULL, NULL, 1, 'fusio.taxonomy.update', '', NULL, NULL),
(61, 2, NULL, NULL, 1, 'fusio.taxonomy.delete', '', NULL, NULL),
(62, 2, NULL, NULL, 1, 'fusio.trigger.create', '', NULL, NULL),
(63, 2, NULL, NULL, 1, 'fusio.trigger.update', '', NULL, NULL),
(64, 2, NULL, NULL, 1, 'fusio.trigger.delete', '', NULL, NULL),
(65, 2, NULL, NULL, 1, 'fusio.user.create', '', NULL, NULL),
(66, 2, NULL, NULL, 1, 'fusio.user.update', '', NULL, NULL),
(67, 2, NULL, NULL, 1, 'fusio.user.delete', '', NULL, NULL),
(68, 3, NULL, NULL, 1, 'fusio.webhook.create', '', NULL, NULL),
(69, 3, NULL, NULL, 1, 'fusio.webhook.update', '', NULL, NULL),
(70, 3, NULL, NULL, 1, 'fusio.webhook.delete', '', NULL, NULL),
(71, 3, NULL, NULL, 1, 'fusio.grant.delete', '', NULL, NULL),
(72, 3, NULL, NULL, 1, 'fusio.token.create', '', NULL, NULL),
(73, 3, NULL, NULL, 1, 'fusio.token.update', '', NULL, NULL),
(74, 3, NULL, NULL, 1, 'fusio.token.delete', '', NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_firewall`
--
CREATE TABLE `fusio_firewall` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`type` int(11) NOT NULL,
`ip` varchar(39) COLLATE utf8_unicode_ci NOT NULL,
`expire` datetime DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_DA169C3B9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_DA169C3B9033212A8CDE5729A5E3B32D2CB14AD4` (`tenant_id`,`type`,`ip`,`expire`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_firewall_log`
--
CREATE TABLE `fusio_firewall_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`ip` varchar(39) COLLATE utf8_unicode_ci NOT NULL,
`response_code` int(11) NOT NULL,
`insert_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_6BE9C1169033212AA5E3B32D` (`tenant_id`,`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_form`
--
CREATE TABLE `fusio_form` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`operation_id` int(11) NOT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`ui_schema` longtext COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_899BC2589033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_899BC25844AC3583` (`operation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_identity`
--
CREATE TABLE `fusio_identity` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`app_id` int(11) NOT NULL,
`role_id` int(11) DEFAULT NULL,
`name` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`icon` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`class` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`config` longtext COLLATE utf8_unicode_ci,
`allow_create` tinyint(1) NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_F8826E819033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
--
-- Dumping data for table `fusio_identity`
--
INSERT INTO `fusio_identity` VALUES
(1, NULL, 1, 1, 3, 'Fusio', 'bi-window-fullscreen', 'Fusio.Impl.Provider.Identity.Fusio', '{\n "client_id": "[[backendAppKey]]",\n "client_secret": "[[backendAppSecret]]"\n}', 0, '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_identity_request`
--
CREATE TABLE `fusio_identity_request` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identity_id` int(11) NOT NULL,
`state` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`redirect_uri` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_20FB7251FF3ED4A8A393D2FB` (`identity_id`,`state`),
KEY `IDX_20FB7251FF3ED4A8` (`identity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_log`
--
CREATE TABLE `fusio_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`category_id` int(11) NOT NULL DEFAULT '1',
`operation_id` int(11) DEFAULT NULL,
`app_id` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`ip` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`user_agent` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`method` varchar(16) COLLATE utf8_unicode_ci NOT NULL,
`path` varchar(1023) COLLATE utf8_unicode_ci NOT NULL,
`header` longtext COLLATE utf8_unicode_ci NOT NULL,
`body` longtext COLLATE utf8_unicode_ci,
`response_code` int(11) DEFAULT NULL,
`execution_time` int(11) DEFAULT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_LOG_TID` (`tenant_id`,`ip`,`date`),
KEY `IDX_LOG_TUD` (`tenant_id`,`user_id`,`date`),
KEY `IDX_LOG_TIRD` (`tenant_id`,`ip`,`response_code`,`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_log_error`
--
CREATE TABLE `fusio_log_error` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`log_id` int(11) NOT NULL,
`message` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
`trace` longtext COLLATE utf8_unicode_ci NOT NULL,
`file` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`line` int(11) NOT NULL,
`insert_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_mcp_session`
--
CREATE TABLE `fusio_mcp_session` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`session_id` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`data` longtext COLLATE utf8_unicode_ci NOT NULL,
`update_date` datetime DEFAULT NULL,
`insert_date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_7ADA39479033212A613FECDF` (`tenant_id`,`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_operation`
--
CREATE TABLE `fusio_operation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`active` int(11) NOT NULL DEFAULT '0',
`public` int(11) NOT NULL DEFAULT '0',
`stability` int(11) NOT NULL DEFAULT '1',
`description` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL,
`http_method` varchar(16) COLLATE utf8_unicode_ci NOT NULL,
`http_path` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`http_code` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`parameters` longtext COLLATE utf8_unicode_ci,
`incoming` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`outgoing` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`throws` longtext COLLATE utf8_unicode_ci,
`action` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`costs` int(11) DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_1FA504F59033212A5E237E06` (`tenant_id`,`name`),
UNIQUE KEY `UNIQ_1FA504F59033212A452BE2A7AAFE5D88` (`tenant_id`,`http_method`,`http_path`),
KEY `IDX_OPERATION_S` (`status`),
KEY `IDX_OPERATION_CS` (`category_id`,`status`),
KEY `IDX_1FA504F512469DE2` (`category_id`),
KEY `IDX_1FA504F59557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=272 ;
--
-- Dumping data for table `fusio_operation`
--
INSERT INTO `fusio_operation` VALUES
(1, 1, NULL, NULL, 1, 1, 1, 2, 'Returns meta information and links about the current installed Fusio version', 'GET', '/', 200, 'meta.getAbout', '{}', NULL, 'php+class://Fusio.Model.System.About', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetAbout', 0, NULL),
(2, 2, NULL, NULL, 1, 1, 0, 2, 'Returns user data of the authenticated user', 'GET', '/backend/account', 200, 'backend.account.get', '{}', NULL, 'php+class://Fusio.Model.Backend.User', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Account.Get', 0, NULL),
(3, 2, NULL, NULL, 1, 1, 0, 2, 'Updates user data of the authenticated user', 'PUT', '/backend/account', 200, 'backend.account.update', '{}', 'php+class://Fusio.Model.Backend.UserUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Account.Update', 0, NULL),
(4, 2, NULL, NULL, 1, 1, 0, 2, 'Changes the password of the authenticated user', 'PUT', '/backend/account/change_password', 200, 'backend.account.changePassword', '{}', 'php+class://Fusio.Model.Backend.AccountChangePassword', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Account.ChangePassword', 0, NULL),
(5, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of actions', 'GET', '/backend/action', 200, 'backend.action.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.ActionCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.GetAll', 0, NULL),
(6, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new action', 'POST', '/backend/action', 201, 'backend.action.create', '{}', 'php+class://Fusio.Model.Backend.ActionCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Create', 0, NULL),
(7, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available action classes', 'GET', '/backend/action/list', 200, 'backend.action.getClasses', '{}', NULL, 'php+class://Fusio.Model.Backend.ActionIndex', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.GetIndex', 0, NULL),
(8, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the action config form', 'GET', '/backend/action/form', 200, 'backend.action.getForm', '{"class":{"description":"The target action class","type":"string"}}', NULL, 'php+class://Fusio.Model.Common.FormContainer', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.GetForm', 0, NULL),
(9, 2, NULL, NULL, 1, 1, 0, 2, 'Executes a specific action. This method should be used to test an action configuration', 'POST', '/backend/action/execute/:action_id', 200, 'backend.action.execute', '{}', 'php+class://Fusio.Model.Backend.ActionExecuteRequest', 'php+class://Fusio.Model.Backend.ActionExecuteResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Execute', 0, NULL),
(10, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific action', 'GET', '/backend/action/$action_id<[0-9]+|^~>', 200, 'backend.action.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Action', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Get', 0, NULL),
(11, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing action', 'PUT', '/backend/action/$action_id<[0-9]+|^~>', 200, 'backend.action.update', '{}', 'php+class://Fusio.Model.Backend.ActionUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Update', 0, NULL),
(12, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing action', 'DELETE', '/backend/action/$action_id<[0-9]+|^~>', 200, 'backend.action.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Delete', 0, NULL),
(13, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of action commits', 'GET', '/backend/action/$action_id<[0-9]+|^~>/commit', 200, 'backend.action.getCommits', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.ActionCommitCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Action.Commit.GetAll', 0, NULL),
(14, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of agents', 'GET', '/backend/agent', 200, 'backend.agent.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.AgentCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.GetAll', 0, NULL),
(15, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new agent', 'POST', '/backend/agent', 201, 'backend.agent.create', '{}', 'php+class://Fusio.Model.Backend.AgentCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Create', 0, NULL),
(16, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific agent', 'GET', '/backend/agent/$agent_id<[0-9]+|^~>', 200, 'backend.agent.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Agent', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Get', 0, NULL),
(17, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing agent', 'PUT', '/backend/agent/$agent_id<[0-9]+|^~>', 200, 'backend.agent.update', '{}', 'php+class://Fusio.Model.Backend.AgentUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Update', 0, NULL),
(18, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing agent', 'DELETE', '/backend/agent/$agent_id<[0-9]+|^~>', 200, 'backend.agent.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Delete', 0, NULL),
(19, 2, NULL, NULL, 1, 1, 0, 2, 'Returns available tools for an agent', 'GET', '/backend/agent/tools', 200, 'backend.agent.getTools', '{}', NULL, 'php+class://Fusio.Model.Backend.AgentTools', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.GetTools', 0, NULL),
(20, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of agent messages', 'GET', '/backend/agent/$agent_id<[0-9]+|^~>/message', 200, 'backend.agent.message.getAll', '{"chat_id":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.AgentMessageCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Message.GetAll', 0, NULL),
(21, 2, NULL, NULL, 1, 1, 0, 2, 'Submits a new agent message', 'POST', '/backend/agent/$agent_id<[0-9]+|^~>/message', 201, 'backend.agent.message.submit', '{}', 'php+class://Fusio.Model.Agent.Input', 'php+class://Fusio.Model.Agent.Output', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Agent.Message.Submit', 0, NULL),
(22, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of apps', 'GET', '/backend/app', 200, 'backend.app.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.AppCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.GetAll', 0, NULL),
(23, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new app', 'POST', '/backend/app', 201, 'backend.app.create', '{}', 'php+class://Fusio.Model.Backend.AppCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.Create', 0, NULL),
(24, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific app', 'GET', '/backend/app/$app_id<[0-9]+|^~>', 200, 'backend.app.get', '{}', NULL, 'php+class://Fusio.Model.Backend.App', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.Get', 0, NULL),
(25, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing app', 'PUT', '/backend/app/$app_id<[0-9]+|^~>', 200, 'backend.app.update', '{}', 'php+class://Fusio.Model.Backend.AppUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.Update', 0, NULL),
(26, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing app', 'DELETE', '/backend/app/$app_id<[0-9]+|^~>', 200, 'backend.app.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.Delete', 0, NULL),
(27, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing token from an app', 'DELETE', '/backend/app/$app_id<[0-9]+>/token/:token_id', 200, 'backend.app.deleteToken', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.App.DeleteToken', 0, NULL),
(28, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of audits', 'GET', '/backend/audit', 200, 'backend.audit.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"appId":{"type":"integer"},"userId":{"type":"integer"},"event":{"type":"string"},"ip":{"type":"string"},"message":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.AuditCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Audit.GetAll', 0, NULL),
(29, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific audit', 'GET', '/backend/audit/$audit_id<[0-9]+>', 200, 'backend.audit.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Audit', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Audit.Get', 0, NULL),
(30, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of categories', 'GET', '/backend/category', 200, 'backend.category.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.CategoryCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Category.GetAll', 0, NULL),
(31, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new category', 'POST', '/backend/category', 201, 'backend.category.create', '{}', 'php+class://Fusio.Model.Backend.CategoryCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Category.Create', 0, NULL),
(32, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific category', 'GET', '/backend/category/$category_id<[0-9]+|^~>', 200, 'backend.category.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Category', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Category.Get', 0, NULL),
(33, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing category', 'PUT', '/backend/category/$category_id<[0-9]+|^~>', 200, 'backend.category.update', '{}', 'php+class://Fusio.Model.Backend.CategoryUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Category.Update', 0, NULL),
(34, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing category', 'DELETE', '/backend/category/$category_id<[0-9]+|^~>', 200, 'backend.category.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Category.Delete', 0, NULL),
(35, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of configuration values', 'GET', '/backend/config', 200, 'backend.config.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.ConfigCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Config.GetAll', 0, NULL),
(36, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific config', 'GET', '/backend/config/$config_id<[0-9]+|^~>', 200, 'backend.config.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Config', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Config.Get', 0, NULL),
(37, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing config value', 'PUT', '/backend/config/$config_id<[0-9]+|^~>', 200, 'backend.config.update', '{}', 'php+class://Fusio.Model.Backend.ConfigUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Config.Update', 0, NULL),
(38, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of connections', 'GET', '/backend/connection', 200, 'backend.connection.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"class":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.ConnectionCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.GetAll', 0, NULL),
(39, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new connection', 'POST', '/backend/connection', 201, 'backend.connection.create', '{}', 'php+class://Fusio.Model.Backend.ConnectionCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Create', 0, NULL),
(40, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available connection classes', 'GET', '/backend/connection/list', 200, 'backend.connection.getClasses', '{}', NULL, 'php+class://Fusio.Model.Backend.ConnectionIndex', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.GetIndex', 0, NULL),
(41, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the connection config form', 'GET', '/backend/connection/form', 200, 'backend.connection.getForm', '{"class":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Common.FormContainer', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.GetForm', 0, NULL),
(42, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific connection', 'GET', '/backend/connection/$connection_id<[0-9]+|^~>', 200, 'backend.connection.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Connection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Get', 0, NULL),
(43, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing connection', 'PUT', '/backend/connection/$connection_id<[0-9]+|^~>', 200, 'backend.connection.update', '{}', 'php+class://Fusio.Model.Backend.ConnectionUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Update', 0, NULL),
(44, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing connection', 'DELETE', '/backend/connection/$connection_id<[0-9]+|^~>', 200, 'backend.connection.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Delete', 0, NULL),
(45, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a redirect url to start the OAuth2 authorization flow for the given connection', 'GET', '/backend/connection/:connection_id/redirect', 200, 'backend.connection.getRedirect', '{}', NULL, 'php+class://Fusio.Model.Backend.ConnectionRedirectResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.GetRedirect', 0, NULL),
(46, 2, NULL, NULL, 1, 1, 0, 2, 'Sends a message to an agent', 'POST', '/backend/connection/:connection_id/agent', 200, 'backend.connection.agent.send', '{}', 'php+class://Fusio.Model.Agent.Input', 'php+class://Fusio.Model.Agent.Output', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Agent.Send', 0, NULL),
(47, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available tables on a database', 'GET', '/backend/connection/:connection_id/database', 200, 'backend.connection.database.getTables', '{"startIndex":{"type":"integer"},"count":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.DatabaseTableCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Table.GetAll', 0, NULL),
(48, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the schema of a specific table on a database', 'GET', '/backend/connection/:connection_id/database/:table_name', 200, 'backend.connection.database.getTable', '{}', NULL, 'php+class://Fusio.Model.Backend.DatabaseTable', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Table.Get', 0, NULL),
(49, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new table on a database', 'POST', '/backend/connection/:connection_id/database', 201, 'backend.connection.database.createTable', '{}', 'php+class://Fusio.Model.Backend.DatabaseTable', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Table.Create', 0, NULL),
(50, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing table on a database', 'PUT', '/backend/connection/:connection_id/database/:table_name', 200, 'backend.connection.database.updateTable', '{}', 'php+class://Fusio.Model.Backend.DatabaseTable', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Table.Update', 0, NULL),
(51, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing table on a database', 'DELETE', '/backend/connection/:connection_id/database/:table_name', 200, 'backend.connection.database.deleteTable', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Table.Delete', 0, NULL),
(52, 2, NULL, NULL, 1, 1, 0, 2, 'Returns paginated rows at a table on a database', 'GET', '/backend/connection/:connection_id/database/:table_name/rows', 200, 'backend.connection.database.getRows', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"filterBy":{"type":"string"},"filterOp":{"type":"string"},"filterValue":{"type":"string"},"sortBy":{"type":"string"},"sortOrder":{"type":"string"},"columns":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.DatabaseRowCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Row.GetAll', 0, NULL),
(53, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific row at a table on a database', 'GET', '/backend/connection/:connection_id/database/:table_name/rows/:id', 200, 'backend.connection.database.getRow', '{}', NULL, 'php+class://Fusio.Model.Backend.DatabaseRow', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Row.Get', 0, NULL),
(54, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new row at a table on a database', 'POST', '/backend/connection/:connection_id/database/:table_name/rows', 201, 'backend.connection.database.createRow', '{}', 'php+class://Fusio.Model.Backend.DatabaseRow', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Row.Create', 0, NULL),
(55, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing row at a table on a database', 'PUT', '/backend/connection/:connection_id/database/:table_name/rows/:id', 200, 'backend.connection.database.updateRow', '{}', 'php+class://Fusio.Model.Backend.DatabaseRow', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Row.Update', 0, NULL),
(56, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing row at a table on a database', 'DELETE', '/backend/connection/:connection_id/database/:table_name/rows/:id', 200, 'backend.connection.database.deleteRow', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Database.Row.Delete', 0, NULL),
(57, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available files on the filesystem connection', 'GET', '/backend/connection/:connection_id/filesystem', 200, 'backend.connection.filesystem.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.FileCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Filesystem.GetAll', 0, NULL),
(58, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the content of the provided file id on the filesystem connection', 'GET', '/backend/connection/:connection_id/filesystem/:file_id', 200, 'backend.connection.filesystem.get', '{}', NULL, 'mime://application/octet-stream', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Filesystem.Get', 0, NULL),
(59, 2, NULL, NULL, 1, 1, 0, 2, 'Uploads one or more files on the filesystem connection', 'POST', '/backend/connection/:connection_id/filesystem', 201, 'backend.connection.filesystem.create', '{}', 'mime://multipart/form-data', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Filesystem.Create', 0, NULL),
(60, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing file on the filesystem connection', 'PUT', '/backend/connection/:connection_id/filesystem/:file_id', 200, 'backend.connection.filesystem.update', '{}', 'mime://multipart/form-data', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Filesystem.Update', 0, NULL),
(61, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing file on the filesystem connection', 'DELETE', '/backend/connection/:connection_id/filesystem/:file_id', 200, 'backend.connection.filesystem.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Filesystem.Delete', 0, NULL),
(62, 2, NULL, NULL, 1, 1, 0, 2, 'Sends an arbitrary HTTP request to the connection', 'POST', '/backend/connection/:connection_id/http', 200, 'backend.connection.http.execute', '{}', 'php+class://Fusio.Model.Backend.HttpRequest', 'php+class://Fusio.Model.Backend.HttpResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Http.Execute', 0, NULL),
(63, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the SDK specification', 'GET', '/backend/connection/:connection_id/sdk', 200, 'backend.connection.sdk.get', '{}', NULL, 'php+class://PSX.Api.Model.Passthru', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Connection.Sdk.Get', 0, NULL),
(64, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of cronjobs', 'GET', '/backend/cronjob', 200, 'backend.cronjob.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.CronjobCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Cronjob.GetAll', 0, NULL),
(65, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new cronjob', 'POST', '/backend/cronjob', 201, 'backend.cronjob.create', '{}', 'php+class://Fusio.Model.Backend.CronjobCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Cronjob.Create', 0, NULL),
(66, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific cronjob', 'GET', '/backend/cronjob/$cronjob_id<[0-9]+|^~>', 200, 'backend.cronjob.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Cronjob', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Cronjob.Get', 0, NULL),
(67, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing cronjob', 'PUT', '/backend/cronjob/$cronjob_id<[0-9]+|^~>', 200, 'backend.cronjob.update', '{}', 'php+class://Fusio.Model.Backend.CronjobUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Cronjob.Update', 0, NULL),
(68, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing cronjob', 'DELETE', '/backend/cronjob/$cronjob_id<[0-9]+|^~>', 200, 'backend.cronjob.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Cronjob.Delete', 0, NULL),
(69, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available dashboard widgets', 'GET', '/backend/dashboard', 200, 'backend.dashboard.getAll', '{}', NULL, 'php+class://Fusio.Model.Backend.Dashboard', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Dashboard.GetAll', 0, NULL),
(70, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of events', 'GET', '/backend/event', 200, 'backend.event.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.EventCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Event.GetAll', 0, NULL),
(71, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new event', 'POST', '/backend/event', 201, 'backend.event.create', '{}', 'php+class://Fusio.Model.Backend.EventCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Event.Create', 0, NULL),
(72, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific event', 'GET', '/backend/event/$event_id<[0-9]+|^~>', 200, 'backend.event.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Event', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Event.Get', 0, NULL),
(73, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing event', 'PUT', '/backend/event/$event_id<[0-9]+|^~>', 200, 'backend.event.update', '{}', 'php+class://Fusio.Model.Backend.EventUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Event.Update', 0, NULL),
(74, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing event', 'DELETE', '/backend/event/$event_id<[0-9]+|^~>', 200, 'backend.event.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Event.Delete', 0, NULL),
(75, 2, NULL, NULL, 1, 1, 0, 2, 'Generates an backup of the current system', 'POST', '/backend/backup/export', 200, 'backend.backup.export', '{}', NULL, 'php+class://Fusio.Model.Backend.BackupExport', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Backup.Export', 0, NULL),
(76, 2, NULL, NULL, 1, 1, 0, 2, 'Imports an backup to the current system', 'POST', '/backend/backup/import', 200, 'backend.backup.import', '{}', 'php+class://Fusio.Model.Backend.BackupImport', 'php+class://Fusio.Model.Backend.BackupImportResult', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Backup.Import', 0, NULL),
(77, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of firewall rules', 'GET', '/backend/firewall', 200, 'backend.firewall.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.FirewallCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Firewall.GetAll', 0, NULL),
(78, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new firewall rule', 'POST', '/backend/firewall', 201, 'backend.firewall.create', '{}', 'php+class://Fusio.Model.Backend.FirewallCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Firewall.Create', 0, NULL),
(79, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific firewall rule', 'GET', '/backend/firewall/$firewall_id<[0-9]+|^~>', 200, 'backend.firewall.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Firewall', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Firewall.Get', 0, NULL),
(80, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing firewall rule', 'PUT', '/backend/firewall/$firewall_id<[0-9]+|^~>', 200, 'backend.firewall.update', '{}', 'php+class://Fusio.Model.Backend.FirewallUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Firewall.Update', 0, NULL),
(81, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing firewall rule', 'DELETE', '/backend/firewall/$firewall_id<[0-9]+|^~>', 200, 'backend.firewall.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Firewall.Delete', 0, NULL),
(82, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of forms', 'GET', '/backend/form', 200, 'backend.form.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.FormCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Form.GetAll', 0, NULL),
(83, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new form', 'POST', '/backend/form', 201, 'backend.form.create', '{}', 'php+class://Fusio.Model.Backend.FormCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Form.Create', 0, NULL),
(84, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific form', 'GET', '/backend/form/$form_id<[0-9]+|^~>', 200, 'backend.form.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Form', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Form.Get', 0, NULL),
(85, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing form', 'PUT', '/backend/form/$form_id<[0-9]+|^~>', 200, 'backend.form.update', '{}', 'php+class://Fusio.Model.Backend.FormUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Form.Update', 0, NULL),
(86, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing form', 'DELETE', '/backend/form/$form_id<[0-9]+|^~>', 200, 'backend.form.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Form.Delete', 0, NULL),
(87, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available generator classes', 'GET', '/backend/generator', 200, 'backend.generator.getClasses', '{}', NULL, 'php+class://Fusio.Model.Backend.GeneratorIndexProviders', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Generator.GetIndex', 0, NULL),
(88, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the generator config form', 'GET', '/backend/generator/:provider', 200, 'backend.generator.getForm', '{}', NULL, 'php+class://Fusio.Model.Common.FormContainer', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Generator.GetForm', 0, NULL),
(89, 2, NULL, NULL, 1, 1, 0, 2, 'Executes a generator with the provided config', 'POST', '/backend/generator/:provider', 201, 'backend.generator.executeProvider', '{}', 'php+class://Fusio.Model.Backend.GeneratorProvider', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Generator.Create', 0, NULL),
(90, 2, NULL, NULL, 1, 1, 0, 2, 'Generates a changelog of all potential changes if you execute this generator with the provided config', 'PUT', '/backend/generator/:provider', 200, 'backend.generator.getChangelog', '{}', 'php+class://Fusio.Model.Backend.GeneratorProviderConfig', 'php+class://Fusio.Model.Backend.GeneratorProviderChangelog', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Generator.Changelog', 0, NULL),
(91, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of identities', 'GET', '/backend/identity', 200, 'backend.identity.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.IdentityCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.GetAll', 0, NULL),
(92, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new identity', 'POST', '/backend/identity', 201, 'backend.identity.create', '{}', 'php+class://Fusio.Model.Backend.IdentityCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.Create', 0, NULL),
(93, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available identity classes', 'GET', '/backend/identity/list', 200, 'backend.identity.getClasses', '{}', NULL, 'php+class://Fusio.Model.Backend.IdentityIndex', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.GetIndex', 0, NULL),
(94, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the identity config form', 'GET', '/backend/identity/form', 200, 'backend.identity.getForm', '{"class":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Common.FormContainer', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.GetForm', 0, NULL),
(95, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific identity', 'GET', '/backend/identity/$identity_id<[0-9]+|^~>', 200, 'backend.identity.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Identity', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.Get', 0, NULL),
(96, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing identity', 'PUT', '/backend/identity/$identity_id<[0-9]+|^~>', 200, 'backend.identity.update', '{}', 'php+class://Fusio.Model.Backend.IdentityUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.Update', 0, NULL),
(97, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing identity', 'DELETE', '/backend/identity/$identity_id<[0-9]+|^~>', 200, 'backend.identity.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Identity.Delete', 0, NULL),
(98, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of log errors', 'GET', '/backend/log/error', 200, 'backend.log.getAllErrors', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.LogErrorCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Log.Error.GetAll', 0, NULL),
(99, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific error', 'GET', '/backend/log/error/$error_id<[0-9]+>', 200, 'backend.log.getError', '{}', NULL, 'php+class://Fusio.Model.Backend.LogError', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Log.Error.Get', 0, NULL),
(100, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of logs', 'GET', '/backend/log', 200, 'backend.log.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.LogCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Log.GetAll', 0, NULL),
(101, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific log', 'GET', '/backend/log/$log_id<[0-9]+>', 200, 'backend.log.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Log', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Log.Get', 0, NULL),
(102, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of marketplace actions', 'GET', '/backend/marketplace/action', 200, 'backend.marketplace.action.getAll', '{"startIndex":{"type":"integer"},"query":{"type":"string"}}', NULL, 'php+class://Fusio.Marketplace.MarketplaceActionCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Action.GetAll', 0, NULL),
(103, 2, NULL, NULL, 1, 1, 0, 2, 'Installs an action from the marketplace', 'POST', '/backend/marketplace/action', 201, 'backend.marketplace.action.install', '{}', 'php+class://Fusio.Marketplace.MarketplaceInstall', 'php+class://Fusio.Marketplace.MarketplaceMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Action.Install', 0, NULL),
(104, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific marketplace action', 'GET', '/backend/marketplace/action/:user/:name', 200, 'backend.marketplace.action.get', '{}', NULL, 'php+class://Fusio.Marketplace.MarketplaceAction', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Action.Get', 0, NULL),
(105, 2, NULL, NULL, 1, 1, 0, 2, 'Upgrades an action from the marketplace', 'PUT', '/backend/marketplace/action/:user/:name', 200, 'backend.marketplace.action.upgrade', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Action.Upgrade', 0, NULL),
(106, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of marketplace apps', 'GET', '/backend/marketplace/app', 200, 'backend.marketplace.app.getAll', '{"startIndex":{"type":"integer"},"query":{"type":"string"}}', NULL, 'php+class://Fusio.Marketplace.MarketplaceAppCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.App.GetAll', 0, NULL),
(107, 2, NULL, NULL, 1, 1, 0, 2, 'Installs an app from the marketplace', 'POST', '/backend/marketplace/app', 201, 'backend.marketplace.app.install', '{}', 'php+class://Fusio.Marketplace.MarketplaceInstall', 'php+class://Fusio.Marketplace.MarketplaceMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.App.Install', 0, NULL),
(108, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific marketplace app', 'GET', '/backend/marketplace/app/:user/:name', 200, 'backend.marketplace.app.get', '{}', NULL, 'php+class://Fusio.Marketplace.MarketplaceApp', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.App.Get', 0, NULL),
(109, 2, NULL, NULL, 1, 1, 0, 2, 'Upgrades an app from the marketplace', 'PUT', '/backend/marketplace/app/:user/:name', 200, 'backend.marketplace.app.upgrade', '{}', NULL, 'php+class://Fusio.Marketplace.MarketplaceMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.App.Upgrade', 0, NULL),
(110, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of marketplace bundles', 'GET', '/backend/marketplace/bundle', 200, 'backend.marketplace.bundle.getAll', '{"startIndex":{"type":"integer"},"query":{"type":"string"}}', NULL, 'php+class://Fusio.Marketplace.MarketplaceBundleCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Bundle.GetAll', 0, NULL),
(111, 2, NULL, NULL, 1, 1, 0, 2, 'Installs an bundle from the marketplace', 'POST', '/backend/marketplace/bundle', 201, 'backend.marketplace.bundle.install', '{}', 'php+class://Fusio.Marketplace.MarketplaceInstall', 'php+class://Fusio.Marketplace.MarketplaceMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Bundle.Install', 0, NULL),
(112, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific marketplace bundle', 'GET', '/backend/marketplace/bundle/:user/:name', 200, 'backend.marketplace.bundle.get', '{}', NULL, 'php+class://Fusio.Marketplace.MarketplaceBundle', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Bundle.Get', 0, NULL),
(113, 2, NULL, NULL, 1, 1, 0, 2, 'Upgrades an bundle from the marketplace', 'PUT', '/backend/marketplace/bundle/:user/:name', 200, 'backend.marketplace.bundle.upgrade', '{}', NULL, 'php+class://Fusio.Marketplace.MarketplaceMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Marketplace.Bundle.Upgrade', 0, NULL),
(114, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of bundles', 'GET', '/backend/bundle', 200, 'backend.bundle.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.BundleCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.GetAll', 0, NULL),
(115, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new bundle', 'POST', '/backend/bundle', 201, 'backend.bundle.create', '{}', 'php+class://Fusio.Model.Backend.BundleCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.Create', 0, NULL),
(116, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific bundle', 'GET', '/backend/bundle/$bundle_id<[0-9]+|^~>', 200, 'backend.bundle.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Bundle', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.Get', 0, NULL),
(117, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing bundle', 'PUT', '/backend/bundle/$bundle_id<[0-9]+|^~>', 200, 'backend.bundle.update', '{}', 'php+class://Fusio.Model.Backend.BundleUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.Update', 0, NULL),
(118, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing bundle', 'DELETE', '/backend/bundle/$bundle_id<[0-9]+|^~>', 200, 'backend.bundle.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.Delete', 0, NULL),
(119, 2, NULL, NULL, 1, 1, 0, 2, 'Publish an existing bundle to the marketplace', 'POST', '/backend/bundle/$bundle_id<[0-9]+|^~>/publish', 200, 'backend.bundle.publish', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Bundle.Publish', 0, NULL),
(120, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of pages', 'GET', '/backend/page', 200, 'backend.page.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.PageCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Page.GetAll', 0, NULL),
(121, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new page', 'POST', '/backend/page', 201, 'backend.page.create', '{}', 'php+class://Fusio.Model.Backend.PageCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Page.Create', 0, NULL),
(122, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific page', 'GET', '/backend/page/$page_id<[0-9]+|^~>', 200, 'backend.page.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Page', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Page.Get', 0, NULL),
(123, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing page', 'PUT', '/backend/page/$page_id<[0-9]+|^~>', 200, 'backend.page.update', '{}', 'php+class://Fusio.Model.Backend.PageUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Page.Update', 0, NULL),
(124, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing page', 'DELETE', '/backend/page/$page_id<[0-9]+|^~>', 200, 'backend.page.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Page.Delete', 0, NULL),
(125, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of plans', 'GET', '/backend/plan', 200, 'backend.plan.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.PlanCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Plan.GetAll', 0, NULL),
(126, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new plan', 'POST', '/backend/plan', 201, 'backend.plan.create', '{}', 'php+class://Fusio.Model.Backend.PlanCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Plan.Create', 0, NULL),
(127, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific plan', 'GET', '/backend/plan/$plan_id<[0-9]+|^~>', 200, 'backend.plan.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Plan', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Plan.Get', 0, NULL),
(128, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing plan', 'PUT', '/backend/plan/$plan_id<[0-9]+|^~>', 200, 'backend.plan.update', '{}', 'php+class://Fusio.Model.Backend.PlanUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Plan.Update', 0, NULL),
(129, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing plan', 'DELETE', '/backend/plan/$plan_id<[0-9]+|^~>', 200, 'backend.plan.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Plan.Delete', 0, NULL),
(130, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of rate limitations', 'GET', '/backend/rate', 200, 'backend.rate.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.RateCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Rate.GetAll', 0, NULL),
(131, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new rate limitation', 'POST', '/backend/rate', 201, 'backend.rate.create', '{}', 'php+class://Fusio.Model.Backend.RateCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Rate.Create', 0, NULL),
(132, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific rate', 'GET', '/backend/rate/$rate_id<[0-9]+|^~>', 200, 'backend.rate.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Rate', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Rate.Get', 0, NULL),
(133, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing rate', 'PUT', '/backend/rate/$rate_id<[0-9]+|^~>', 200, 'backend.rate.update', '{}', 'php+class://Fusio.Model.Backend.RateUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Rate.Update', 0, NULL),
(134, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing rate', 'DELETE', '/backend/rate/$rate_id<[0-9]+|^~>', 200, 'backend.rate.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Rate.Delete', 0, NULL),
(135, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of roles', 'GET', '/backend/role', 200, 'backend.role.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.RoleCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Role.GetAll', 0, NULL),
(136, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new role', 'POST', '/backend/role', 201, 'backend.role.create', '{}', 'php+class://Fusio.Model.Backend.RoleCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Role.Create', 0, NULL),
(137, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific role', 'GET', '/backend/role/$role_id<[0-9]+|^~>', 200, 'backend.role.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Role', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Role.Get', 0, NULL);
INSERT INTO `fusio_operation` VALUES
(138, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing role', 'PUT', '/backend/role/$role_id<[0-9]+|^~>', 200, 'backend.role.update', '{}', 'php+class://Fusio.Model.Backend.RoleUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Role.Update', 0, NULL),
(139, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing role', 'DELETE', '/backend/role/$role_id<[0-9]+|^~>', 200, 'backend.role.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Role.Delete', 0, NULL),
(140, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of operations', 'GET', '/backend/operation', 200, 'backend.operation.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.OperationCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Operation.GetAll', 0, NULL),
(141, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new operation', 'POST', '/backend/operation', 201, 'backend.operation.create', '{}', 'php+class://Fusio.Model.Backend.OperationCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Operation.Create', 0, NULL),
(142, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific operation', 'GET', '/backend/operation/$operation_id<[0-9]+|^~>', 200, 'backend.operation.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Operation', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Operation.Get', 0, NULL),
(143, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing operation', 'PUT', '/backend/operation/$operation_id<[0-9]+|^~>', 200, 'backend.operation.update', '{}', 'php+class://Fusio.Model.Backend.OperationUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Operation.Update', 0, NULL),
(144, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing operation', 'DELETE', '/backend/operation/$operation_id<[0-9]+|^~>', 200, 'backend.operation.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Operation.Delete', 0, NULL),
(145, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of schemas', 'GET', '/backend/schema', 200, 'backend.schema.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.SchemaCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.GetAll', 0, NULL),
(146, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new schema', 'POST', '/backend/schema', 201, 'backend.schema.create', '{}', 'php+class://Fusio.Model.Backend.SchemaCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Create', 0, NULL),
(147, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a HTML preview of the provided schema', 'POST', '/backend/schema/preview/:schema_id', 200, 'backend.schema.getPreview', '{}', NULL, 'php+class://Fusio.Model.Backend.SchemaPreviewResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.GetPreview', 0, NULL),
(148, 2, NULL, NULL, 0, 1, 0, 3, 'Updates an existing schema form', 'PUT', '/backend/schema/form/$schema_id<[0-9]+>', 200, 'backend.schema.updateForm', '{}', 'php+class://Fusio.Model.Backend.SchemaForm', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Form', 0, NULL),
(149, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific schema', 'GET', '/backend/schema/$schema_id<[0-9]+|^~>', 200, 'backend.schema.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Schema', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Get', 0, NULL),
(150, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing schema', 'PUT', '/backend/schema/$schema_id<[0-9]+|^~>', 200, 'backend.schema.update', '{}', 'php+class://Fusio.Model.Backend.SchemaUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Update', 0, NULL),
(151, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing schema', 'DELETE', '/backend/schema/$schema_id<[0-9]+|^~>', 200, 'backend.schema.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Delete', 0, NULL),
(152, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of schema commits', 'GET', '/backend/schema/$schema_id<[0-9]+|^~>/commit', 200, 'backend.schema.getCommits', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.SchemaCommitCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Schema.Commit.GetAll', 0, NULL),
(153, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of scopes', 'GET', '/backend/scope', 200, 'backend.scope.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.ScopeCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.GetAll', 0, NULL),
(154, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new scope', 'POST', '/backend/scope', 201, 'backend.scope.create', '{}', 'php+class://Fusio.Model.Backend.ScopeCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.Create', 0, NULL),
(155, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all available scopes grouped by category', 'GET', '/backend/scope/categories', 200, 'backend.scope.getCategories', '{}', NULL, 'php+class://Fusio.Model.Backend.ScopeCategories', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.GetCategories', 0, NULL),
(156, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific scope', 'GET', '/backend/scope/$scope_id<[0-9]+|^~>', 200, 'backend.scope.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Scope', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.Get', 0, NULL),
(157, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing scope', 'PUT', '/backend/scope/$scope_id<[0-9]+|^~>', 200, 'backend.scope.update', '{}', 'php+class://Fusio.Model.Backend.ScopeUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.Update', 0, NULL),
(158, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing scope', 'DELETE', '/backend/scope/$scope_id<[0-9]+|^~>', 200, 'backend.scope.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Scope.Delete', 0, NULL),
(159, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of SDKs', 'GET', '/backend/sdk', 200, 'backend.sdk.getAll', '{}', NULL, 'php+class://Fusio.Model.Backend.SdkResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Sdk.GetAll', 0, NULL),
(160, 2, NULL, NULL, 1, 1, 0, 2, 'Generates a specific SDK', 'POST', '/backend/sdk', 200, 'backend.sdk.generate', '{}', 'php+class://Fusio.Model.Backend.SdkGenerate', 'php+class://Fusio.Model.Backend.SdkMessage', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Sdk.Generate', 0, NULL),
(161, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the activities per user', 'GET', '/backend/statistic/activities_per_user', 200, 'backend.statistic.getActivitiesPerUser', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetActivitiesPerUser', 0, NULL),
(162, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the request count', 'GET', '/backend/statistic/count_requests', 200, 'backend.statistic.getCountRequests', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticCount', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetCountRequests', 0, NULL),
(163, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the errors per operation', 'GET', '/backend/statistic/errors_per_operation', 200, 'backend.statistic.getErrorsPerOperation', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetErrorsPerOperation', 0, NULL),
(164, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the incoming requests', 'GET', '/backend/statistic/incoming_requests', 200, 'backend.statistic.getIncomingRequests', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetIncomingRequests', 0, NULL),
(165, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the incoming transactions', 'GET', '/backend/statistic/incoming_transactions', 200, 'backend.statistic.getIncomingTransactions', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetIncomingTransactions', 0, NULL),
(166, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the issues tokens', 'GET', '/backend/statistic/issued_tokens', 200, 'backend.statistic.getIssuedTokens', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetIssuedTokens', 0, NULL),
(167, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the most used activities', 'GET', '/backend/statistic/most_used_activities', 200, 'backend.statistic.getMostUsedActivities', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetMostUsedActivities', 0, NULL),
(168, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the most used apps', 'GET', '/backend/statistic/most_used_apps', 200, 'backend.statistic.getMostUsedApps', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetMostUsedApps', 0, NULL),
(169, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the most used operations', 'GET', '/backend/statistic/most_used_operations', 200, 'backend.statistic.getMostUsedOperations', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetMostUsedOperations', 0, NULL),
(170, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the requests per ip', 'GET', '/backend/statistic/requests_per_ip', 200, 'backend.statistic.getRequestsPerIP', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetRequestsPerIP', 0, NULL),
(171, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the requests per operation', 'GET', '/backend/statistic/requests_per_operation', 200, 'backend.statistic.getRequestsPerOperation', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetRequestsPerOperation', 0, NULL),
(172, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the requests per user', 'GET', '/backend/statistic/requests_per_user', 200, 'backend.statistic.getRequestsPerUser', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetRequestsPerUser', 0, NULL),
(173, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the test coverage', 'GET', '/backend/statistic/test_coverage', 200, 'backend.statistic.getTestCoverage', '{}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetTestCoverage', 0, NULL),
(174, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the time average', 'GET', '/backend/statistic/time_average', 200, 'backend.statistic.getTimeAverage', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetTimeAverage', 0, NULL),
(175, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the time per operation', 'GET', '/backend/statistic/time_per_operation', 200, 'backend.statistic.getTimePerOperation', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetTimePerOperation', 0, NULL),
(176, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the used points', 'GET', '/backend/statistic/used_points', 200, 'backend.statistic.getUsedPoints', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetUsedPoints', 0, NULL),
(177, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a statistic containing the user registrations', 'GET', '/backend/statistic/user_registrations', 200, 'backend.statistic.getUserRegistrations', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"operationId":{"type":"integer"},"appId":{"type":"integer"},"userId":{"type":"integer"},"ip":{"type":"string"},"userAgent":{"type":"string"},"method":{"type":"string"},"path":{"type":"string"},"header":{"type":"string"},"body":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.StatisticChart', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Statistic.GetUserRegistrations', 0, NULL),
(178, 2, NULL, NULL, 1, 1, 0, 2, 'Returns the TypeHub specification', 'GET', '/backend/specification', 200, 'backend.specification.get', '{}', NULL, 'php+class://Fusio.Model.Backend.SpecificationGet', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Specification.Get', 0, NULL),
(179, 2, NULL, NULL, 1, 1, 0, 2, 'Publish the specification', 'POST', '/backend/specification', 200, 'backend.specification.publish', '{}', 'php+class://Fusio.Model.Backend.SpecificationPublish', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Specification.Publish', 0, NULL),
(180, 2, NULL, NULL, 1, 1, 0, 2, 'Setup a new tenant', 'PUT', '/backend/tenant/:tenant_id', 200, 'backend.tenant.setup', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Tenant.Setup', 0, NULL),
(181, 2, NULL, NULL, 1, 1, 0, 2, 'Removes an existing tenant', 'DELETE', '/backend/tenant/:tenant_id', 200, 'backend.tenant.remove', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Tenant.Remove', 0, NULL),
(182, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of tests', 'GET', '/backend/test', 200, 'backend.test.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.TestCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Test.GetAll', 0, NULL),
(183, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific test', 'GET', '/backend/test/$test_id<[0-9]+>', 200, 'backend.test.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Test', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Test.Get', 0, NULL),
(184, 2, NULL, NULL, 1, 1, 0, 2, 'Refresh all tests', 'PUT', '/backend/test', 200, 'backend.test.refresh', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Test.Refresh', 0, NULL),
(185, 2, NULL, NULL, 1, 1, 0, 2, 'Run all tests', 'POST', '/backend/test', 200, 'backend.test.run', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Test.Run', 0, NULL),
(186, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing test', 'PUT', '/backend/test/$test_id<[0-9]+>', 200, 'backend.test.update', '{}', 'php+class://Fusio.Model.Backend.Test', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Test.Update', 0, NULL),
(187, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of tokens', 'GET', '/backend/token', 200, 'backend.token.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"appId":{"type":"integer"},"userId":{"type":"integer"},"status":{"type":"integer"},"scope":{"type":"string"},"ip":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.TokenCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Token.GetAll', 0, NULL),
(188, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific token', 'GET', '/backend/token/$token_id<[0-9]+>', 200, 'backend.token.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Token', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Token.Get', 0, NULL),
(189, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of taxonomies', 'GET', '/backend/taxonomy', 200, 'backend.taxonomy.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.TaxonomyCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.GetAll', 0, NULL),
(190, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new taxonomy', 'POST', '/backend/taxonomy', 201, 'backend.taxonomy.create', '{}', 'php+class://Fusio.Model.Backend.TaxonomyCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.Create', 0, NULL),
(191, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific taxonomy', 'GET', '/backend/taxonomy/$taxonomy_id<[0-9]+|^~>', 200, 'backend.taxonomy.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Taxonomy', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.Get', 0, NULL),
(192, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing taxonomy', 'PUT', '/backend/taxonomy/$taxonomy_id<[0-9]+|^~>', 200, 'backend.taxonomy.update', '{}', 'php+class://Fusio.Model.Backend.TaxonomyUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.Update', 0, NULL),
(193, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing taxonomy', 'DELETE', '/backend/taxonomy/$taxonomy_id<[0-9]+|^~>', 200, 'backend.taxonomy.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.Delete', 0, NULL),
(194, 2, NULL, NULL, 1, 1, 0, 2, 'Moves the provided ids to the taxonomy', 'POST', '/backend/taxonomy/$taxonomy_id<[0-9]+|^~>', 200, 'backend.taxonomy.move', '{}', 'php+class://Fusio.Model.Backend.TaxonomyMove', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Taxonomy.Move', 0, NULL),
(195, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of transactions', 'GET', '/backend/transaction', 200, 'backend.transaction.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"planId":{"type":"integer"},"userId":{"type":"integer"},"appId":{"type":"integer"},"status":{"type":"string"},"provider":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.TransactionCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Transaction.GetAll', 0, NULL),
(196, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific transaction', 'GET', '/backend/transaction/$transaction_id<[0-9]+>', 200, 'backend.transaction.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Transaction', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Transaction.Get', 0, NULL),
(197, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all trash types', 'GET', '/backend/trash', 200, 'backend.trash.getTypes', '{}', NULL, 'php+class://Fusio.Model.Backend.TrashTypes', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trash.GetTypes', 0, NULL),
(198, 2, NULL, NULL, 1, 1, 0, 2, 'Returns all deleted records by trash type', 'GET', '/backend/trash/:type', 200, 'backend.trash.getAllByType', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.TrashDataCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trash.GetAll', 0, NULL),
(199, 2, NULL, NULL, 1, 1, 0, 2, 'Restores a previously deleted record', 'POST', '/backend/trash/:type', 200, 'backend.trash.restore', '{}', 'php+class://Fusio.Model.Backend.TrashRestore', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trash.Restore', 0, NULL),
(200, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of triggers', 'GET', '/backend/trigger', 200, 'backend.trigger.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"},"taxonomy":{"type":"integer"}}', NULL, 'php+class://Fusio.Model.Backend.TriggerCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trigger.GetAll', 0, NULL),
(201, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new trigger', 'POST', '/backend/trigger', 201, 'backend.trigger.create', '{}', 'php+class://Fusio.Model.Backend.TriggerCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trigger.Create', 0, NULL),
(202, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific trigger', 'GET', '/backend/trigger/$trigger_id<[0-9]+|^~>', 200, 'backend.trigger.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Trigger', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trigger.Get', 0, NULL),
(203, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing trigger', 'PUT', '/backend/trigger/$trigger_id<[0-9]+|^~>', 200, 'backend.trigger.update', '{}', 'php+class://Fusio.Model.Backend.TriggerUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trigger.Update', 0, NULL),
(204, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing trigger', 'DELETE', '/backend/trigger/$trigger_id<[0-9]+|^~>', 200, 'backend.trigger.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Trigger.Delete', 0, NULL),
(205, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of users', 'GET', '/backend/user', 200, 'backend.user.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.UserCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.GetAll', 0, NULL),
(206, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new user', 'POST', '/backend/user', 201, 'backend.user.create', '{}', 'php+class://Fusio.Model.Backend.UserCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.Create', 0, NULL),
(207, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific user', 'GET', '/backend/user/$user_id<[0-9]+|^~>', 200, 'backend.user.get', '{}', NULL, 'php+class://Fusio.Model.Backend.User', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.Get', 0, NULL),
(208, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing user', 'PUT', '/backend/user/$user_id<[0-9]+|^~>', 200, 'backend.user.update', '{}', 'php+class://Fusio.Model.Backend.UserUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.Update', 0, NULL),
(209, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing user', 'DELETE', '/backend/user/$user_id<[0-9]+|^~>', 200, 'backend.user.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.Delete', 0, NULL),
(210, 2, NULL, NULL, 1, 1, 0, 2, 'Resend the activation mail to the provided user', 'POST', '/backend/user/$user_id<[0-9]+|^~>/resend', 200, 'backend.user.resend', '{}', 'php+class://PSX.Api.Model.Passthru', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.User.Resend', 0, NULL),
(211, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of webhooks', 'GET', '/backend/webhook', 200, 'backend.webhook.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Backend.WebhookCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Webhook.GetAll', 0, NULL),
(212, 2, NULL, NULL, 1, 1, 0, 2, 'Creates a new webhook', 'POST', '/backend/webhook', 201, 'backend.webhook.create', '{}', 'php+class://Fusio.Model.Backend.WebhookCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Webhook.Create', 0, NULL),
(213, 2, NULL, NULL, 1, 1, 0, 2, 'Returns a specific webhook', 'GET', '/backend/webhook/$webhook_id<[0-9]+|^~>', 200, 'backend.webhook.get', '{}', NULL, 'php+class://Fusio.Model.Backend.Webhook', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Webhook.Get', 0, NULL),
(214, 2, NULL, NULL, 1, 1, 0, 2, 'Updates an existing webhook', 'PUT', '/backend/webhook/$webhook_id<[0-9]+|^~>', 200, 'backend.webhook.update', '{}', 'php+class://Fusio.Model.Backend.WebhookUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Webhook.Update', 0, NULL),
(215, 2, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing webhook', 'DELETE', '/backend/webhook/$webhook_id<[0-9]+|^~>', 200, 'backend.webhook.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Backend.Action.Webhook.Delete', 0, NULL),
(216, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of apps which are assigned to the authenticated user', 'GET', '/consumer/app', 200, 'consumer.app.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.AppCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.App.GetAll', 0, NULL),
(217, 3, NULL, NULL, 1, 1, 0, 2, 'Creates a new app for the authenticated user', 'POST', '/consumer/app', 201, 'consumer.app.create', '{}', 'php+class://Fusio.Model.Consumer.AppCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.App.Create', 0, NULL),
(218, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific app for the authenticated user', 'GET', '/consumer/app/$app_id<[0-9]+|^~>', 200, 'consumer.app.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.App', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.App.Get', 0, NULL),
(219, 3, NULL, NULL, 1, 1, 0, 2, 'Updates an existing app for the authenticated user', 'PUT', '/consumer/app/$app_id<[0-9]+|^~>', 200, 'consumer.app.update', '{}', 'php+class://Fusio.Model.Consumer.AppUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.App.Update', 0, NULL),
(220, 3, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing app for the authenticated user', 'DELETE', '/consumer/app/$app_id<[0-9]+|^~>', 200, 'consumer.app.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.App.Delete', 0, NULL),
(221, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of apps which are assigned to the authenticated user', 'GET', '/consumer/event', 200, 'consumer.event.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.EventCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Event.GetAll', 0, NULL),
(222, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific event for the authenticated user', 'GET', '/consumer/event/$event_id<[0-9]+|^~>', 200, 'consumer.event.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Event', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Event.Get', 0, NULL),
(223, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of grants which are assigned to the authenticated user', 'GET', '/consumer/grant', 200, 'consumer.grant.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.GrantCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Grant.GetAll', 0, NULL),
(224, 3, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing grant for an app which was created by the authenticated user', 'DELETE', '/consumer/grant/$grant_id<[0-9]+>', 200, 'consumer.grant.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Grant.Delete', 0, NULL),
(225, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of logs which are assigned to the authenticated user', 'GET', '/consumer/log', 200, 'consumer.log.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.LogCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Log.GetAll', 0, NULL),
(226, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific log for the authenticated user', 'GET', '/consumer/log/$log_id<[0-9]+>', 200, 'consumer.log.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Log', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Log.Get', 0, NULL),
(227, 3, NULL, NULL, 1, 1, 1, 2, 'Returns a paginated list of pages which are relevant to the authenticated user', 'GET', '/consumer/page', 200, 'consumer.page.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.PageCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Page.GetAll', 0, NULL),
(228, 3, NULL, NULL, 1, 1, 1, 2, 'Returns a specific page for the authenticated user', 'GET', '/consumer/page/:page_id', 200, 'consumer.page.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Page', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Page.Get', 0, NULL),
(229, 3, NULL, NULL, 1, 1, 1, 2, 'Returns a paginated list of forms which are relevant to the authenticated user', 'GET', '/consumer/form', 200, 'consumer.form.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.FormCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Form.GetAll', 0, NULL),
(230, 3, NULL, NULL, 1, 1, 1, 2, 'Returns a specific form for the authenticated user', 'GET', '/consumer/form/:form_id', 200, 'consumer.form.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Form', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Form.Get', 0, NULL),
(231, 3, NULL, NULL, 1, 1, 0, 2, 'Generates a payment portal link for the authenticated user', 'POST', '/consumer/payment/:provider/portal', 200, 'consumer.payment.portal', '{}', 'php+class://Fusio.Model.Consumer.PaymentPortalRequest', 'php+class://Fusio.Model.Consumer.PaymentPortalResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Payment.Portal', 0, NULL),
(232, 3, NULL, NULL, 1, 1, 0, 2, 'Start the checkout process for a specific plan', 'POST', '/consumer/payment/:provider/checkout', 200, 'consumer.payment.checkout', '{}', 'php+class://Fusio.Model.Consumer.PaymentCheckoutRequest', 'php+class://Fusio.Model.Consumer.PaymentCheckoutResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Payment.Checkout', 0, NULL),
(233, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of plans which are relevant to the authenticated user', 'GET', '/consumer/plan', 200, 'consumer.plan.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.PlanCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Plan.GetAll', 0, NULL),
(234, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific plan for the authenticated user', 'GET', '/consumer/plan/$plan_id<[0-9]+|^~>', 200, 'consumer.plan.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Plan', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Plan.Get', 0, NULL),
(235, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of scopes which are assigned to the authenticated user', 'GET', '/consumer/scope', 200, 'consumer.scope.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.ScopeCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Scope.GetAll', 0, NULL),
(236, 3, NULL, NULL, 1, 1, 0, 2, 'Returns all scopes by category', 'GET', '/consumer/scope/categories', 200, 'consumer.scope.getCategories', '{}', NULL, 'php+class://Fusio.Model.Consumer.ScopeCategories', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Scope.GetCategories', 0, NULL),
(237, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of tokens which are assigned to the authenticated user', 'GET', '/consumer/token', 200, 'consumer.token.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.TokenCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Token.GetAll', 0, NULL),
(238, 3, NULL, NULL, 1, 1, 0, 2, 'Creates a new token for the authenticated user', 'POST', '/consumer/token', 201, 'consumer.token.create', '{}', 'php+class://Fusio.Model.Consumer.TokenCreate', 'php+class://Fusio.Model.Consumer.TokenAccessToken', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Token.Create', 0, NULL),
(239, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific token for the authenticated user', 'GET', '/consumer/token/$token_id<[0-9]+|^~>', 200, 'consumer.token.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Token', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Token.Get', 0, NULL),
(240, 3, NULL, NULL, 1, 1, 0, 2, 'Updates an existing token for the authenticated user', 'PUT', '/consumer/token/$token_id<[0-9]+|^~>', 200, 'consumer.token.update', '{}', 'php+class://Fusio.Model.Consumer.TokenUpdate', 'php+class://Fusio.Model.Consumer.TokenAccessToken', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Token.Update', 0, NULL),
(241, 3, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing token for the authenticated user', 'DELETE', '/consumer/token/$token_id<[0-9]+|^~>', 200, 'consumer.token.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Token.Delete', 0, NULL),
(242, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of webhooks which are assigned to the authenticated user', 'GET', '/consumer/webhook', 200, 'consumer.webhook.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.WebhookCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Webhook.GetAll', 0, NULL),
(243, 3, NULL, NULL, 1, 1, 0, 2, 'Creates a new webhook for the authenticated user', 'POST', '/consumer/webhook', 201, 'consumer.webhook.create', '{}', 'php+class://Fusio.Model.Consumer.WebhookCreate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Webhook.Create', 0, NULL),
(244, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific webhook for the authenticated user', 'GET', '/consumer/webhook/$webhook_id<[0-9]+|^~>', 200, 'consumer.webhook.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Webhook', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Webhook.Get', 0, NULL),
(245, 3, NULL, NULL, 1, 1, 0, 2, 'Updates an existing webhook for the authenticated user', 'PUT', '/consumer/webhook/$webhook_id<[0-9]+|^~>', 200, 'consumer.webhook.update', '{}', 'php+class://Fusio.Model.Consumer.WebhookUpdate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Webhook.Update', 0, NULL),
(246, 3, NULL, NULL, 1, 1, 0, 2, 'Deletes an existing webhook for the authenticated user', 'DELETE', '/consumer/webhook/$webhook_id<[0-9]+|^~>', 200, 'consumer.webhook.delete', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Webhook.Delete', 0, NULL),
(247, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a paginated list of transactions which are assigned to the authenticated user', 'GET', '/consumer/transaction', 200, 'consumer.transaction.getAll', '{"startIndex":{"type":"integer"},"count":{"type":"integer"},"search":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.TransactionCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Transaction.GetAll', 0, NULL),
(248, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a specific transaction for the authenticated user', 'GET', '/consumer/transaction/$transaction_id<[0-9]+|^~>', 200, 'consumer.transaction.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.Transaction', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Transaction.Get', 0, NULL),
(249, 3, NULL, NULL, 1, 1, 0, 2, 'Returns a user data for the authenticated user', 'GET', '/consumer/account', 200, 'consumer.account.get', '{}', NULL, 'php+class://Fusio.Model.Consumer.UserAccount', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Get', 0, NULL),
(250, 3, NULL, NULL, 1, 1, 0, 2, 'Updates user data for the authenticated user', 'PUT', '/consumer/account', 200, 'consumer.account.update', '{}', 'php+class://Fusio.Model.Consumer.UserAccount', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Update', 0, NULL),
(251, 3, NULL, NULL, 1, 1, 0, 2, 'Change the password for the authenticated user', 'PUT', '/consumer/account/change_password', 200, 'consumer.account.changePassword', '{}', 'php+class://Fusio.Model.Backend.AccountChangePassword', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.ChangePassword', 0, NULL),
(252, 3, NULL, NULL, 1, 1, 1, 2, 'Activates an previously registered account through a token which was provided to the user via email', 'POST', '/consumer/activate', 200, 'consumer.account.activate', '{}', 'php+class://Fusio.Model.Consumer.UserActivate', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Activate', 0, NULL),
(253, 3, NULL, NULL, 1, 1, 1, 2, 'Returns information about a specific app to start the OAuth2 authorization code flow', 'GET', '/consumer/authorize', 200, 'consumer.account.getApp', '{"client_id":{"type":"string"},"scope":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.AuthorizeMeta', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.GetApp', 0, NULL),
(254, 3, NULL, NULL, 1, 1, 1, 2, 'Authorizes the access of a specific app for the authenticated user', 'POST', '/consumer/authorize', 200, 'consumer.account.authorize', '{}', 'php+class://Fusio.Model.Consumer.AuthorizeRequest', 'php+class://Fusio.Model.Consumer.AuthorizeResponse', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Authorize', 0, NULL),
(255, 3, NULL, NULL, 1, 1, 1, 2, 'User login by providing a username and password', 'POST', '/consumer/login', 200, 'consumer.account.login', '{}', 'php+class://Fusio.Model.Consumer.UserLogin', 'php+class://Fusio.Model.Consumer.UserJWT', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Login', 0, NULL);
INSERT INTO `fusio_operation` VALUES
(256, 3, NULL, NULL, 1, 1, 1, 2, 'Refresh a previously obtained access token', 'PUT', '/consumer/login', 200, 'consumer.account.refresh', '{}', 'php+class://Fusio.Model.Consumer.UserRefresh', 'php+class://Fusio.Model.Consumer.UserJWT', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Refresh', 0, NULL),
(257, 3, NULL, NULL, 1, 1, 1, 2, 'Register a new user account', 'POST', '/consumer/register', 200, 'consumer.account.register', '{}', 'php+class://Fusio.Model.Consumer.UserRegister', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.Register', 0, NULL),
(258, 3, NULL, NULL, 1, 1, 1, 2, 'Start the password reset flow', 'POST', '/consumer/password_reset', 200, 'consumer.account.requestPasswordReset', '{}', 'php+class://Fusio.Model.Consumer.UserEmail', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.ResetPassword.Request', 0, NULL),
(259, 3, NULL, NULL, 1, 1, 1, 2, 'Change the password after the password reset flow was started', 'PUT', '/consumer/password_reset', 200, 'consumer.account.executePasswordReset', '{}', 'php+class://Fusio.Model.Consumer.UserPasswordReset', 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.User.ResetPassword.Execute', 0, NULL),
(260, 3, NULL, NULL, 1, 1, 1, 2, 'Returns a paginated list of identities which are relevant to the authenticated user', 'GET', '/consumer/identity', 200, 'consumer.identity.getAll', '{"appId":{"deprecated":true,"type":"integer"},"appKey":{"type":"string"}}', NULL, 'php+class://Fusio.Model.Consumer.IdentityCollection', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Identity.GetAll', 0, NULL),
(261, 3, NULL, NULL, 1, 1, 1, 2, 'Identity callback endpoint to exchange an access token', 'GET', '/consumer/identity/:identity/exchange', 200, 'consumer.identity.exchange', '{}', NULL, 'php+class://PSX.Api.Model.Passthru', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Identity.Exchange', 0, NULL),
(262, 3, NULL, NULL, 1, 1, 1, 2, 'Redirect the user to the configured identity provider', 'GET', '/consumer/identity/:identity/redirect', 200, 'consumer.identity.redirect', '{}', NULL, 'php+class://PSX.Api.Model.Passthru', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Consumer.Action.Identity.Redirect', 0, NULL),
(263, 4, NULL, NULL, 1, 1, 1, 2, 'Connection OAuth2 callback to authorize a connection', 'GET', '/system/connection/:name/callback', 200, 'system.connection.callback', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Connection.Callback', 0, NULL),
(264, 4, NULL, NULL, 1, 1, 1, 2, 'Returns meta information and links about the current installed Fusio version', 'GET', '/system/about', 200, 'system.meta.getAbout', '{}', NULL, 'php+class://Fusio.Model.System.About', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetAbout', 0, NULL),
(265, 4, NULL, NULL, 1, 1, 1, 2, 'Debug endpoint which returns the provided data', 'POST', '/system/debug', 200, 'system.meta.getDebug', '{}', 'php+class://PSX.Api.Model.Passthru', 'php+class://PSX.Api.Model.Passthru', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetDebug', 0, NULL),
(266, 4, NULL, NULL, 1, 1, 1, 2, 'Health check endpoint which returns information about the health status of the system', 'GET', '/system/health', 200, 'system.meta.getHealth', '{}', NULL, 'php+class://Fusio.Model.System.HealthCheck', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetHealth', 0, NULL),
(267, 4, NULL, NULL, 1, 1, 1, 2, 'Returns all available routes', 'GET', '/system/route', 200, 'system.meta.getRoutes', '{}', NULL, 'php+class://Fusio.Model.System.Route', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetRoutes', 0, NULL),
(268, 4, NULL, NULL, 1, 1, 1, 2, 'Returns details of a specific schema', 'GET', '/system/schema/:name', 200, 'system.meta.getSchema', '{}', NULL, 'php+class://Fusio.Model.System.Schema', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Meta.GetSchema', 0, NULL),
(269, 4, NULL, NULL, 1, 1, 1, 2, 'Payment webhook endpoint after successful purchase of a plan', 'POST', '/system/payment/:provider/webhook', 200, 'system.payment.webhook', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.System.Action.Payment.Webhook', 0, NULL),
(270, 5, NULL, NULL, 1, 1, 0, 2, 'Revoke the access token of the current authenticated user', 'POST', '/authorization/revoke', 200, 'authorization.revoke', '{}', NULL, 'php+class://Fusio.Model.Common.Message', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Authorization.Action.Revoke', 0, NULL),
(271, 5, NULL, NULL, 1, 1, 0, 2, 'Returns user data of the current authenticated user', 'GET', '/authorization/whoami', 200, 'authorization.getWhoami', '{}', NULL, 'php+class://Fusio.Model.Backend.User', '{"999":"php+class:\\/\\/Fusio.Model.Common.Message"}', 'php+class://Fusio.Impl.Authorization.Action.GetWhoami', 0, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_page`
--
CREATE TABLE `fusio_page` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`slug` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`content` longtext COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_CF1989379033212A989D9B62` (`tenant_id`,`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
--
-- Dumping data for table `fusio_page`
--
INSERT INTO `fusio_page` VALUES
(1, NULL, 2, 'Overview', 'overview', '\n<div class="fusio-intro">\n <h1>Employ the Acme API<br> to power your app.</h1>\n <p>Explore the documentation or dive<br>directly into the API reference.</p>\n <p>\n <a class="btn btn-primary btn-lg" href="./bootstrap" role="button">Get started</a>\n <a class="btn btn-secondary btn-lg" href="./api" role="button">REST API</a>\n </p>\n</div>\n\n<div class="fusio-intro-subline">\n <h2>Join the developer community.</h2>\n <p>You can <a href="./register">register</a> a new account or <a href="./login">login</a>.</p>\n</div>\n\n<div class="row">\n <div class="col-md-4">\n <div class="fusio-intro-column">\n <div class="fusio-intro-column-icon text-primary">\n <i class="bi bi-cloudy-fill"></i>\n </div>\n <h3><a href="./bootstrap" class="link-primary">Documentation</a></h3>\n <p>Explore guides which<br>help you get started quickly.</p>\n </div>\n </div>\n <div class="col-md-4">\n <div class="fusio-intro-column">\n <div class="fusio-intro-column-icon text-primary">\n <i class="bi bi-box-fill"></i>\n </div>\n <h3><a href="./api" class="link-primary">API</a></h3>\n <p>Dive directly into the<br>complete API reference.</p>\n </div>\n </div>\n <div class="col-md-4">\n <div class="fusio-intro-column">\n <div class="fusio-intro-column-icon text-primary">\n <i class="bi bi-chat-fill"></i>\n </div>\n <h3><a href="./support" class="link-primary">Support</a></h3>\n <p>Find all available<br>support options if you get stuck.</p>\n </div>\n </div>\n</div>', NULL, '[[regtime]]'),
(2, NULL, 1, 'Getting started', 'getting-started', '\n<p class="lead">Learn how to start using this API. Explore the endpoints, sign up for an account, and connect with the\ncommunity.</p>\n\n<h3>Quickstart</h3>\n\n<p>This is a quick introduction to help you get started using this API.</p>\n\n<ul>\n <li><a href="./register">Signup for a new account</a></li>\n <li><a href="./authorization">Learn how to obtain an Access-Token</a></li>\n <li><a href="./api">Explore the API documentation</a></li>\n <li><a href="./sdk">Download an SDK</a></li>\n</ul>', NULL, '[[regtime]]'),
(3, NULL, 1, 'API', 'api', '\n<iframe src="{APPS_URL}/redoc/" width="100%" height="1024px" style="border:0"></iframe>', NULL, '[[regtime]]'),
(4, NULL, 1, 'Authorization', 'authorization', '\n<p class="lead">To access protected parts of the API you need to obtain an access token. The following page shows how\nto obtain an access token.</p>\n\n<h3>Basic</h3>\n\n<p>The most basic way to obtain an access token is to use your personal credentials.</p>\n\n<p><b>Request</b></p>\n<pre class="bg-dark text-white p-2">POST /consumer/login\nContent-Type: application/json\n\n{\n "username": "[username]",\n "password": "[password]"\n}\n</pre>\n\n<p><b>Response</b></p>\n<pre class="bg-dark text-white p-2">\n{\n "token": "",\n "expires_in": "",\n "refresh_token": ""\n}\n</pre>\n\n<h3>OAuth2</h3>\n\n<p>It is also possible to use the <a href="https://tools.ietf.org/html/rfc6749">OAuth2</a> authorization endpoint.</p>\n\n<h4>Client credentials</h4>\n\n<p><b>Request</b></p>\n<pre class="bg-dark text-white p-2">POST /authorization/token\nAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=client_credentials\n</pre>\n\n<p>As Basic authorization header you need to provide the <code>[app key] + ":" + [app secret]</code> as <code>base64</code>\nencoded string. It is also possible to provide your username and password but in general it is recommended to use the\napp key and secret since the app access can always be revoked later on.</p>\n\n<p><b>Response</b></p>\n<pre class="bg-dark text-white p-2">\n{\n "access_token": "",\n "token_type": "bearer",\n "expires_in": 3600,\n "refresh_token": ""\n}\n</pre>\n\n<h4>Refresh token</h4>\n\n<p>Most token responses always include a refresh token. You can use this refresh token to extend an access token before\nit expires.</p>\n\n<p><b>Request</b></p>\n<pre class="bg-dark text-white p-2">POST /authorization/token\nAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=refresh_token&refresh_token=[refresh_token]\n</pre>\n\n<p>Like at the client credentials call the Basic header must contain the base64 encode app key and secret.</p>\n\n<p><b>Response</b></p>\n<pre class="bg-dark text-white p-2">\n{\n "access_token": "",\n "token_type": "bearer",\n "expires_in": 3600,\n "refresh_token": ""\n}\n</pre>\n\n<p>As response you will get a new access token.</p>', NULL, '[[regtime]]'),
(5, NULL, 1, 'Support', 'support', '\n<p class="lead">This API was build with <a href="https://www.fusio-project.org">Fusio</a> please visit the website of\nthe API provider to see available support options.</p>', NULL, '[[regtime]]'),
(6, NULL, 1, 'SDK', 'sdk', '\n<p class="lead">At the following page you can download the automatically generated client SDKs which help you to\nintegrate the API into your project.</p>\n\n<div class="card float-start" style="width:14rem;margin-right:1rem;margin-bottom:1rem">\n <h5 class="card-header">PHP</h5>\n <img src="assets/sdk/client-php.png" class="card-img-top" style="padding:16px;">\n <div class="card-body">\n <div class="btn-group" role="group">\n <a href="{BASE_URL}/sdk/sdk-client-php-default.zip" class="btn btn-primary">Download</a>\n </div>\n </div>\n</div>\n\n<div class="card float-start" style="width:14rem;margin-right:1rem;margin-bottom:1rem">\n <h5 class="card-header">TypeScript</h5>\n <img src="assets/sdk/client-typescript.png" class="card-img-top" style="padding:16px;">\n <div class="card-body">\n <div class="btn-group" role="group">\n <a href="{BASE_URL}/sdk/sdk-client-typescript-default.zip" class="btn btn-primary">Download</a>\n </div>\n </div>\n</div>\n\n<div class="card float-start" style="width:14rem;margin-right:1rem;margin-bottom:1rem">\n <h5 class="card-header">OpenAPI</h5>\n <img src="assets/sdk/spec-openapi.png" class="card-img-top" style="padding:16px;">\n <div class="card-body">\n <div class="btn-group" role="group">\n <a href="{BASE_URL}/sdk/sdk-spec-openapi-default.zip" class="btn btn-primary">Download</a>\n </div>\n </div>\n</div>\n\n<div style="clear:both"></div>', NULL, '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_plan`
--
CREATE TABLE `fusio_plan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` int(11) NOT NULL,
`points` int(11) NOT NULL,
`period_type` int(11) DEFAULT NULL,
`external_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_649646A9033212A5E237E06` (`tenant_id`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_plan_scope`
--
CREATE TABLE `fusio_plan_scope` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`plan_id` int(11) NOT NULL,
`scope_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_ADDB2FFBE899029B682B5931` (`plan_id`,`scope_id`),
KEY `IDX_ADDB2FFB682B5931` (`scope_id`),
KEY `IDX_ADDB2FFBE899029B` (`plan_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_plan_usage`
--
CREATE TABLE `fusio_plan_usage` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`operation_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`app_id` int(11) NOT NULL,
`points` int(11) NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_rate`
--
CREATE TABLE `fusio_rate` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`priority` int(11) NOT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`rate_limit` int(11) NOT NULL,
`timespan` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_4FF002E9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_RATE_S` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `fusio_rate`
--
INSERT INTO `fusio_rate` VALUES
(1, NULL, 1, 0, 'Default', 3600, 'PT1H', NULL),
(2, NULL, 1, 4, 'Default-Anonymous', 900, 'PT1H', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_rate_allocation`
--
CREATE TABLE `fusio_rate_allocation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`rate_id` int(11) NOT NULL,
`operation_id` int(11) DEFAULT NULL,
`app_id` int(11) DEFAULT NULL,
`user_id` int(11) DEFAULT NULL,
`plan_id` int(11) DEFAULT NULL,
`authenticated` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `IDX_26E07532BC999F9F` (`rate_id`),
KEY `IDX_26E0753244AC3583` (`operation_id`),
KEY `IDX_26E075327987212D` (`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `fusio_rate_allocation`
--
INSERT INTO `fusio_rate_allocation` VALUES
(1, 1, NULL, NULL, NULL, NULL, NULL),
(2, 2, NULL, NULL, NULL, NULL, 0);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_role`
--
CREATE TABLE `fusio_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_8C7AB57D9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_8C7AB57D12469DE2` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
--
-- Dumping data for table `fusio_role`
--
INSERT INTO `fusio_role` VALUES
(1, 1, NULL, 1, 'Administrator'),
(2, 1, NULL, 1, 'Backend'),
(3, 1, NULL, 1, 'Consumer');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_role_scope`
--
CREATE TABLE `fusio_role_scope` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role_id` int(11) NOT NULL,
`scope_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_9A18228D60322AC682B5931` (`role_id`,`scope_id`),
KEY `IDX_9A18228682B5931` (`scope_id`),
KEY `IDX_9A18228D60322AC` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=11 ;
--
-- Dumping data for table `fusio_role_scope`
--
INSERT INTO `fusio_role_scope` VALUES
(2, 1, 1),
(3, 1, 2),
(1, 1, 3),
(4, 1, 5),
(6, 2, 1),
(5, 2, 3),
(7, 2, 5),
(9, 3, 2),
(8, 3, 3),
(10, 3, 5);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_schema`
--
CREATE TABLE `fusio_schema` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`source` longtext COLLATE utf8_unicode_ci NOT NULL,
`form` longtext COLLATE utf8_unicode_ci,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_B6B33EA9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_B6B33EA12469DE2` (`category_id`),
KEY `IDX_B6B33EA9557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `fusio_schema`
--
INSERT INTO `fusio_schema` VALUES
(1, 1, NULL, NULL, 1, 'Passthru', 'PSX\\Api\\Model\\Passthru', NULL, NULL),
(2, 1, NULL, NULL, 1, 'Message', 'Fusio\\Model\\Common\\Message', NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_schema_commit`
--
CREATE TABLE `fusio_schema_commit` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`schema_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`prev_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`commit_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`source_hash` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`source` longtext COLLATE utf8_unicode_ci NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_AB3A8429EA1BEF35A0BD6EEE` (`schema_id`,`commit_hash`),
KEY `IDX_AB3A8429EA1BEF35` (`schema_id`),
KEY `IDX_AB3A8429A76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_scope`
--
CREATE TABLE `fusio_scope` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_83A7C32B9033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_83A7C32B12469DE2` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=59 ;
--
-- Dumping data for table `fusio_scope`
--
INSERT INTO `fusio_scope` VALUES
(1, 2, NULL, 1, 'backend', '', NULL),
(2, 3, NULL, 1, 'consumer', '', NULL),
(3, 5, NULL, 1, 'authorization', '', NULL),
(4, 5, NULL, 1, 'openid', 'OpenID scope', NULL),
(5, 1, NULL, 1, 'default', '', NULL),
(6, 2, NULL, 1, 'backend.account', '', NULL),
(7, 2, NULL, 1, 'backend.action', '', NULL),
(8, 2, NULL, 1, 'backend.agent', '', NULL),
(9, 2, NULL, 1, 'backend.app', '', NULL),
(10, 2, NULL, 1, 'backend.audit', '', NULL),
(11, 2, NULL, 1, 'backend.category', '', NULL),
(12, 2, NULL, 1, 'backend.config', '', NULL),
(13, 2, NULL, 1, 'backend.connection', '', NULL),
(14, 2, NULL, 1, 'backend.cronjob', '', NULL),
(15, 2, NULL, 1, 'backend.dashboard', '', NULL),
(16, 2, NULL, 1, 'backend.event', '', NULL),
(17, 2, NULL, 1, 'backend.backup', '', NULL),
(18, 2, NULL, 1, 'backend.firewall', '', NULL),
(19, 2, NULL, 1, 'backend.form', '', NULL),
(20, 2, NULL, 1, 'backend.generator', '', NULL),
(21, 2, NULL, 1, 'backend.identity', '', NULL),
(22, 2, NULL, 1, 'backend.log', '', NULL),
(23, 2, NULL, 1, 'backend.marketplace', '', NULL),
(24, 2, NULL, 1, 'backend.bundle', '', NULL),
(25, 2, NULL, 1, 'backend.page', '', NULL),
(26, 2, NULL, 1, 'backend.plan', '', NULL),
(27, 2, NULL, 1, 'backend.rate', '', NULL),
(28, 2, NULL, 1, 'backend.role', '', NULL),
(29, 2, NULL, 1, 'backend.operation', '', NULL),
(30, 2, NULL, 1, 'backend.schema', '', NULL),
(31, 2, NULL, 1, 'backend.scope', '', NULL),
(32, 2, NULL, 1, 'backend.sdk', '', NULL),
(33, 2, NULL, 1, 'backend.statistic', '', NULL),
(34, 2, NULL, 1, 'backend.specification', '', NULL),
(35, 2, NULL, 1, 'backend.tenant', '', NULL),
(36, 2, NULL, 1, 'backend.test', '', NULL),
(37, 2, NULL, 1, 'backend.token', '', NULL),
(38, 2, NULL, 1, 'backend.taxonomy', '', NULL),
(39, 2, NULL, 1, 'backend.transaction', '', NULL),
(40, 2, NULL, 1, 'backend.trash', '', NULL),
(41, 2, NULL, 1, 'backend.trigger', '', NULL),
(42, 2, NULL, 1, 'backend.user', '', NULL),
(43, 2, NULL, 1, 'backend.webhook', '', NULL),
(44, 3, NULL, 1, 'consumer.app', '', NULL),
(45, 3, NULL, 1, 'consumer.event', '', NULL),
(46, 3, NULL, 1, 'consumer.grant', '', NULL),
(47, 3, NULL, 1, 'consumer.log', '', NULL),
(48, 3, NULL, 1, 'consumer.page', '', NULL),
(49, 3, NULL, 1, 'consumer.form', '', NULL),
(50, 3, NULL, 1, 'consumer.payment', '', NULL),
(51, 3, NULL, 1, 'consumer.plan', '', NULL),
(52, 3, NULL, 1, 'consumer.scope', '', NULL),
(53, 3, NULL, 1, 'consumer.token', '', NULL),
(54, 3, NULL, 1, 'consumer.webhook', '', NULL),
(55, 3, NULL, 1, 'consumer.transaction', '', NULL),
(56, 3, NULL, 1, 'consumer.account', '', NULL),
(57, 3, NULL, 1, 'consumer.identity', '', NULL),
(58, 4, NULL, 1, 'system', '', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_scope_operation`
--
CREATE TABLE `fusio_scope_operation` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`scope_id` int(11) NOT NULL,
`operation_id` int(11) NOT NULL,
`allow` smallint(6) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `IDX_SCOPE_OPERATION_SO` (`scope_id`,`operation_id`),
KEY `IDX_7B9CDE20682B5931` (`scope_id`),
KEY `IDX_7B9CDE2044AC3583` (`operation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=264 ;
--
-- Dumping data for table `fusio_scope_operation`
--
INSERT INTO `fusio_scope_operation` VALUES
(1, 6, 2, 1),
(2, 6, 3, 1),
(3, 6, 4, 1),
(4, 7, 5, 1),
(5, 7, 6, 1),
(6, 7, 7, 1),
(7, 7, 8, 1),
(8, 7, 9, 1),
(9, 7, 10, 1),
(10, 7, 11, 1),
(11, 7, 12, 1),
(12, 7, 13, 1),
(13, 8, 14, 1),
(14, 8, 15, 1),
(15, 8, 16, 1),
(16, 8, 17, 1),
(17, 8, 18, 1),
(18, 8, 19, 1),
(19, 8, 20, 1),
(20, 8, 21, 1),
(21, 9, 22, 1),
(22, 9, 23, 1),
(23, 9, 24, 1),
(24, 9, 25, 1),
(25, 9, 26, 1),
(26, 9, 27, 1),
(27, 10, 28, 1),
(28, 10, 29, 1),
(29, 11, 30, 1),
(30, 11, 31, 1),
(31, 11, 32, 1),
(32, 11, 33, 1),
(33, 11, 34, 1),
(34, 12, 35, 1),
(35, 12, 36, 1),
(36, 12, 37, 1),
(37, 13, 38, 1),
(38, 13, 39, 1),
(39, 13, 40, 1),
(40, 13, 41, 1),
(41, 13, 42, 1),
(42, 13, 43, 1),
(43, 13, 44, 1),
(44, 13, 45, 1),
(45, 13, 46, 1),
(46, 13, 47, 1),
(47, 13, 48, 1),
(48, 13, 49, 1),
(49, 13, 50, 1),
(50, 13, 51, 1),
(51, 13, 52, 1),
(52, 13, 53, 1),
(53, 13, 54, 1),
(54, 13, 55, 1),
(55, 13, 56, 1),
(56, 13, 57, 1),
(57, 13, 58, 1),
(58, 13, 59, 1),
(59, 13, 60, 1),
(60, 13, 61, 1),
(61, 13, 62, 1),
(62, 13, 63, 1),
(63, 14, 64, 1),
(64, 14, 65, 1),
(65, 14, 66, 1),
(66, 14, 67, 1),
(67, 14, 68, 1),
(68, 15, 69, 1),
(69, 16, 70, 1),
(70, 16, 71, 1),
(71, 16, 72, 1),
(72, 16, 73, 1),
(73, 16, 74, 1),
(74, 17, 75, 1),
(75, 17, 76, 1),
(76, 18, 77, 1),
(77, 18, 78, 1),
(78, 18, 79, 1),
(79, 18, 80, 1),
(80, 18, 81, 1),
(81, 19, 82, 1),
(82, 19, 83, 1),
(83, 19, 84, 1),
(84, 19, 85, 1),
(85, 19, 86, 1),
(86, 20, 87, 1),
(87, 20, 88, 1),
(88, 20, 89, 1),
(89, 20, 90, 1),
(90, 21, 91, 1),
(91, 21, 92, 1),
(92, 21, 93, 1),
(93, 21, 94, 1),
(94, 21, 95, 1),
(95, 21, 96, 1),
(96, 21, 97, 1),
(97, 22, 98, 1),
(98, 22, 99, 1),
(99, 22, 100, 1),
(100, 22, 101, 1),
(101, 23, 102, 1),
(102, 23, 103, 1),
(103, 23, 104, 1),
(104, 23, 105, 1),
(105, 23, 106, 1),
(106, 23, 107, 1),
(107, 23, 108, 1),
(108, 23, 109, 1),
(109, 23, 110, 1),
(110, 23, 111, 1),
(111, 23, 112, 1),
(112, 23, 113, 1),
(113, 24, 114, 1),
(114, 24, 115, 1),
(115, 24, 116, 1),
(116, 24, 117, 1),
(117, 24, 118, 1),
(118, 24, 119, 1),
(119, 25, 120, 1),
(120, 25, 121, 1),
(121, 25, 122, 1),
(122, 25, 123, 1),
(123, 25, 124, 1),
(124, 26, 125, 1),
(125, 26, 126, 1),
(126, 26, 127, 1),
(127, 26, 128, 1),
(128, 26, 129, 1),
(129, 27, 130, 1),
(130, 27, 131, 1),
(131, 27, 132, 1),
(132, 27, 133, 1),
(133, 27, 134, 1),
(134, 28, 135, 1),
(135, 28, 136, 1),
(136, 28, 137, 1),
(137, 28, 138, 1),
(138, 28, 139, 1),
(139, 29, 140, 1),
(140, 29, 141, 1),
(141, 29, 142, 1),
(142, 29, 143, 1),
(143, 29, 144, 1),
(144, 30, 145, 1),
(145, 30, 146, 1),
(146, 30, 147, 1),
(147, 30, 148, 1),
(148, 30, 149, 1),
(149, 30, 150, 1),
(150, 30, 151, 1),
(151, 30, 152, 1),
(152, 31, 153, 1),
(153, 31, 154, 1),
(154, 31, 155, 1),
(155, 31, 156, 1),
(156, 31, 157, 1),
(157, 31, 158, 1),
(158, 32, 159, 1),
(159, 32, 160, 1),
(160, 33, 161, 1),
(161, 33, 162, 1),
(162, 33, 163, 1),
(163, 33, 164, 1),
(164, 33, 165, 1),
(165, 33, 166, 1),
(166, 33, 167, 1),
(167, 33, 168, 1),
(168, 33, 169, 1),
(169, 33, 170, 1),
(170, 33, 171, 1),
(171, 33, 172, 1),
(172, 33, 173, 1),
(173, 33, 174, 1),
(174, 33, 175, 1),
(175, 33, 176, 1),
(176, 33, 177, 1),
(177, 34, 178, 1),
(178, 34, 179, 1),
(179, 35, 180, 1),
(180, 35, 181, 1),
(181, 36, 182, 1),
(182, 36, 183, 1),
(183, 36, 184, 1),
(184, 36, 185, 1),
(185, 36, 186, 1),
(186, 37, 187, 1),
(187, 37, 188, 1),
(188, 38, 189, 1),
(189, 38, 190, 1),
(190, 38, 191, 1),
(191, 38, 192, 1),
(192, 38, 193, 1),
(193, 38, 194, 1),
(194, 39, 195, 1),
(195, 39, 196, 1),
(196, 40, 197, 1),
(197, 40, 198, 1),
(198, 40, 199, 1),
(199, 41, 200, 1),
(200, 41, 201, 1),
(201, 41, 202, 1),
(202, 41, 203, 1),
(203, 41, 204, 1),
(204, 42, 205, 1),
(205, 42, 206, 1),
(206, 42, 207, 1),
(207, 42, 208, 1),
(208, 42, 209, 1),
(209, 42, 210, 1),
(210, 43, 211, 1),
(211, 43, 212, 1),
(212, 43, 213, 1),
(213, 43, 214, 1),
(214, 43, 215, 1),
(215, 44, 216, 1),
(216, 44, 217, 1),
(217, 44, 218, 1),
(218, 44, 219, 1),
(219, 44, 220, 1),
(220, 45, 221, 1),
(221, 45, 222, 1),
(222, 46, 223, 1),
(223, 46, 224, 1),
(224, 47, 225, 1),
(225, 47, 226, 1),
(226, 48, 227, 1),
(227, 48, 228, 1),
(228, 49, 229, 1),
(229, 49, 230, 1),
(230, 50, 231, 1),
(231, 50, 232, 1),
(232, 51, 233, 1),
(233, 51, 234, 1),
(234, 52, 235, 1),
(235, 52, 236, 1),
(236, 53, 237, 1),
(237, 53, 238, 1),
(238, 53, 239, 1),
(239, 53, 240, 1),
(240, 53, 241, 1),
(241, 54, 242, 1),
(242, 54, 243, 1),
(243, 54, 244, 1),
(244, 54, 245, 1),
(245, 54, 246, 1),
(246, 55, 247, 1),
(247, 55, 248, 1),
(248, 56, 249, 1),
(249, 56, 250, 1),
(250, 56, 251, 1),
(251, 56, 252, 1),
(252, 56, 253, 1),
(253, 56, 254, 1),
(254, 56, 255, 1),
(255, 56, 256, 1),
(256, 56, 257, 1),
(257, 56, 258, 1),
(258, 56, 259, 1),
(259, 57, 260, 1),
(260, 57, 261, 1),
(261, 57, 262, 1),
(262, 3, 270, 1),
(263, 3, 271, 1);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_taxonomy`
--
CREATE TABLE `fusio_taxonomy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_6F053F789033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_6F053F78727ACA70` (`parent_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_test`
--
CREATE TABLE `fusio_test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`operation_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`message` longtext COLLATE utf8_unicode_ci,
`response` longtext COLLATE utf8_unicode_ci,
`uri_fragments` varchar(512) COLLATE utf8_unicode_ci DEFAULT NULL,
`parameters` varchar(512) COLLATE utf8_unicode_ci DEFAULT NULL,
`headers` varchar(512) COLLATE utf8_unicode_ci DEFAULT NULL,
`body` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_36C411B44AC3583` (`operation_id`),
KEY `IDX_36C411B12469DE2` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_token`
--
CREATE TABLE `fusio_token` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`app_id` int(11) DEFAULT NULL,
`user_id` int(11) NOT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL DEFAULT '1',
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`token` varchar(512) COLLATE utf8_unicode_ci NOT NULL,
`refresh` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`scope` varchar(1023) COLLATE utf8_unicode_ci NOT NULL,
`ip` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
`expire` datetime DEFAULT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_DC3F37C39033212A7B00651C5F37A13B` (`tenant_id`,`status`,`token`),
UNIQUE KEY `UNIQ_DC3F37C39033212A6081A0FB` (`tenant_id`,`refresh`),
KEY `IDX_DC3F37C37987212D` (`app_id`),
KEY `IDX_DC3F37C3A76ED395` (`user_id`),
KEY `IDX_DC3F37C312469DE2` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_transaction`
--
CREATE TABLE `fusio_transaction` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`user_id` int(11) NOT NULL,
`plan_id` int(11) NOT NULL,
`transaction_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`amount` int(11) NOT NULL,
`points` int(11) NOT NULL,
`period_start` datetime DEFAULT NULL,
`period_end` datetime DEFAULT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_F377C1239033212A2FC0CB0F` (`tenant_id`,`transaction_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_trigger`
--
CREATE TABLE `fusio_trigger` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`category_id` int(11) NOT NULL DEFAULT '1',
`taxonomy_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`event` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`action` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_DF62D1919033212A5E237E06` (`tenant_id`,`name`),
KEY `IDX_DF62D1919033212A3BAE0AA7` (`tenant_id`,`event`),
KEY `IDX_DF62D19112469DE2` (`category_id`),
KEY `IDX_DF62D1919557E6F6` (`taxonomy_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_user`
--
CREATE TABLE `fusio_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`identity_id` int(11) DEFAULT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`role_id` int(11) NOT NULL,
`plan_id` int(11) DEFAULT NULL,
`status` int(11) NOT NULL,
`remote_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`external_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL,
`password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`points` int(11) DEFAULT NULL,
`token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`metadata` longtext COLLATE utf8_unicode_ci,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_5680E95E9033212AFF3ED4A82A3E9C94` (`tenant_id`,`identity_id`,`remote_id`),
UNIQUE KEY `UNIQ_5680E95E9033212A5E237E06` (`tenant_id`,`name`),
UNIQUE KEY `UNIQ_5680E95E9033212AE7927C74` (`tenant_id`,`email`),
KEY `IDX_5680E95EFF3ED4A8` (`identity_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `fusio_user`
--
INSERT INTO `fusio_user` VALUES
(1, NULL, NULL, 1, NULL, 1, NULL, NULL, 'Administrator', '[email protected]', '[[admin_pass]]', NULL, NULL, NULL, '[[regtime]]'),
(2, NULL, NULL, 1, NULL, 1, NULL, NULL, '[[admin_username]]', '[[admin_email]]', '[[admin_pass]]', NULL, NULL, NULL, '[[regtime]]');
-- --------------------------------------------------------
--
-- Table structure for table `fusio_user_grant`
--
CREATE TABLE `fusio_user_grant` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`app_id` int(11) NOT NULL,
`allow` int(11) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_D515A2C0A76ED3957987212D` (`user_id`,`app_id`),
KEY `IDX_D515A2C0A76ED395` (`user_id`),
KEY `IDX_D515A2C07987212D` (`app_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_user_scope`
--
CREATE TABLE `fusio_user_scope` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`scope_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_1CBF915FA76ED395682B5931` (`user_id`,`scope_id`),
KEY `IDX_1CBF915F682B5931` (`scope_id`),
KEY `IDX_1CBF915FA76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=61 ;
--
-- Dumping data for table `fusio_user_scope`
--
INSERT INTO `fusio_user_scope` VALUES
(1, 1, 1),
(2, 1, 2),
(3, 1, 3),
(4, 1, 5),
(5, 2, 1),
(44, 2, 2),
(59, 2, 3),
(60, 2, 5),
(6, 2, 6),
(7, 2, 7),
(8, 2, 8),
(9, 2, 9),
(10, 2, 10),
(13, 2, 11),
(14, 2, 12),
(15, 2, 13),
(16, 2, 14),
(17, 2, 15),
(18, 2, 16),
(11, 2, 17),
(19, 2, 18),
(20, 2, 19),
(21, 2, 20),
(22, 2, 21),
(23, 2, 22),
(24, 2, 23),
(12, 2, 24),
(26, 2, 25),
(27, 2, 26),
(28, 2, 27),
(29, 2, 28),
(25, 2, 29),
(30, 2, 30),
(31, 2, 31),
(32, 2, 32),
(34, 2, 33),
(33, 2, 34),
(36, 2, 35),
(37, 2, 36),
(38, 2, 37),
(35, 2, 38),
(39, 2, 39),
(40, 2, 40),
(41, 2, 41),
(42, 2, 42),
(43, 2, 43),
(46, 2, 44),
(47, 2, 45),
(49, 2, 46),
(51, 2, 47),
(52, 2, 48),
(48, 2, 49),
(53, 2, 50),
(54, 2, 51),
(55, 2, 52),
(56, 2, 53),
(58, 2, 54),
(57, 2, 55),
(45, 2, 56),
(50, 2, 57);
-- --------------------------------------------------------
--
-- Table structure for table `fusio_webhook`
--
CREATE TABLE `fusio_webhook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`event_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`tenant_id` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` int(11) NOT NULL,
`name` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`endpoint` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_4F7DC99A9033212A` (`tenant_id`),
KEY `IDX_4F7DC99A71F7E88B` (`event_id`),
KEY `IDX_4F7DC99AA76ED395` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `fusio_webhook_response`
--
CREATE TABLE `fusio_webhook_response` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`webhook_id` int(11) NOT NULL,
`status` int(11) NOT NULL,
`attempts` int(11) NOT NULL,
`code` int(11) DEFAULT NULL,
`body` longtext COLLATE utf8_unicode_ci,
`execute_date` datetime DEFAULT NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_5958D3755C9BA60B` (`webhook_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Table structure for table `messenger_messages`
--
CREATE TABLE `messenger_messages` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`body` longtext COLLATE utf8_unicode_ci NOT NULL,
`headers` longtext COLLATE utf8_unicode_ci NOT NULL,
`queue_name` varchar(190) COLLATE utf8_unicode_ci NOT NULL,
`created_at` datetime NOT NULL COMMENT '(DC2Type:datetime_immutable)',
`available_at` datetime NOT NULL COMMENT '(DC2Type:datetime_immutable)',
`delivered_at` datetime DEFAULT NULL COMMENT '(DC2Type:datetime_immutable)',
PRIMARY KEY (`id`),
KEY `IDX_75EA56E0FB7336F0E3BD61CE16BA31DBBF396750` (`queue_name`,`available_at`,`delivered_at`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
--
-- Dumping data for table `messenger_messages`
--
INSERT INTO `messenger_messages` VALUES
(1, 'O:36:\\"Symfony\\\\Component\\\\Messenger\\\\Envelope\\":2:{s:44:\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0stamps\\";a:0:{}s:45:\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0message\\";O:33:\\"Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\":5:{s:43:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0tenantId\\";N;s:44:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0eventName\\";s:17:\\"fusio.user.create\\";s:42:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0payload\\";O:26:\\"PSX\\\\CloudEvents\\\\CloudEvent\\":9:{s:39:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0specVersion\\";s:3:\\"1.0\\";s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0type\\";s:29:\\"org.fusio-project.user.create\\";s:34:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0source\\";s:13:\\"/backend/user\\";s:30:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0id\\";[[ser_messageAppKey]]s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0time\\";N;s:43:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0dataContentType\\";s:16:\\"application/json\\";s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0data\\";O:30:\\"Fusio\\\\Model\\\\Backend\\\\UserCreate\\":12:{s:5:\\"\\0*\\0id\\";i:2;s:9:\\"\\0*\\0roleId\\";i:1;s:9:\\"\\0*\\0planId\\";N;s:9:\\"\\0*\\0status\\";i:1;s:7:\\"\\0*\\0name\\";[[ser_admin_username]]s:8:\\"\\0*\\0email\\";[[ser_admin_email]]s:9:\\"\\0*\\0points\\";N;s:9:\\"\\0*\\0scopes\\";N;s:7:\\"\\0*\\0apps\\";N;s:11:\\"\\0*\\0metadata\\";N;s:7:\\"\\0*\\0date\\";N;s:11:\\"\\0*\\0password\\";s:6:\\"******\\";}s:38:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0dataBase64\\";N;s:38:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0extensions\\";N;}s:41:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0userId\\";N;s:42:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0context\\";N;}}', '[]', 'default', '[[regtime]]', '[[regtime]]', NULL),
(2, 'O:36:\\"Symfony\\\\Component\\\\Messenger\\\\Envelope\\":2:{s:44:\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0stamps\\";a:0:{}s:45:\\"\\0Symfony\\\\Component\\\\Messenger\\\\Envelope\\0message\\";O:33:\\"Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\":5:{s:43:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0tenantId\\";N;s:44:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0eventName\\";s:16:\\"fusio.app.create\\";s:42:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0payload\\";O:26:\\"PSX\\\\CloudEvents\\\\CloudEvent\\":9:{s:39:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0specVersion\\";s:3:\\"1.0\\";s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0type\\";s:28:\\"org.fusio-project.app.create\\";s:34:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0source\\";s:12:\\"/backend/app\\";s:30:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0id\\";[[ser_messageAppKey1]]s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0time\\";N;s:43:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0dataContentType\\";s:16:\\"application/json\\";s:32:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0data\\";O:29:\\"Fusio\\\\Model\\\\Backend\\\\AppCreate\\":12:{s:5:\\"\\0*\\0id\\";i:1;s:9:\\"\\0*\\0userId\\";i:1;s:9:\\"\\0*\\0status\\";i:1;s:7:\\"\\0*\\0name\\";s:5:\\"fusio\\";s:6:\\"\\0*\\0url\\";s:[[fusio_softurl_len]]:\\"[[softurl]]/public/apps/fusio\\";s:13:\\"\\0*\\0parameters\\";N;s:9:\\"\\0*\\0appKey\\";N;s:12:\\"\\0*\\0appSecret\\";N;s:11:\\"\\0*\\0metadata\\";N;s:7:\\"\\0*\\0date\\";N;s:9:\\"\\0*\\0scopes\\";a:3:{i:0;s:7:\\"backend\\";i:1;s:8:\\"consumer\\";i:2;s:13:\\"authorization\\";}s:9:\\"\\0*\\0tokens\\";N;}s:38:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0dataBase64\\";N;s:38:\\"\\0PSX\\\\CloudEvents\\\\CloudEvent\\0extensions\\";N;}s:41:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0userId\\";N;s:42:\\"\\0Fusio\\\\Impl\\\\Messenger\\\\TriggerEvent\\0context\\";N;}}', '[]', 'default', '[[regtime]]', '[[regtime]]', NULL);
--
-- Constraints for dumped tables
--
--
-- Constraints for table `fusio_action`
--
ALTER TABLE `fusio_action`
ADD CONSTRAINT `action_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `action_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_action_commit`
--
ALTER TABLE `fusio_action_commit`
ADD CONSTRAINT `action_commit_action_id` FOREIGN KEY (`action_id`) REFERENCES `fusio_action` (`id`),
ADD CONSTRAINT `action_commit_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_agent`
--
ALTER TABLE `fusio_agent`
ADD CONSTRAINT `agent_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `agent_connection_id` FOREIGN KEY (`connection_id`) REFERENCES `fusio_connection` (`id`);
--
-- Constraints for table `fusio_agent_message`
--
ALTER TABLE `fusio_agent_message`
ADD CONSTRAINT `agent_message_agent_id` FOREIGN KEY (`agent_id`) REFERENCES `fusio_agent` (`id`),
ADD CONSTRAINT `agent_message_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_app`
--
ALTER TABLE `fusio_app`
ADD CONSTRAINT `app_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_app_scope`
--
ALTER TABLE `fusio_app_scope`
ADD CONSTRAINT `app_scope_app_id` FOREIGN KEY (`app_id`) REFERENCES `fusio_app` (`id`),
ADD CONSTRAINT `app_scope_scope_id` FOREIGN KEY (`scope_id`) REFERENCES `fusio_scope` (`id`);
--
-- Constraints for table `fusio_cronjob`
--
ALTER TABLE `fusio_cronjob`
ADD CONSTRAINT `cronjob_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `cronjob_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_event`
--
ALTER TABLE `fusio_event`
ADD CONSTRAINT `event_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `event_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_form`
--
ALTER TABLE `fusio_form`
ADD CONSTRAINT `form_operation_id` FOREIGN KEY (`operation_id`) REFERENCES `fusio_operation` (`id`);
--
-- Constraints for table `fusio_identity_request`
--
ALTER TABLE `fusio_identity_request`
ADD CONSTRAINT `identity_request_identity_id` FOREIGN KEY (`identity_id`) REFERENCES `fusio_identity` (`id`);
--
-- Constraints for table `fusio_operation`
--
ALTER TABLE `fusio_operation`
ADD CONSTRAINT `operation_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `operation_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_plan_scope`
--
ALTER TABLE `fusio_plan_scope`
ADD CONSTRAINT `plan_scope_scope_id` FOREIGN KEY (`scope_id`) REFERENCES `fusio_scope` (`id`),
ADD CONSTRAINT `plan_scope_user_id` FOREIGN KEY (`plan_id`) REFERENCES `fusio_plan` (`id`);
--
-- Constraints for table `fusio_rate_allocation`
--
ALTER TABLE `fusio_rate_allocation`
ADD CONSTRAINT `rate_allocation_app_id` FOREIGN KEY (`app_id`) REFERENCES `fusio_app` (`id`),
ADD CONSTRAINT `rate_allocation_operation_id` FOREIGN KEY (`operation_id`) REFERENCES `fusio_operation` (`id`),
ADD CONSTRAINT `rate_allocation_rate_id` FOREIGN KEY (`rate_id`) REFERENCES `fusio_rate` (`id`);
--
-- Constraints for table `fusio_role`
--
ALTER TABLE `fusio_role`
ADD CONSTRAINT `role_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`);
--
-- Constraints for table `fusio_role_scope`
--
ALTER TABLE `fusio_role_scope`
ADD CONSTRAINT `role_scope_role_id` FOREIGN KEY (`role_id`) REFERENCES `fusio_role` (`id`),
ADD CONSTRAINT `role_scope_scope_id` FOREIGN KEY (`scope_id`) REFERENCES `fusio_scope` (`id`);
--
-- Constraints for table `fusio_schema`
--
ALTER TABLE `fusio_schema`
ADD CONSTRAINT `schema_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `schema_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_schema_commit`
--
ALTER TABLE `fusio_schema_commit`
ADD CONSTRAINT `schema_commit_action_id` FOREIGN KEY (`schema_id`) REFERENCES `fusio_schema` (`id`),
ADD CONSTRAINT `schema_commit_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_scope`
--
ALTER TABLE `fusio_scope`
ADD CONSTRAINT `scope_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`);
--
-- Constraints for table `fusio_scope_operation`
--
ALTER TABLE `fusio_scope_operation`
ADD CONSTRAINT `scope_operation_operation_id` FOREIGN KEY (`operation_id`) REFERENCES `fusio_operation` (`id`),
ADD CONSTRAINT `scope_operation_scope_id` FOREIGN KEY (`scope_id`) REFERENCES `fusio_scope` (`id`);
--
-- Constraints for table `fusio_taxonomy`
--
ALTER TABLE `fusio_taxonomy`
ADD CONSTRAINT `taxonomy_parent_id` FOREIGN KEY (`parent_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_test`
--
ALTER TABLE `fusio_test`
ADD CONSTRAINT `test_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `test_operation_id` FOREIGN KEY (`operation_id`) REFERENCES `fusio_operation` (`id`);
--
-- Constraints for table `fusio_token`
--
ALTER TABLE `fusio_token`
ADD CONSTRAINT `token_app_id` FOREIGN KEY (`app_id`) REFERENCES `fusio_app` (`id`),
ADD CONSTRAINT `token_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `token_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_trigger`
--
ALTER TABLE `fusio_trigger`
ADD CONSTRAINT `trigger_category_id` FOREIGN KEY (`category_id`) REFERENCES `fusio_category` (`id`),
ADD CONSTRAINT `trigger_taxonomy_id` FOREIGN KEY (`taxonomy_id`) REFERENCES `fusio_taxonomy` (`id`);
--
-- Constraints for table `fusio_user`
--
ALTER TABLE `fusio_user`
ADD CONSTRAINT `user_identity_id` FOREIGN KEY (`identity_id`) REFERENCES `fusio_identity` (`id`);
--
-- Constraints for table `fusio_user_grant`
--
ALTER TABLE `fusio_user_grant`
ADD CONSTRAINT `user_grant_app_id` FOREIGN KEY (`app_id`) REFERENCES `fusio_app` (`id`),
ADD CONSTRAINT `user_grant_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_user_scope`
--
ALTER TABLE `fusio_user_scope`
ADD CONSTRAINT `user_scope_scope_id` FOREIGN KEY (`scope_id`) REFERENCES `fusio_scope` (`id`),
ADD CONSTRAINT `user_scope_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_webhook`
--
ALTER TABLE `fusio_webhook`
ADD CONSTRAINT `webhook_event_id` FOREIGN KEY (`event_id`) REFERENCES `fusio_event` (`id`),
ADD CONSTRAINT `webhook_user_id` FOREIGN KEY (`user_id`) REFERENCES `fusio_user` (`id`);
--
-- Constraints for table `fusio_webhook_response`
--
ALTER TABLE `fusio_webhook_response`
ADD CONSTRAINT `webhook_response_webhook_id` FOREIGN KEY (`webhook_id`) REFERENCES `fusio_webhook` (`id`);
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;