11from typing import Any , Dict , List , Optional , Union
22import uuid
33
4- from .calls import make_request , InvalidUrlSpec
4+ from .calls import make_request
55from .data import Method , TokenType , BugoutUser , BugoutToken , BugoutUserTokens
6+ from .exceptions import InvalidUrlSpec , TokenInvalidParameters
67from .settings import REQUESTS_TIMEOUT
78
89
9- class TokenInvalidParameters (ValueError ):
10- """
11- Raised when operations are applied to a token but invalid parameters are provided with which to
12- specify that token.
13- """
14-
15-
1610class User :
1711 """
1812 Represent a user from Bugout.
@@ -37,13 +31,15 @@ def create_user(
3731 username : str ,
3832 email : str ,
3933 password : str ,
34+ application_id : Optional [Union [str , uuid .UUID ]] = None ,
4035 ** kwargs : Dict [str , Any ],
4136 ) -> BugoutUser :
4237 create_user_path = "user"
4338 data = {
4439 "username" : username ,
4540 "email" : email ,
4641 "password" : password ,
42+ "application_id" : application_id ,
4743 }
4844 headers = {}
4945 if "headers" in kwargs .keys ():
@@ -160,11 +156,17 @@ def delete_user(
160156 return BugoutUser (** result )
161157
162158 # Token module
163- def create_token (self , username : str , password : str ) -> BugoutToken :
159+ def create_token (
160+ self ,
161+ username : str ,
162+ password : str ,
163+ application_id : Optional [Union [str , uuid .UUID ]] = None ,
164+ ) -> BugoutToken :
164165 create_token_path = "token"
165166 data = {
166167 "username" : username ,
167168 "password" : password ,
169+ "application_id" : application_id ,
168170 }
169171 result = self ._call (method = Method .post , path = create_token_path , data = data )
170172 return BugoutToken (** result )
0 commit comments