@@ -98,24 +98,26 @@ def set_token(self, token: str) -> None:
98
98
self .token = token
99
99
100
100
async def authenticate (self ) -> None :
101
- message = RequestMessage (self .id , RequestMethod .AUTHENTICATE , token = self .token )
101
+ message = RequestMessage (RequestMethod .AUTHENTICATE , token = self .token )
102
+ self .id = message .id
102
103
return await self ._send (message , "authenticating" )
103
104
104
105
async def invalidate (self ) -> None :
105
- message = RequestMessage (self .id , RequestMethod .INVALIDATE )
106
+ message = RequestMessage (RequestMethod .INVALIDATE )
107
+ self .id = message .id
106
108
await self ._send (message , "invalidating" )
107
109
self .token = None
108
110
109
111
async def signup (self , vars : Dict ) -> str :
110
- message = RequestMessage (self .id , RequestMethod .SIGN_UP , data = vars )
112
+ message = RequestMessage (RequestMethod .SIGN_UP , data = vars )
113
+ self .id = message .id
111
114
response = await self ._send (message , "signup" )
112
115
self .check_response_for_result (response , "signup" )
113
116
self .token = response ["result" ]
114
117
return response ["result" ]
115
118
116
119
async def signin (self , vars : dict ) -> dict :
117
120
message = RequestMessage (
118
- self .id ,
119
121
RequestMethod .SIGN_IN ,
120
122
username = vars .get ("username" ),
121
123
password = vars .get ("password" ),
@@ -124,24 +126,26 @@ async def signin(self, vars: dict) -> dict:
124
126
namespace = vars .get ("namespace" ),
125
127
variables = vars .get ("variables" ),
126
128
)
129
+ self .id = message .id
127
130
response = await self ._send (message , "signing in" )
128
131
self .check_response_for_result (response , "signing in" )
129
132
self .token = response ["result" ]
130
133
return response ["result" ]
131
134
132
135
async def info (self ) -> dict :
133
- message = RequestMessage (self .id , RequestMethod .INFO )
136
+ message = RequestMessage (RequestMethod .INFO )
137
+ self .id = message .id
134
138
response = await self ._send (message , "getting database information" )
135
139
self .check_response_for_result (response , "getting database information" )
136
140
return response ["result" ]
137
141
138
142
async def use (self , namespace : str , database : str ) -> None :
139
143
message = RequestMessage (
140
- self .token ,
141
144
RequestMethod .USE ,
142
145
namespace = namespace ,
143
146
database = database ,
144
147
)
148
+ self .id = message .id
145
149
_ = await self ._send (message , "use" )
146
150
self .namespace = namespace
147
151
self .database = database
@@ -152,11 +156,11 @@ async def query(self, query: str, params: Optional[dict] = None) -> dict:
152
156
for key , value in self .vars .items ():
153
157
params [key ] = value
154
158
message = RequestMessage (
155
- self .id ,
156
159
RequestMethod .QUERY ,
157
160
query = query ,
158
161
params = params ,
159
162
)
163
+ self .id = message .id
160
164
response = await self ._send (message , "query" )
161
165
self .check_response_for_result (response , "query" )
162
166
return response ["result" ][0 ]["result" ]
@@ -167,11 +171,11 @@ async def query_raw(self, query: str, params: Optional[dict] = None) -> dict:
167
171
for key , value in self .vars .items ():
168
172
params [key ] = value
169
173
message = RequestMessage (
170
- self .id ,
171
174
RequestMethod .QUERY ,
172
175
query = query ,
173
176
params = params ,
174
177
)
178
+ self .id = message .id
175
179
response = await self ._send (message , "query" , bypass = True )
176
180
return response
177
181
@@ -184,27 +188,26 @@ async def create(
184
188
if ":" in thing :
185
189
buffer = thing .split (":" )
186
190
thing = RecordID (table_name = buffer [0 ], identifier = buffer [1 ])
187
- message = RequestMessage (
188
- self .id , RequestMethod .CREATE , collection = thing , data = data
189
- )
191
+ message = RequestMessage (RequestMethod .CREATE , collection = thing , data = data )
192
+ self .id = message .id
190
193
response = await self ._send (message , "create" )
191
194
self .check_response_for_result (response , "create" )
192
195
return response ["result" ]
193
196
194
197
async def delete (
195
198
self , thing : Union [str , RecordID , Table ]
196
199
) -> Union [List [dict ], dict ]:
197
- message = RequestMessage (self .id , RequestMethod .DELETE , record_id = thing )
200
+ message = RequestMessage (RequestMethod .DELETE , record_id = thing )
201
+ self .id = message .id
198
202
response = await self ._send (message , "delete" )
199
203
self .check_response_for_result (response , "delete" )
200
204
return response ["result" ]
201
205
202
206
async def insert (
203
207
self , table : Union [str , Table ], data : Union [List [dict ], dict ]
204
208
) -> Union [List [dict ], dict ]:
205
- message = RequestMessage (
206
- self .id , RequestMethod .INSERT , collection = table , params = data
207
- )
209
+ message = RequestMessage (RequestMethod .INSERT , collection = table , params = data )
210
+ self .id = message .id
208
211
response = await self ._send (message , "insert" )
209
212
self .check_response_for_result (response , "insert" )
210
213
return response ["result" ]
@@ -213,8 +216,9 @@ async def insert_relation(
213
216
self , table : Union [str , Table ], data : Union [List [dict ], dict ]
214
217
) -> Union [List [dict ], dict ]:
215
218
message = RequestMessage (
216
- self . id , RequestMethod .INSERT_RELATION , table = table , params = data
219
+ RequestMethod .INSERT_RELATION , table = table , params = data
217
220
)
221
+ self .id = message .id
218
222
response = await self ._send (message , "insert_relation" )
219
223
self .check_response_for_result (response , "insert_relation" )
220
224
return response ["result" ]
@@ -228,51 +232,49 @@ async def unset(self, key: str) -> None:
228
232
async def merge (
229
233
self , thing : Union [str , RecordID , Table ], data : Optional [Dict ] = None
230
234
) -> Union [List [dict ], dict ]:
231
- message = RequestMessage (
232
- self .id , RequestMethod .MERGE , record_id = thing , data = data
233
- )
235
+ message = RequestMessage (RequestMethod .MERGE , record_id = thing , data = data )
236
+ self .id = message .id
234
237
response = await self ._send (message , "merge" )
235
238
self .check_response_for_result (response , "merge" )
236
239
return response ["result" ]
237
240
238
241
async def patch (
239
242
self , thing : Union [str , RecordID , Table ], data : Optional [List [dict ]] = None
240
243
) -> Union [List [dict ], dict ]:
241
- message = RequestMessage (
242
- self .id , RequestMethod .PATCH , collection = thing , params = data
243
- )
244
+ message = RequestMessage (RequestMethod .PATCH , collection = thing , params = data )
245
+ self .id = message .id
244
246
response = await self ._send (message , "patch" )
245
247
self .check_response_for_result (response , "patch" )
246
248
return response ["result" ]
247
249
248
250
async def select (self , thing : str ) -> Union [List [dict ], dict ]:
249
- message = RequestMessage (self .id , RequestMethod .SELECT , params = [thing ])
251
+ message = RequestMessage (RequestMethod .SELECT , params = [thing ])
252
+ self .id = message .id
250
253
response = await self ._send (message , "select" )
251
254
self .check_response_for_result (response , "select" )
252
255
return response ["result" ]
253
256
254
257
async def update (
255
258
self , thing : Union [str , RecordID , Table ], data : Optional [Dict ] = None
256
259
) -> Union [List [dict ], dict ]:
257
- message = RequestMessage (
258
- self .id , RequestMethod .UPDATE , record_id = thing , data = data
259
- )
260
+ message = RequestMessage (RequestMethod .UPDATE , record_id = thing , data = data )
261
+ self .id = message .id
260
262
response = await self ._send (message , "update" )
261
263
self .check_response_for_result (response , "update" )
262
264
return response ["result" ]
263
265
264
266
async def version (self ) -> str :
265
- message = RequestMessage (self .id , RequestMethod .VERSION )
267
+ message = RequestMessage (RequestMethod .VERSION )
268
+ self .id = message .id
266
269
response = await self ._send (message , "getting database version" )
267
270
self .check_response_for_result (response , "getting database version" )
268
271
return response ["result" ]
269
272
270
273
async def upsert (
271
274
self , thing : Union [str , RecordID , Table ], data : Optional [Dict ] = None
272
275
) -> Union [List [dict ], dict ]:
273
- message = RequestMessage (
274
- self .id , RequestMethod .UPSERT , record_id = thing , data = data
275
- )
276
+ message = RequestMessage (RequestMethod .UPSERT , record_id = thing , data = data )
277
+ self .id = message .id
276
278
response = await self ._send (message , "upsert" )
277
279
self .check_response_for_result (response , "upsert" )
278
280
return response ["result" ]
0 commit comments