Reformat code
This commit is contained in:
		
							parent
							
								
									271b24b70d
								
							
						
					
					
						commit
						a17a9868fa
					
				
					 8 changed files with 40 additions and 33 deletions
				
			
		
							
								
								
									
										44
									
								
								api.v1.yaml
									
										
									
									
									
								
							
							
						
						
									
										44
									
								
								api.v1.yaml
									
										
									
									
									
								
							| 
						 | 
					@ -26,7 +26,7 @@ paths:
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK
 | 
					          description: OK
 | 
				
			||||||
          headers: {}
 | 
					          headers: { }
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
| 
						 | 
					@ -53,7 +53,7 @@ paths:
 | 
				
			||||||
            schema:
 | 
					            schema:
 | 
				
			||||||
              $ref: '#/components/schemas/schedule'
 | 
					              $ref: '#/components/schemas/schedule'
 | 
				
			||||||
        description: The "id" field will be set by the server.
 | 
					        description: The "id" field will be set by the server.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
  '/api/v1/schedules/{schedule_id}':
 | 
					  '/api/v1/schedules/{schedule_id}':
 | 
				
			||||||
    parameters:
 | 
					    parameters:
 | 
				
			||||||
      - schema:
 | 
					      - schema:
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,7 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: get-schedules-schedule_id
 | 
					      operationId: get-schedules-schedule_id
 | 
				
			||||||
      description: Return a single schedule by id.
 | 
					      description: Return a single schedule by id.
 | 
				
			||||||
    put:
 | 
					    put:
 | 
				
			||||||
| 
						 | 
					@ -100,14 +100,14 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
        '404':
 | 
					        '404':
 | 
				
			||||||
          description: Not Found
 | 
					          description: Not Found
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: put-schedules-schedule_id
 | 
					      operationId: put-schedules-schedule_id
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,7 @@ paths:
 | 
				
			||||||
                  items:
 | 
					                  items:
 | 
				
			||||||
                    $ref: '#/components/schemas/tag'
 | 
					                    $ref: '#/components/schemas/tag'
 | 
				
			||||||
        description: ''
 | 
					        description: ''
 | 
				
			||||||
      parameters: []
 | 
					      parameters: [ ]
 | 
				
			||||||
      description: Overwrite the properties for a single schedule. Overwriting periods on "on" or "off" will fail.
 | 
					      description: Overwrite the properties for a single schedule. Overwriting periods on "on" or "off" will fail.
 | 
				
			||||||
    delete:
 | 
					    delete:
 | 
				
			||||||
      summary: delete single schedule
 | 
					      summary: delete single schedule
 | 
				
			||||||
| 
						 | 
					@ -172,7 +172,7 @@ paths:
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK
 | 
					          description: OK
 | 
				
			||||||
          headers: {}
 | 
					          headers: { }
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
| 
						 | 
					@ -181,7 +181,7 @@ paths:
 | 
				
			||||||
                  $ref: '#/components/schemas/relay'
 | 
					                  $ref: '#/components/schemas/relay'
 | 
				
			||||||
      operationId: get-relays
 | 
					      operationId: get-relays
 | 
				
			||||||
      description: Return a list with all relays.
 | 
					      description: Return a list with all relays.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
  '/api/v1/relays/tag/{tag}':
 | 
					  '/api/v1/relays/tag/{tag}':
 | 
				
			||||||
    parameters:
 | 
					    parameters:
 | 
				
			||||||
      - schema:
 | 
					      - schema:
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,7 @@ paths:
 | 
				
			||||||
                $ref: '#/components/schemas/controller'
 | 
					                $ref: '#/components/schemas/controller'
 | 
				
			||||||
      operationId: get-controllers
 | 
					      operationId: get-controllers
 | 
				
			||||||
      description: Return all controllers.
 | 
					      description: Return all controllers.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
  /api/v1/controllers/discover:
 | 
					  /api/v1/controllers/discover:
 | 
				
			||||||
    put:
 | 
					    put:
 | 
				
			||||||
      summary: discover controllers
 | 
					      summary: discover controllers
 | 
				
			||||||
| 
						 | 
					@ -235,7 +235,7 @@ paths:
 | 
				
			||||||
                  $ref: '#/components/schemas/controller'
 | 
					                  $ref: '#/components/schemas/controller'
 | 
				
			||||||
      operationId: put-controllers-discover
 | 
					      operationId: put-controllers-discover
 | 
				
			||||||
      description: Start a discovery process to find controllers in the network. This operations needs multiple seconds to complete.
 | 
					      description: Start a discovery process to find controllers in the network. This operations needs multiple seconds to complete.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
  '/api/v1/controllers/{controller_id}':
 | 
					  '/api/v1/controllers/{controller_id}':
 | 
				
			||||||
    parameters:
 | 
					    parameters:
 | 
				
			||||||
      - schema:
 | 
					      - schema:
 | 
				
			||||||
| 
						 | 
					@ -261,14 +261,14 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: get-controllers-controller_id
 | 
					      operationId: get-controllers-controller_id
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
          application/json:
 | 
					          application/json:
 | 
				
			||||||
            schema:
 | 
					            schema:
 | 
				
			||||||
              type: object
 | 
					              type: object
 | 
				
			||||||
              properties: {}
 | 
					              properties: { }
 | 
				
			||||||
        description: ''
 | 
					        description: ''
 | 
				
			||||||
      description: Return a single controller by id. When no controller with the id is found 404 will be returned.
 | 
					      description: Return a single controller by id. When no controller with the id is found 404 will be returned.
 | 
				
			||||||
    put:
 | 
					    put:
 | 
				
			||||||
| 
						 | 
					@ -288,14 +288,14 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
        '404':
 | 
					        '404':
 | 
				
			||||||
          description: Not Found
 | 
					          description: Not Found
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: put-controllers-controller_id
 | 
					      operationId: put-controllers-controller_id
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
| 
						 | 
					@ -335,7 +335,7 @@ paths:
 | 
				
			||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        '200':
 | 
					        '200':
 | 
				
			||||||
          description: OK
 | 
					          description: OK
 | 
				
			||||||
          headers: {}
 | 
					          headers: { }
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
| 
						 | 
					@ -348,7 +348,7 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: array
 | 
					                type: array
 | 
				
			||||||
                items: {}
 | 
					                items: { }
 | 
				
			||||||
      operationId: get-controllers-controller_id-relays
 | 
					      operationId: get-controllers-controller_id-relays
 | 
				
			||||||
      description: Returns all relays for a single controller.
 | 
					      description: Returns all relays for a single controller.
 | 
				
			||||||
  '/api/v1/controllers/{controller_id}/relays/{relay_num}':
 | 
					  '/api/v1/controllers/{controller_id}/relays/{relay_num}':
 | 
				
			||||||
| 
						 | 
					@ -381,7 +381,7 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: get-controllers-controller_id-relays-relay_num
 | 
					      operationId: get-controllers-controller_id-relays-relay_num
 | 
				
			||||||
      description: 'Return a single relay by number for a controller by id. When the relay or controller is not found, 404 will be returned.'
 | 
					      description: 'Return a single relay by number for a controller by id. When the relay or controller is not found, 404 will be returned.'
 | 
				
			||||||
    put:
 | 
					    put:
 | 
				
			||||||
| 
						 | 
					@ -402,14 +402,14 @@ paths:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
        '404':
 | 
					        '404':
 | 
				
			||||||
          description: Not Found
 | 
					          description: Not Found
 | 
				
			||||||
          content:
 | 
					          content:
 | 
				
			||||||
            application/json:
 | 
					            application/json:
 | 
				
			||||||
              schema:
 | 
					              schema:
 | 
				
			||||||
                type: object
 | 
					                type: object
 | 
				
			||||||
                properties: {}
 | 
					                properties: { }
 | 
				
			||||||
      operationId: put-controllers-controller_id-relays-relay_num
 | 
					      operationId: put-controllers-controller_id-relays-relay_num
 | 
				
			||||||
      requestBody:
 | 
					      requestBody:
 | 
				
			||||||
        content:
 | 
					        content:
 | 
				
			||||||
| 
						 | 
					@ -454,7 +454,7 @@ paths:
 | 
				
			||||||
                  $ref: '#/components/schemas/tag'
 | 
					                  $ref: '#/components/schemas/tag'
 | 
				
			||||||
      operationId: get-tags
 | 
					      operationId: get-tags
 | 
				
			||||||
      description: Returns a list of tags.
 | 
					      description: Returns a list of tags.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
    post:
 | 
					    post:
 | 
				
			||||||
      summary: add new tag
 | 
					      summary: add new tag
 | 
				
			||||||
      operationId: post-api-v1-tags
 | 
					      operationId: post-api-v1-tags
 | 
				
			||||||
| 
						 | 
					@ -568,7 +568,7 @@ paths:
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        WEBSOCKET
 | 
					        WEBSOCKET
 | 
				
			||||||
        This websocket will send all relays with the most recent status every 10 seconds.
 | 
					        This websocket will send all relays with the most recent status every 10 seconds.
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
  /api/v1/macros:
 | 
					  /api/v1/macros:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      summary: get all macros
 | 
					      summary: get all macros
 | 
				
			||||||
| 
						 | 
					@ -723,7 +723,7 @@ paths:
 | 
				
			||||||
              items:
 | 
					              items:
 | 
				
			||||||
                $ref: '#/components/schemas/schedule'
 | 
					                $ref: '#/components/schemas/schedule'
 | 
				
			||||||
      description: Create a list of schedules
 | 
					      description: Create a list of schedules
 | 
				
			||||||
    parameters: []
 | 
					    parameters: [ ]
 | 
				
			||||||
components:
 | 
					components:
 | 
				
			||||||
  schemas:
 | 
					  schemas:
 | 
				
			||||||
    controller:
 | 
					    controller:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,3 @@
 | 
				
			||||||
use crate::db::models::Periods;
 | 
					 | 
				
			||||||
use chrono::{NaiveTime, Timelike};
 | 
					use chrono::{NaiveTime, Timelike};
 | 
				
			||||||
use serde::{Deserialize, Serialize};
 | 
					use serde::{Deserialize, Serialize};
 | 
				
			||||||
use sqlx::database::HasArguments;
 | 
					use sqlx::database::HasArguments;
 | 
				
			||||||
| 
						 | 
					@ -7,6 +6,8 @@ use sqlx::error::BoxDynError;
 | 
				
			||||||
use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
 | 
					use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
 | 
				
			||||||
use sqlx::{Decode, Encode, Sqlite, Type};
 | 
					use sqlx::{Decode, Encode, Sqlite, Type};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use crate::db::models::Periods;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
 | 
					#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
 | 
				
			||||||
pub struct Period {
 | 
					pub struct Period {
 | 
				
			||||||
	#[serde(with = "period_format")]
 | 
						#[serde(with = "period_format")]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
use crate::db::model_utils::Period;
 | 
					 | 
				
			||||||
use serde::{Deserialize, Serialize};
 | 
					use serde::{Deserialize, Serialize};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use crate::db::model_utils::Period;
 | 
				
			||||||
use crate::types::EmgauwaUid;
 | 
					use crate::types::EmgauwaUid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Debug, Serialize)]
 | 
					#[derive(Debug, Serialize)]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,10 @@
 | 
				
			||||||
use crate::db::errors::DatabaseError;
 | 
					use std::ops::DerefMut;
 | 
				
			||||||
use crate::db::models::*;
 | 
					
 | 
				
			||||||
use sqlx::pool::PoolConnection;
 | 
					use sqlx::pool::PoolConnection;
 | 
				
			||||||
use sqlx::Sqlite;
 | 
					use sqlx::Sqlite;
 | 
				
			||||||
use std::ops::DerefMut;
 | 
					
 | 
				
			||||||
 | 
					use crate::db::errors::DatabaseError;
 | 
				
			||||||
 | 
					use crate::db::models::*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub async fn create_tag(
 | 
					pub async fn create_tag(
 | 
				
			||||||
	conn: &mut PoolConnection<Sqlite>,
 | 
						conn: &mut PoolConnection<Sqlite>,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,11 +1,12 @@
 | 
				
			||||||
use crate::db::errors::DatabaseError;
 | 
					use std::borrow::Borrow;
 | 
				
			||||||
 | 
					use std::convert::TryFrom;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use actix_web::{delete, get, post, put, web, HttpResponse, Responder};
 | 
					use actix_web::{delete, get, post, put, web, HttpResponse, Responder};
 | 
				
			||||||
use serde::{Deserialize, Serialize};
 | 
					use serde::{Deserialize, Serialize};
 | 
				
			||||||
use sqlx::pool::PoolConnection;
 | 
					use sqlx::pool::PoolConnection;
 | 
				
			||||||
use sqlx::{Pool, Sqlite};
 | 
					use sqlx::{Pool, Sqlite};
 | 
				
			||||||
use std::borrow::Borrow;
 | 
					 | 
				
			||||||
use std::convert::TryFrom;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use crate::db::errors::DatabaseError;
 | 
				
			||||||
use crate::db::models::{Periods, Schedule};
 | 
					use crate::db::models::{Periods, Schedule};
 | 
				
			||||||
use crate::db::schedules::*;
 | 
					use crate::db::schedules::*;
 | 
				
			||||||
use crate::db::tag::get_tag;
 | 
					use crate::db::tag::get_tag;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,10 +1,11 @@
 | 
				
			||||||
extern crate dotenv;
 | 
					extern crate dotenv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use std::str::FromStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use actix_web::middleware::TrailingSlash;
 | 
					use actix_web::middleware::TrailingSlash;
 | 
				
			||||||
use actix_web::{middleware, web, App, HttpServer};
 | 
					use actix_web::{middleware, web, App, HttpServer};
 | 
				
			||||||
use log::{trace, LevelFilter};
 | 
					use log::{trace, LevelFilter};
 | 
				
			||||||
use simple_logger::SimpleLogger;
 | 
					use simple_logger::SimpleLogger;
 | 
				
			||||||
use std::str::FromStr;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
mod db;
 | 
					mod db;
 | 
				
			||||||
mod handlers;
 | 
					mod handlers;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,8 @@
 | 
				
			||||||
 | 
					use std::sync::RwLock;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use config::Config;
 | 
					use config::Config;
 | 
				
			||||||
use lazy_static::lazy_static;
 | 
					use lazy_static::lazy_static;
 | 
				
			||||||
use serde_derive::Deserialize;
 | 
					use serde_derive::Deserialize;
 | 
				
			||||||
use std::sync::RwLock;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(Clone, Debug, Deserialize)]
 | 
					#[derive(Clone, Debug, Deserialize)]
 | 
				
			||||||
#[serde(default)]
 | 
					#[serde(default)]
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,6 @@ use std::convert::TryFrom;
 | 
				
			||||||
use std::fmt::{Debug, Formatter};
 | 
					use std::fmt::{Debug, Formatter};
 | 
				
			||||||
use std::str::FromStr;
 | 
					use std::str::FromStr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use crate::types::EmgauwaUid;
 | 
					 | 
				
			||||||
use serde::{Serialize, Serializer};
 | 
					use serde::{Serialize, Serializer};
 | 
				
			||||||
use sqlx::database::HasArguments;
 | 
					use sqlx::database::HasArguments;
 | 
				
			||||||
use sqlx::encode::IsNull;
 | 
					use sqlx::encode::IsNull;
 | 
				
			||||||
| 
						 | 
					@ -11,6 +10,8 @@ use sqlx::sqlite::{SqliteTypeInfo, SqliteValueRef};
 | 
				
			||||||
use sqlx::{Decode, Encode, Sqlite, Type};
 | 
					use sqlx::{Decode, Encode, Sqlite, Type};
 | 
				
			||||||
use uuid::Uuid;
 | 
					use uuid::Uuid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use crate::types::EmgauwaUid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl EmgauwaUid {
 | 
					impl EmgauwaUid {
 | 
				
			||||||
	const OFF_STR: &'static str = "off";
 | 
						const OFF_STR: &'static str = "off";
 | 
				
			||||||
	const ON_STR: &'static str = "on";
 | 
						const ON_STR: &'static str = "on";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue