@@ -29,9 +29,9 @@ use actix_web::{
2929 http:: header:: ContentType ,
3030 web:: { self , Json , Path } ,
3131} ;
32- use chrono:: Utc ;
3332use http:: StatusCode ;
3433use serde_json:: Error as SerdeError ;
34+ use ulid:: Ulid ;
3535
3636pub async fn list ( req : HttpRequest ) -> Result < impl Responder , FiltersError > {
3737 let key =
@@ -51,7 +51,9 @@ pub async fn get(
5151 return Ok ( ( web:: Json ( filter) , StatusCode :: OK ) ) ;
5252 }
5353
54- Err ( FiltersError :: Metadata ( "Filter does not exist" ) )
54+ Err ( FiltersError :: Metadata (
55+ "Filter does not exist or user is not authorized" ,
56+ ) )
5557}
5658
5759pub async fn post (
@@ -60,7 +62,7 @@ pub async fn post(
6062) -> Result < impl Responder , FiltersError > {
6163 let mut user_id = get_user_from_request ( & req) ?;
6264 user_id = get_hash ( & user_id) ;
63- let filter_id = get_hash ( Utc :: now ( ) . timestamp_micros ( ) . to_string ( ) . as_str ( ) ) ;
65+ let filter_id = Ulid :: new ( ) . to_string ( ) ;
6466 filter. filter_id = Some ( filter_id. clone ( ) ) ;
6567 filter. user_id = Some ( user_id. clone ( ) ) ;
6668 filter. version = Some ( CURRENT_FILTER_VERSION . to_string ( ) ) ;
@@ -80,7 +82,9 @@ pub async fn update(
8082 user_id = get_hash ( & user_id) ;
8183 let filter_id = filter_id. into_inner ( ) ;
8284 if FILTERS . get_filter ( & filter_id, & user_id) . await . is_none ( ) {
83- return Err ( FiltersError :: Metadata ( "Filter does not exist" ) ) ;
85+ return Err ( FiltersError :: Metadata (
86+ "Filter does not exist or user is not authorized" ,
87+ ) ) ;
8488 }
8589 filter. filter_id = Some ( filter_id. clone ( ) ) ;
8690 filter. user_id = Some ( user_id. clone ( ) ) ;
@@ -102,7 +106,9 @@ pub async fn delete(
102106 let filter = FILTERS
103107 . get_filter ( & filter_id, & user_id)
104108 . await
105- . ok_or ( FiltersError :: Metadata ( "Filter does not exist" ) ) ?;
109+ . ok_or ( FiltersError :: Metadata (
110+ "Filter does not exist or user is not authorized" ,
111+ ) ) ?;
106112
107113 PARSEABLE . metastore . delete_filter ( & filter) . await ?;
108114 FILTERS . delete_filter ( & filter_id) . await ;
0 commit comments