77else :
88 import typing_extensions as typing
99
10+ from typesense .analytics_rule import AnalyticsRule
1011from typesense .api_call import ApiCall
1112from typesense .types .analytics import (
12- AnalyticsRule ,
1313 AnalyticsRuleCreate ,
14+ AnalyticsRuleSchema ,
1415 AnalyticsRuleUpdate ,
1516)
1617
@@ -20,40 +21,42 @@ class AnalyticsRules(object):
2021
2122 def __init__ (self , api_call : ApiCall ) -> None :
2223 self .api_call = api_call
23- self .rules : typing .Dict [str , "AnalyticsRule" ] = {}
24+ self .rules : typing .Dict [str , AnalyticsRuleSchema ] = {}
2425
25- def __getitem__ (self , rule_name : str ) -> "AnalyticsRule" :
26+ def __getitem__ (self , rule_name : str ) -> AnalyticsRuleSchema :
2627 if rule_name not in self .rules :
27- from typesense .analytics_rule import AnalyticsRule as PerRule
28+ self .rules [rule_name ] = AnalyticsRule (self .api_call , rule_name )
29+ return self .rules [rule_name ]
2830
29- self .rules [rule_name ] = PerRule (self .api_call , rule_name )
30- return typing .cast ("AnalyticsRule" , self .rules [rule_name ])
31-
32- def create (self , rule : AnalyticsRuleCreate ) -> AnalyticsRule :
33- response : AnalyticsRule = self .api_call .post (
31+ def create (self , rule : AnalyticsRuleCreate ) -> AnalyticsRuleSchema :
32+ response : AnalyticsRuleSchema = self .api_call .post (
3433 AnalyticsRules .resource_path ,
3534 body = rule ,
3635 as_json = True ,
37- entity_type = AnalyticsRule ,
36+ entity_type = AnalyticsRuleSchema ,
3837 )
3938 return response
4039
41- def retrieve (self , * , rule_tag : typing .Union [str , None ] = None ) -> typing .List [AnalyticsRule ]:
40+ def retrieve (
41+ self , * , rule_tag : typing .Union [str , None ] = None
42+ ) -> typing .List [AnalyticsRuleSchema ]:
4243 params : typing .Dict [str , str ] = {}
4344 if rule_tag :
4445 params ["rule_tag" ] = rule_tag
45- response : typing .List [AnalyticsRule ] = self .api_call .get (
46+ response : typing .List [AnalyticsRuleSchema ] = self .api_call .get (
4647 AnalyticsRules .resource_path ,
4748 params = params if params else None ,
4849 as_json = True ,
49- entity_type = typing .List [AnalyticsRule ],
50+ entity_type = typing .List [AnalyticsRuleSchema ],
5051 )
5152 return response
5253
53- def upsert (self , rule_name : str , update : AnalyticsRuleUpdate ) -> AnalyticsRule :
54- response : AnalyticsRule = self .api_call .put (
54+ def upsert (
55+ self , rule_name : str , update : AnalyticsRuleUpdate
56+ ) -> AnalyticsRuleSchema :
57+ response : AnalyticsRuleSchema = self .api_call .put (
5558 "/" .join ([AnalyticsRules .resource_path , rule_name ]),
5659 body = update ,
57- entity_type = AnalyticsRule ,
60+ entity_type = AnalyticsRuleSchema ,
5861 )
59- return response
62+ return response
0 commit comments