[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 # Empty service conf
touch /etc/yunohost/services.yml touch /etc/yunohost/services.yml
# Make sure the subscriptions file exists
touch /etc/yunohost/subscriptions.yml
mkdir -p /var/cache/yunohost/repo mkdir -p /var/cache/yunohost/repo
chown root:root /var/cache/yunohost chown root:root /var/cache/yunohost
chmod 700 /var/cache/yunohost chmod 700 /var/cache/yunohost

View file

@ -25,10 +25,15 @@ import random
import string import string
import subprocess import subprocess
import copy import copy
import yaml
from moulinette import Moulinette, m18n from moulinette import Moulinette, m18n
from moulinette.utils.log import getActionLogger from moulinette.utils.log import getActionLogger
from moulinette.utils.process import check_output 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.utils.error import YunohostError, YunohostValidationError
from yunohost.service import service_status from yunohost.service import service_status
@ -1442,6 +1447,66 @@ def user_ssh_remove_key(username, key):
# End SSH subcategory # 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): def _hash_user_password(password):
""" """