Add endpoints for tags
This commit is contained in:
		
							parent
							
								
									c8f40284ef
								
							
						
					
					
						commit
						8d996888bd
					
				
					 10 changed files with 141 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -79,6 +79,14 @@ impl DbController {
 | 
			
		|||
		conn: &mut PoolConnection<Sqlite>,
 | 
			
		||||
		filter_uid: ControllerUid,
 | 
			
		||||
	) -> Result<(), DatabaseError> {
 | 
			
		||||
		if sqlx::query_scalar!("SELECT 1 FROM controllers WHERE uid = ?", filter_uid)
 | 
			
		||||
			.fetch_optional(conn.deref_mut())
 | 
			
		||||
			.await?
 | 
			
		||||
			.is_none()
 | 
			
		||||
		{
 | 
			
		||||
			return Err(DatabaseError::NotFound);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		sqlx::query!("DELETE FROM controllers WHERE uid = ?", filter_uid)
 | 
			
		||||
			.execute(conn.deref_mut())
 | 
			
		||||
			.await
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,18 +108,10 @@ impl DbRelay {
 | 
			
		|||
		&self,
 | 
			
		||||
		conn: &mut PoolConnection<Sqlite>,
 | 
			
		||||
		new_name: &str,
 | 
			
		||||
		new_number: i64,
 | 
			
		||||
		new_controller: &DbController,
 | 
			
		||||
	) -> Result<DbRelay, DatabaseError> {
 | 
			
		||||
		sqlx::query!(
 | 
			
		||||
			"UPDATE relays SET name = ?, number = ?, controller_id = ? WHERE id = ?",
 | 
			
		||||
			new_name,
 | 
			
		||||
			new_number,
 | 
			
		||||
			new_controller.id,
 | 
			
		||||
			self.id,
 | 
			
		||||
		)
 | 
			
		||||
		.execute(conn.deref_mut())
 | 
			
		||||
		.await?;
 | 
			
		||||
		sqlx::query!("UPDATE relays SET name = ? WHERE id = ?", new_name, self.id,)
 | 
			
		||||
			.execute(conn.deref_mut())
 | 
			
		||||
			.await?;
 | 
			
		||||
 | 
			
		||||
		DbRelay::get(conn, self.id)
 | 
			
		||||
			.await?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,6 +77,14 @@ impl DbSchedule {
 | 
			
		|||
			ScheduleUid::Any(_) => Ok(filter_uid),
 | 
			
		||||
		}?;
 | 
			
		||||
 | 
			
		||||
		if sqlx::query_scalar!("SELECT 1 FROM schedules WHERE uid = ?", filter_uid)
 | 
			
		||||
			.fetch_optional(conn.deref_mut())
 | 
			
		||||
			.await?
 | 
			
		||||
			.is_none()
 | 
			
		||||
		{
 | 
			
		||||
			return Err(DatabaseError::NotFound);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		sqlx::query!("DELETE FROM schedules WHERE uid = ?", filter_uid)
 | 
			
		||||
			.execute(conn.deref_mut())
 | 
			
		||||
			.await
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,13 @@ impl DbTag {
 | 
			
		|||
		.ok_or(DatabaseError::InsertGetError)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pub async fn get_all(conn: &mut PoolConnection<Sqlite>) -> Result<Vec<DbTag>, DatabaseError> {
 | 
			
		||||
		sqlx::query_as!(DbTag, "SELECT * FROM tags")
 | 
			
		||||
			.fetch_all(conn.deref_mut())
 | 
			
		||||
			.await
 | 
			
		||||
			.map_err(DatabaseError::from)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pub async fn get(
 | 
			
		||||
		conn: &mut PoolConnection<Sqlite>,
 | 
			
		||||
		id: i64,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue