Introduction
As at 1.12.8 we have introduced the Connections endpoint.
NOTE - Page under revision for v2.0.
How Does it Work?
Creating a Connection
A connection can be created using the web interface if a user has a role that contains the connection::create permission. Go to menu -> Resources -> Connections -> Create. There is also a create button on the collection page.
View Connection Details
Go to menu -> Admin -> Connections -> List Connections.
You will see a list of connections. You can view a connection by clicking on the it's ID (in green). You can also edit or delete the connection.
Example Database Entry
Connections are stored in the database in the "oa_connection" table. A typical entry will look as below.
id: 5 org_id: 0 name: Marks Home Connection provider: Telstra 23 service_type: Cable product_name: Bigpond Cable Ultimate service_identifier: speed: 100.000 location_id_a: 2 location_id_b: 2 system_id_a: 0 system_id_b: 0 line_number_a: line_number_b: ip_address_external_a: ip_address_external_b: ip_address_internal_a: ip_address_internal_b:
Database Schema
The schema for the database is below. It can also be found in the application is the user has database::read permission by going to menu -> Admin -> Database -> List, then clicking on the groups table.
CREATE TABLE `oa_connection` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `org_id` int(10) unsigned NOT NULL DEFAULT '1', `name` varchar(100) NOT NULL, `provider` varchar(100) NOT NULL, `service_type` varchar(100) NOT NULL, `product_name` varchar(100) NOT NULL, `service_identifier` varchar(100) NOT NULL, `speed` float(7,3) NOT NULL DEFAULT '0.000', `location_id_a` int(10) unsigned NOT NULL DEFAULT '1', `location_id_b` int(10) unsigned NOT NULL DEFAULT '1', `system_id_a` int(10) unsigned DEFAULT NULL, `system_id_b` int(10) unsigned DEFAULT NULL, `line_number_a` varchar(100) NOT NULL, `line_number_b` varchar(100) NOT NULL, `ip_address_external_a` varchar(30) NOT NULL, `ip_address_external_b` varchar(30) NOT NULL, `ip_address_internal_a` varchar(30) NOT NULL, `ip_address_internal_b` varchar(30) NOT NULL, `edited_by` varchar(200) NOT NULL DEFAULT '', `edited_date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
API / Web Access?
You can access the /connections collection using the normal Open-AudIT JSON based API. Just like any other collection. Please see the API documentation for further details.
API Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes | Example Response |
---|---|---|---|---|---|---|---|
POST | n | create | connections::create | /connections | Insert a new connections entry. | connections_create.json | |
GET | y | read | connections::read | /connections/{id} | Returns a connection's details. | connections_read.json | |
PATCH | y | update | connections::update | /connections/{id} | Update an attribute of a connections entry. | connections_patch.json | |
DELETE | y | delete | connections::delete | /connections/{id} | Delete a connections entry. | connections_delete.json | |
GET | n | collection | connections::read | /connections | Returns a list of connections. | connections_collection.json |
Web Application Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes |
---|---|---|---|---|---|---|
GET | n | create | create_form | connections:create | /connections/create | Displays a standard web form for submission to POST /connections. |
GET | y | update | update_form | /connections/{id}/update | Show the connection's details with the option to update attributes using PATCH to /connections/{id} | |
GET | n | import | import_form | connections:create | /connections/import | Displays a standard web form for submission to POST /connections/import. |
POST | n | import | import | connections:create | /connections/import | Import multiple connections using a CSV. |