AccSv¶
-
class
clink.service.
AccSv
(authdb_sv, auth_conf)[source]¶ Manage accounts and related concepts
Parameters: -
mk_acc
(name, password, email, phone=None)[source]¶ Create new account
Parameters: Return type: Raises:
-
mk_reg_code
(name, password, email, phone=None)[source]¶ Create a registration code. Use returned code with cf_reg_code() to create account
Parameters: Return type: Raises: - TypeError –
- ExistError –
-
cf_reg_code
(code)[source]¶ Use registration code to create account
Parameters: code (str) –
Return type: Raises:
-
find_id
(id)[source]¶ Find account by identity
Parameters: id (bson.objectid.ObjectId) – Return type: dict
-
find_name
(name)[source]¶ Find account by name
Parameters: name (str) – Return type: dict Raises: TypeError –
-
find_email
(email)[source]¶ Find account by email
Parameters: email (str) – Return type: dict Raises: TypeError –
-
find_phone
(phone)[source]¶ Find account by phone number
Parameters: phone (str) – Return type: dict Raises: TypeError –
-
rm_acc
(id)[source]¶ Remove account by identity
Parameters: id (bson.objectid.ObjectId) –
-
ch_pwd
(id, new_pwd)[source]¶ Change password of account by identity
Parameters: - id (bson.objectid.ObjectId) –
- new_pwd (str) –
Raises:
-
mk_rpwd_code
(email)[source]¶ Create reset password code from email. Use returned code with cf_rpwd_code() to reset to new password
Parameters: email (str) – Return type: ConfirmCodeSpec Raises: TypeError –
-
add_to_group
(acc_id, group_name)[source]¶ Put an account into group
Parameters: - acc_id (bson.objectid.ObjectId) –
- group_name (str) –
-
del_fm_group
(acc_id, group_name)[source]¶ Remove an account from group
Parameters: - acc_id (bson.objectid.ObjectId) –
- group_name (str) –
-
Example¶
from clink.service import AccSv, AuthDbSv, MongoSv, MongoConf
from clink import AuthConf
mongo_conf = MongoConf('mongodb://localhost', 'book-db')
mongo_sv = MongoSv(mongo_conf)
authdb_sv = AuthDbSv(mongo_sv)
root_pwd = 'root-pwd'
root_email = 'root@mail.com'
root_email_pwd = 'root-email-pwd'
root_email_server = 'smtp.email.com:587'
auth_conf = AuthConf(
root_pwd, root_email, root_email_pwd, root_email_server,
'jwt-key'
)
acc_sv = AccSv(authdb_sv, auth_conf)
root_acc = acc_sv.find_pwd('root', root_pwd)
print(root_acc['name'], root_acc['email'], root_acc['last_action'])
Testing¶
$ python acc_sv.py
root root@mail.com REGISTERED