mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 01:41:05 -05:00
Getting permission types configured.
Signed-off-by: Cliff Hill <Clifford.hill@gsa.gov>
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from app import db
|
||||
from app.models import INVITE_EXPIRED, INVITE_PENDING, InvitedUser
|
||||
from app.enums import InvitedUserStatusType
|
||||
from app.models import InvitedUser
|
||||
|
||||
|
||||
def save_invited_user(invited_user):
|
||||
@@ -20,7 +21,7 @@ def get_expired_invite_by_service_and_id(service_id, invited_user_id):
|
||||
return InvitedUser.query.filter(
|
||||
InvitedUser.service_id == service_id,
|
||||
InvitedUser.id == invited_user_id,
|
||||
InvitedUser.status == INVITE_EXPIRED,
|
||||
InvitedUser.status == InvitedUserStatusType.EXPIRED,
|
||||
).one()
|
||||
|
||||
|
||||
@@ -41,9 +42,9 @@ def expire_invitations_created_more_than_two_days_ago():
|
||||
db.session.query(InvitedUser)
|
||||
.filter(
|
||||
InvitedUser.created_at <= datetime.utcnow() - timedelta(days=2),
|
||||
InvitedUser.status.in_((INVITE_PENDING,)),
|
||||
InvitedUser.status.in_((InvitedUserStatusType.PENDING,)),
|
||||
)
|
||||
.update({InvitedUser.status: INVITE_EXPIRED})
|
||||
.update({InvitedUser.status: InvitedUserStatusType.EXPIRED})
|
||||
)
|
||||
db.session.commit()
|
||||
return expired
|
||||
|
||||
@@ -1,26 +1,7 @@
|
||||
from app import db
|
||||
from app.dao import DAOClass
|
||||
from app.models import (
|
||||
MANAGE_API_KEYS,
|
||||
MANAGE_SETTINGS,
|
||||
MANAGE_TEMPLATES,
|
||||
MANAGE_USERS,
|
||||
SEND_EMAILS,
|
||||
SEND_TEXTS,
|
||||
VIEW_ACTIVITY,
|
||||
Permission,
|
||||
)
|
||||
|
||||
# Default permissions for a service
|
||||
default_service_permissions = [
|
||||
MANAGE_USERS,
|
||||
MANAGE_TEMPLATES,
|
||||
MANAGE_SETTINGS,
|
||||
SEND_TEXTS,
|
||||
SEND_EMAILS,
|
||||
MANAGE_API_KEYS,
|
||||
VIEW_ACTIVITY,
|
||||
]
|
||||
from app.enums import PermissionType
|
||||
from app.models import Permission
|
||||
|
||||
|
||||
class PermissionDAO(DAOClass):
|
||||
@@ -28,7 +9,7 @@ class PermissionDAO(DAOClass):
|
||||
model = Permission
|
||||
|
||||
def add_default_service_permissions_for_user(self, user, service):
|
||||
for name in default_service_permissions:
|
||||
for name in PermissionType.defaults:
|
||||
permission = Permission(permission=name, user=user, service=service)
|
||||
self.create_instance(permission, _commit=False)
|
||||
|
||||
|
||||
@@ -43,12 +43,6 @@ from app.utils import (
|
||||
get_midnight_in_utc,
|
||||
)
|
||||
|
||||
DEFAULT_SERVICE_PERMISSIONS = [
|
||||
ServicePermissionType.SMS,
|
||||
ServicePermissionType.EMAIL,
|
||||
ServicePermissionType.INTERNATIONAL_SMS,
|
||||
]
|
||||
|
||||
|
||||
def dao_fetch_all_services(only_active=False):
|
||||
query = Service.query.order_by(asc(Service.created_at)).options(joinedload("users"))
|
||||
@@ -278,7 +272,7 @@ def dao_create_service(
|
||||
raise ValueError("Can't create a service without a user")
|
||||
|
||||
if service_permissions is None:
|
||||
service_permissions = DEFAULT_SERVICE_PERMISSIONS
|
||||
service_permissions = ServicePermissionType.defaults
|
||||
|
||||
organization = dao_get_organization_by_email_address(user.email_address)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user