1
1
import datetime
2
2
from typing import Union as U
3
-
3
+ from typing import Optional as O
4
4
5
5
class Buildin :
6
6
@@ -42,6 +42,9 @@ async def grant(self, target: U[int, str], user: str, mask: int):
42
42
async def has_collection (self , name : str ):
43
43
return await self .query (f'has_collection(name)' , name = name , scope = '@t' )
44
44
45
+ async def has_token (self , token : str ):
46
+ return await self .query (f'has_token(token)' , token = token , scope = '@t' )
47
+
45
48
async def has_user (self , name : str ):
46
49
return await self .query (f'has_user(name)' , name = name , scope = '@t' )
47
50
@@ -51,12 +54,10 @@ async def new_collection(self, name: str):
51
54
async def new_token (
52
55
self ,
53
56
user : str ,
54
- expiration_time : datetime .datetime = None ,
57
+ expiration_time : O [ datetime .datetime ] = None ,
55
58
description : str = '' ):
56
59
57
- if expiration_time is None :
58
- expiration_time = 'nil'
59
- else :
60
+ if expiration_time is not None :
60
61
expiration_time = int (datetime .datetime .timestamp (expiration_time ))
61
62
62
63
return await self .query (
@@ -66,12 +67,32 @@ async def new_token(
66
67
description = description ,
67
68
scope = '@t' )
68
69
70
+ async def new_user (self , name : str ):
71
+ return await self .query (f'new_user(name)' , name = name , scope = '@t' )
72
+
69
73
async def node_info (self , scope = '@n' ):
70
74
return await self .query ('node_info()' , scope = scope )
71
75
72
76
async def nodes_info (self , scope = '@n' ) -> list :
73
77
return await self .query ('nodes_info()' , scope = scope )
74
78
79
+ async def rename_collection (
80
+ self ,
81
+ collection : U [int , str ],
82
+ new_name : str ) -> None :
83
+ return await self .query (
84
+ f'rename_collection(collection, new_name)' ,
85
+ collection = collection ,
86
+ new_name = new_name ,
87
+ scope = '@t' )
88
+
89
+ async def rename_user (self , user : str , new_name : str ) -> None :
90
+ return await self .query (
91
+ f'rename_user(user, new_name)' ,
92
+ user = user ,
93
+ new_name = new_name ,
94
+ scope = '@t' )
95
+
75
96
async def reset_counters (self , scope = '@n' ) -> None :
76
97
return await self .query ('reset_counters()' , scope = scope )
77
98
@@ -88,6 +109,13 @@ async def set_log_level(self, log_level: str, scope='@n') -> None:
88
109
return await self .query (
89
110
f'set_log_level(log_level)' , log_level = log_level , scope = scope )
90
111
112
+ async def set_password (self , user : str , new_password : str = None ) -> None :
113
+ return await self .query (
114
+ f'set_password(user, new_password)' ,
115
+ user = user ,
116
+ new_password = new_password ,
117
+ scope = '@t' )
118
+
91
119
async def shutdown (self , scope = '@n' ) -> None :
92
120
return await self .query ('shutdown()' , scope = scope )
93
121
0 commit comments