Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
9ee6d64
Add example test for cli
varmar05 Jul 3, 2025
cecb04d
typo
harminius Jul 21, 2025
b591601
simplify test with sso user
harminius Jul 21, 2025
af7d422
Add normalize input
harminius Jul 24, 2025
19bb6ca
test_create_user
harminius Jul 24, 2025
82bbe17
unify create project
harminius Jul 24, 2025
1fdac01
test_download_project
harminius Jul 24, 2025
692eeec
test_remove_project
harminius Jul 24, 2025
ff5cadd
Address review
harminius Jul 28, 2025
b6ea1da
Make internal commands function accesible
harminius Jul 28, 2025
626e6cb
test statistics, test check email
harminius Jul 28, 2025
64cc502
Fix assert test_middleware
harminius Jul 28, 2025
106950b
test_check_server and test_check_permission
harminius Jul 30, 2025
b55bc68
imports
harminius Jul 30, 2025
17786e4
Review & test init-db
harminius Jul 30, 2025
18f70a5
Fix permissions & test init command
harminius Jul 30, 2025
764fc75
Double check permissions cleanup
harminius Jul 30, 2025
5cae967
mock sso user to allow login
harminius Jul 30, 2025
2058154
test_check_celery
harminius Jul 30, 2025
3736951
normalize email in init cmd
harminius Jul 31, 2025
c815094
Merge pull request #474 from MerginMaps/test_cli_commands
MarcelGeo Aug 4, 2025
efe7a80
Adjust avatar font size globally
harminius Aug 4, 2025
ff740b8
Fix avatar font-size - normal, large, xlarge
harminius Aug 12, 2025
a8f5535
add comment about custom values
harminius Aug 13, 2025
6179b1f
Merge pull request #486 from MerginMaps/avatar_font_size
MarcelGeo Aug 13, 2025
8d337e1
Merge pull request #492 from MerginMaps/master
MarcelGeo Aug 13, 2025
5384ad6
bump version to 2025.6.2
harminius Aug 13, 2025
aa88f8e
Merge pull request #493 from MerginMaps/bump_server_version_2025.6.2
MarcelGeo Aug 13, 2025
8694f1b
Improve download endpoint
harminius Aug 15, 2025
fe217cb
cleanup comments
harminius Aug 15, 2025
4c2dd77
fix datetime usage after import change
harminius Aug 15, 2025
03f62a3
improve tests readability
harminius Aug 15, 2025
1642bfc
Merge pull request #497 from MerginMaps/fix_download_project_archive
MarcelGeo Aug 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions server/mergin/auth/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@
#
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial

import sys
import click
from flask import Flask
from sqlalchemy import or_, func

from ..app import db
from .models import User, UserProfile
from ..commands import normalize_input


def add_commands(app: Flask):
Expand All @@ -17,24 +19,25 @@ def user():
pass

@user.command()
@click.argument("username")
@click.argument("username", callback=normalize_input())
@click.argument("password")
@click.option("--is-admin", is_flag=True)
@click.option("--email", required=True)
@click.option("--email", required=True, callback=normalize_input())
def create(username, password, is_admin, email): # pylint: disable=W0612
"""Create user account"""
user = User.query.filter(
or_(
func.lower(User.username) == func.lower(username),
func.lower(User.email) == func.lower(email),
func.lower(User.username) == username,
func.lower(User.email) == email,
)
).first()
).count()
if user:
print("ERROR: User already exists!\n")
return
click.secho("ERROR: User already exists", fg="red", err=True)
sys.exit(1)

user = User(username=username, passwd=password, is_admin=is_admin, email=email)
user.profile = UserProfile()
user.active = True
db.session.add(user)
db.session.commit()
click.secho("User created", fg="green")
Loading
Loading