summaryrefslogtreecommitdiff
path: root/animism-align/cli
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/cli')
-rw-r--r--animism-align/cli/app/server/web.py2
-rw-r--r--animism-align/cli/commands/admin/changepassword.py23
2 files changed, 25 insertions, 0 deletions
diff --git a/animism-align/cli/app/server/web.py b/animism-align/cli/app/server/web.py
index 58754a2..f9714cb 100644
--- a/animism-align/cli/app/server/web.py
+++ b/animism-align/cli/app/server/web.py
@@ -23,6 +23,7 @@ from app.controllers.upload_controller import UploadView
from app.controllers.media_controller import MediaView
from app.controllers.episode_controller import EpisodeView
from app.controllers.venue_controller import VenueView
+from app.controllers.user_controller import UserView
def create_app(script_info=None):
"""
@@ -47,6 +48,7 @@ def create_app(script_info=None):
MediaView.register(app, route_prefix='/api/v1/')
EpisodeView.register(app, route_prefix='/api/v1/')
VenueView.register(app, route_prefix='/api/v1/')
+ UserView.register(app, route_prefix='/api/v1/')
index_html = 'index.html'
diff --git a/animism-align/cli/commands/admin/changepassword.py b/animism-align/cli/commands/admin/changepassword.py
new file mode 100644
index 0000000..fd96aa0
--- /dev/null
+++ b/animism-align/cli/commands/admin/changepassword.py
@@ -0,0 +1,23 @@
+import click
+
+@click.command('changepassword')
+@click.option('-u', '--username', 'opt_username', required=True,
+ help='Username to change')
+@click.pass_context
+def cli(ctx, opt_username):
+ from getpass import getpass
+ from app.utils.auth_utils import encrypt_password
+ from app.sql.common import db, Session, User
+
+ session = Session()
+ user = session.query(User).filter(User.username == opt_username).first()
+ if not user:
+ session.close()
+ raise ValueError("User does not exists")
+
+ password = encrypt_password(getpass())
+
+ user.password = password
+ session.add(user)
+ session.commit()
+ session.close()