Reworking the user model to include admin status.

This commit is contained in:
Dan 2021-02-26 14:59:58 -05:00
parent 7fd70aceb9
commit a68594512b
3 changed files with 6 additions and 8 deletions

View File

@ -4,21 +4,18 @@ import io
import json
import logging
import os
from datetime import datetime
from functools import wraps
import connexion
import numpy as np
import sentry_sdk
from babel.dates import format_datetime, get_timezone
from flask import render_template, request, redirect, url_for, flash, abort, Response, send_file, session
from flask import redirect, flash, abort, Response
from flask_assets import Environment
from flask_cors import CORS
from flask_executor import Executor
from flask_mail import Mail
from flask_marshmallow import Marshmallow
from flask_migrate import Migrate
from flask_paginate import Pagination, get_page_parameter
from flask_sqlalchemy import SQLAlchemy
from sentry_sdk.integrations.flask import FlaskIntegration
from webassets import Bundle

View File

@ -2,11 +2,12 @@ from communicator import ma
class User:
def __init__(self, uid, display_name):
def __init__(self, uid, display_name, is_admin):
self.uid = uid
self.display_name = display_name
self.is_admin = is_admin
class UserSchema(ma.Schema):
class Meta:
fields = ["uid", "display_name"]
fields = ["uid", "display_name", "is_admin"]

View File

@ -35,9 +35,9 @@ class UserService(object):
uid = request.headers.get("X-Remote-Uid")
if not uid:
raise CommError(1100, "invalid_sso_credentials", r"'Uid' nor 'X-Remote-Uid' were present in the headers: %s"% str(request.headers))
return User(uid, cn)
return User(uid, cn, self.is_valid_user())
else:
return User('testUser', "Test User")
return User('testUser', "Test User", True)
def is_valid_user(self):
user = self.get_user_info()