{
"id": "appx_default",
"name": "Default Rimdian app template",
"homepage": "https://yourwebsite.com",
"author": "Your Organization",
"icon_url": "https://eu.rimdian.com/images/apps/custom_app.png",
"short_description": "Default Rimdian app template.",
"description": "Default Rimdian app template.",
"version": "1.0.0",
"ui_endpoint": "https://localhost:3000",
"webhook_endpoint": "https://localhost:3000/api/webhooks",
"tasks": [
{
"id": "appx_default_task_1",
"name": "Task 1",
"description": "Example of manual task",
"is_cron": false,
"on_multiple_exec": "abort_existing"
},
{
"id": "appx_default_task_2",
"name": "Task 2",
"description": "Example of cron task",
"is_cron": true,
"minutes_interval": 720,
"on_multiple_exec": "discard_new"
}
],
"data_hooks": [
{
"id": "appx_default_on_create_user",
"name": "On create",
"on": "on_success",
"for": [
{
"kind": "user",
"action": "create"
}
]
},
{
"id": "appx_default_on_update_user",
"name": "On update",
"on": "on_success",
"for": [
{
"kind": "user",
"action": "update"
}
]
},
{
"id": "appx_default_on_exit_segment",
"name": "On exit segment",
"on": "on_success",
"for": [
{
"kind": "segment",
"action": "exit"
}
]
}
],
"sql_access": {
"predefined_queries": [
{
"id": "appx_default_sql_query_1",
"type": "select",
"name": "SQL query 1",
"description": "Example of predefined SQL query. For security reasons, use predefined queries to just fetch the data you needs",
"query": "SELECT * FROM `user` WHERE external_id = ?",
"test_args": ["auth-54-22"]
}
],
"tables_permissions": [
{
"table": "user",
"read": true,
"write": false
},
{
"table": "session",
"read": true,
"write": false
}
]
},
"extra_columns": [
{
"kind": "user",
"columns": [
{
"name": "appx_default_column_1",
"type": "varchar",
"size": 128,
"is_required": false,
"description": "Example of extra column"
}
]
}
],
"app_tables": [
{
"name": "appx_default_table_1",
"description": "Example of extra table",
"shard_key": ["id"],
"unique_key": ["id"],
"sort_key": ["created_at"],
"indexes": [
{
"name": "index_column_varchar",
"columns": ["column_varchar"]
}
],
"columns": [
{
"name": "id",
"type": "varchar",
"size": 64,
"description": "id",
"is_required": true
},
{
"name": "external_id",
"type": "varchar",
"size": 256,
"description": "external_id",
"is_required": true
},
{
"name": "created_at",
"type": "datetime",
"description": "created_at",
"is_required": true
},
{
"name": "updated_at",
"type": "datetime",
"description": "updated_at",
"is_required": false,
"hide_in_analytics": true
},
{
"name": "user_id",
"type": "varchar",
"size": 64,
"description": "user_id",
"is_required": true,
"hide_in_analytics": true
},
{
"name": "merged_from_user_id",
"type": "varchar",
"size": 64,
"description": "merged_from_user_id",
"is_required": false,
"hide_in_analytics": true
},
{
"name": "fields_timestamp",
"type": "json",
"description": "fields_timestamp",
"is_required": true,
"hide_in_analytics": true
},
{
"name": "db_created_at",
"type": "timestamp",
"size": 6,
"default_timestamp": "CURRENT_TIMESTAMP(6)",
"description": "db_created_at",
"is_required": true,
"hide_in_analytics": true
},
{
"name": "db_updated_at",
"type": "timestamp",
"size": 6,
"default_timestamp": "CURRENT_TIMESTAMP(6)",
"extra_definition": "ON UPDATE CURRENT_TIMESTAMP",
"description": "db_created_at",
"is_required": true,
"hide_in_analytics": true
},
{
"name": "column_varchar",
"type": "varchar",
"size": 128,
"description": "Example of varchar column",
"is_required": false
},
{
"name": "column_number",
"type": "number",
"description": "Example of number column",
"is_required": false
},
{
"name": "column_boolean",
"type": "boolean",
"description": "Example of boolean column",
"is_required": false
},
{
"name": "column_datetime",
"type": "datetime",
"description": "Example of datetime column",
"is_required": false
},
{
"name": "column_json",
"type": "json",
"description": "Example of json column",
"is_required": false
}
]
}
],
"cube_schemas": {
"Appx_default_table_1": {
"sql": "SELECT * FROM appx_default_table_1",
"title": "App table 1",
"description": "App table 1 description",
"joins": {
"Appx_myapp_table_2": {
"relationship": "one_to_many",
"sql": "${CUBE}.external_id = ${Appx_myapp_table_2}.table1_external_id"
}
},
"measures": {
"count": {
"title": "Count",
"type": "count",
"sql": "id",
"description": "The number of lines"
}
},
"dimensions": {
"id": {
"title": "ID",
"type": "string",
"sql": "id",
"primaryKey": true,
"description": "ID (sha1 of external_id)"
},
"external_id": {
"title": "External ID",
"type": "string",
"sql": "external_id",
"description": "External ID"
},
"created_at": {
"title": "Created at",
"type": "datetime",
"sql": "created_at",
"description": "Created at"
},
...
}
},
"Appx_default_table_2": {
...
}
}
}