@@ -29,9 +29,9 @@ use actix_web::{
29
29
http:: header:: ContentType ,
30
30
web:: { self , Json , Path } ,
31
31
} ;
32
- use chrono:: Utc ;
33
32
use http:: StatusCode ;
34
33
use serde_json:: Error as SerdeError ;
34
+ use ulid:: Ulid ;
35
35
36
36
pub async fn list ( req : HttpRequest ) -> Result < impl Responder , FiltersError > {
37
37
let key =
@@ -51,7 +51,9 @@ pub async fn get(
51
51
return Ok ( ( web:: Json ( filter) , StatusCode :: OK ) ) ;
52
52
}
53
53
54
- Err ( FiltersError :: Metadata ( "Filter does not exist" ) )
54
+ Err ( FiltersError :: Metadata (
55
+ "Filter does not exist or user is not authorized" ,
56
+ ) )
55
57
}
56
58
57
59
pub async fn post (
@@ -60,7 +62,7 @@ pub async fn post(
60
62
) -> Result < impl Responder , FiltersError > {
61
63
let mut user_id = get_user_from_request ( & req) ?;
62
64
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 ( ) ;
64
66
filter. filter_id = Some ( filter_id. clone ( ) ) ;
65
67
filter. user_id = Some ( user_id. clone ( ) ) ;
66
68
filter. version = Some ( CURRENT_FILTER_VERSION . to_string ( ) ) ;
@@ -80,7 +82,9 @@ pub async fn update(
80
82
user_id = get_hash ( & user_id) ;
81
83
let filter_id = filter_id. into_inner ( ) ;
82
84
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
+ ) ) ;
84
88
}
85
89
filter. filter_id = Some ( filter_id. clone ( ) ) ;
86
90
filter. user_id = Some ( user_id. clone ( ) ) ;
@@ -102,7 +106,9 @@ pub async fn delete(
102
106
let filter = FILTERS
103
107
. get_filter ( & filter_id, & user_id)
104
108
. 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
+ ) ) ?;
106
112
107
113
PARSEABLE . metastore . delete_filter ( & filter) . await ?;
108
114
FILTERS . delete_filter ( & filter_id) . await ;
0 commit comments