Child pages
  • Queries
Skip to end of metadata
Go to start of metadata

Introduction

Open-AudIT comes with many queries inbuilt. If you require a specific query and none of the pre-packaged queries fit your needs, it's quite easy to create a new one and load it into Open-AudIT for running.

Join Mark Henry as he discusses how to create your own custom queries.


View Query Details

Go to menu:  Manage -> Queries -> List Queries.

 

You will see a list of queries. You can view the details of a query by clicking on the blue view button.

 

You can execute a query by clicking the green Execute button, the results will be displayed immediately.

 

You can also edit or delete any query. You delete the query by clicking the red trash can icon under the delete column as displayed in previous screen shots.

Creating a Query Entry

A query can be created using the web interface if a user has a role that contains the queries::create permission. Go to menu: Manage -> Queries -> Create Queries. There is also a create button on the Queries collection page.

Details for creating custom queries can be found HERE: Creating a Query, If you need to create a Query that includes a custom Field you should look HERE: Create a Query containing Custom Fields  

Database Schema

The schema for the database is below. It can also be found in the application if the user has database::read permission by going to menu: Manage -> Database -> List Database, then clicking on the "queries" table.

A typical entry looks as below.

API / Web Access

You can access the /queries collection using the normal Open-AudIT JSON based API. Just like any other collection. Please see the API documentation for further details.

Access is provided as part of a roles permissions. Queries is a standard resource and can have create, read, update and delete permissions.

The API routes below are usable from both a JSON Restful API and the web interface. The Web application routes are specifically designed to be called from the web interface (a browser).

API Routes

Request Method
ID
Action
Resulting Function
Permission Required
URL Example
Notes
Example Response
POSTn createqueries::create/queriesInsert a new query entry.queries_create.json
GETy readqueries::read/queries/{id}Returns a query details.queries_read.json
PATCHy updatequeries::update/queries/{id}Update an attribute of a query entry.queries_update.json
DELETEy deletequeries::delete/queries/{id}Delete a query entry.queries_delete.json
GETn collectionqueries::read/queriesReturns a list of queries.queries_collection.json
GETyexecuteexecutequeries::read/queries/{id}/executeExecute (run) a query and show the results.queries_execute.json

Web Application Routes

Request Method
ID
Action
Resulting Function
Permission Required
URL Example
Notes
GETncreatecreate_formqueries::create/queries/createDisplays a standard web form for submission to POST /queries.
GETyupdateupdate_formqueries::update/queries/{id}/updateShow the query details with the option to update attributes using PATCH to /queries/{id}

 

 

 

 

This is possible but rather inelegant at the moment.

 

You'll need to know the id of the relevant field from the additional_field table. YTou can find it by going to Menu -> Admin -> Fields -> List Fields. Once you have the ID of the required field you'll need to make a new Query and use this and a join to the additional_field_item table. You'll also need to define a column to put it in (for display). I've included a sample query (attached and below with highlights) that shows what to do.