[user_registration] add first functions

This commit is contained in:
tituspijean 2023-06-29 21:33:49 +00:00
parent e4f83f3413
commit b7aefe5167
No known key found for this signature in database
GPG key ID: EF3B0D7CC0A94720
2 changed files with 68 additions and 0 deletions

View file

@ -52,6 +52,9 @@ do_init_regen() {
# Empty service conf
touch /etc/yunohost/services.yml
# Make sure the subscriptions file exists
touch /etc/yunohost/subscriptions.yml
mkdir -p /var/cache/yunohost/repo
chown root:root /var/cache/yunohost
chmod 700 /var/cache/yunohost

View file

@ -25,10 +25,15 @@ import random
import string
import subprocess
import copy
import yaml
from moulinette import Moulinette, m18n
from moulinette.utils.log import getActionLogger
from moulinette.utils.process import check_output
from moulinette.utils.filesystem import (
read_yaml,
write_to_yaml,
)
from yunohost.utils.error import YunohostError, YunohostValidationError
from yunohost.service import service_status
@ -1442,6 +1447,66 @@ def user_ssh_remove_key(username, key):
# End SSH subcategory
#
#
# Subcription subcategory
#
REGISTRATIONS = "/etc/yunohost/registrations.yml"
def user_subscription_list():
"""
List pending subscriptions
"""
return read_yaml(REGISTRATIONS).get("subscriptions", None)
#TODO: user_subscription_accept(username)
def user_subscription_deny(username):
"""
Deny a pending subscription
"""
registrations = read_yaml(REGISTRATIONS)
for r in registrations["subscriptions"]:
if r["username"] == username:
registrations.remove(r)
write_to_yaml(registrations)
return True
def user_subscription_invite_list():
"""
List current invitations
"""
return read_yaml(REGISTRATIONS).get("invitations", None)
#TODO: user_subscription_invite_create(email, groups, quota, nb_account)
def user_subscription_invite_delete(code):
"""
Delete an invitation
"""
registrations = read_yaml(REGISTRATIONS)
for r in registrations["invitations"]:
if r["code"] == code:
registrations.remove(r)
write_to_yaml(registrations)
return True
#TODO: user_subscription_captcha(code)
#TODO: user_subscription_register(username, code, firstname, lastname, password)
#TODO: user_subscription_resend(code)
#TODO: user_subscription_validate(username)
#
# End subcription subcategory
#
def _hash_user_password(password):
"""