diff --git a/aurweb/auth/__init__.py b/aurweb/auth/__init__.py
index 83dd424c..e895dcdb 100644
--- a/aurweb/auth/__init__.py
+++ b/aurweb/auth/__init__.py
@@ -71,7 +71,7 @@ class AnonymousUser:
return False
@staticmethod
- def is_trusted_user():
+ def is_package_maintainer():
return False
@staticmethod
@@ -205,7 +205,7 @@ def account_type_required(one_of: set):
@router.get('/some_route')
@auth_required(True)
- @account_type_required({"Trusted User", "Trusted User & Developer"})
+ @account_type_required({"Package Maintainer", "Package Maintainer & Developer"})
async def some_route(request: fastapi.Request):
return Response()
diff --git a/aurweb/auth/creds.py b/aurweb/auth/creds.py
index 17d02a5b..fe739811 100644
--- a/aurweb/auth/creds.py
+++ b/aurweb/auth/creds.py
@@ -1,7 +1,7 @@
from aurweb.models.account_type import (
DEVELOPER_ID,
- TRUSTED_USER_AND_DEV_ID,
- TRUSTED_USER_ID,
+ PACKAGE_MAINTAINER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
USER_ID,
)
from aurweb.models.user import User
@@ -35,42 +35,44 @@ TU_LIST_VOTES = 20
TU_VOTE = 21
PKGBASE_MERGE = 29
-user_developer_or_trusted_user = set(
- [USER_ID, TRUSTED_USER_ID, DEVELOPER_ID, TRUSTED_USER_AND_DEV_ID]
+user_developer_or_package_maintainer = set(
+ [USER_ID, PACKAGE_MAINTAINER_ID, DEVELOPER_ID, PACKAGE_MAINTAINER_AND_DEV_ID]
)
-trusted_user_or_dev = set([TRUSTED_USER_ID, DEVELOPER_ID, TRUSTED_USER_AND_DEV_ID])
-developer = set([DEVELOPER_ID, TRUSTED_USER_AND_DEV_ID])
-trusted_user = set([TRUSTED_USER_ID, TRUSTED_USER_AND_DEV_ID])
+package_maintainer_or_dev = set(
+ [PACKAGE_MAINTAINER_ID, DEVELOPER_ID, PACKAGE_MAINTAINER_AND_DEV_ID]
+)
+developer = set([DEVELOPER_ID, PACKAGE_MAINTAINER_AND_DEV_ID])
+package_maintainer = set([PACKAGE_MAINTAINER_ID, PACKAGE_MAINTAINER_AND_DEV_ID])
cred_filters = {
- PKGBASE_FLAG: user_developer_or_trusted_user,
- PKGBASE_NOTIFY: user_developer_or_trusted_user,
- PKGBASE_VOTE: user_developer_or_trusted_user,
- PKGREQ_FILE: user_developer_or_trusted_user,
- ACCOUNT_CHANGE_TYPE: trusted_user_or_dev,
- ACCOUNT_EDIT: trusted_user_or_dev,
- ACCOUNT_LAST_LOGIN: trusted_user_or_dev,
- ACCOUNT_LIST_COMMENTS: trusted_user_or_dev,
- ACCOUNT_SEARCH: trusted_user_or_dev,
- COMMENT_DELETE: trusted_user_or_dev,
- COMMENT_UNDELETE: trusted_user_or_dev,
- COMMENT_VIEW_DELETED: trusted_user_or_dev,
- COMMENT_EDIT: trusted_user_or_dev,
- COMMENT_PIN: trusted_user_or_dev,
- PKGBASE_ADOPT: trusted_user_or_dev,
- PKGBASE_SET_KEYWORDS: trusted_user_or_dev,
- PKGBASE_DELETE: trusted_user_or_dev,
- PKGBASE_EDIT_COMAINTAINERS: trusted_user_or_dev,
- PKGBASE_DISOWN: trusted_user_or_dev,
- PKGBASE_LIST_VOTERS: trusted_user_or_dev,
- PKGBASE_UNFLAG: trusted_user_or_dev,
- PKGREQ_CLOSE: trusted_user_or_dev,
- PKGREQ_LIST: trusted_user_or_dev,
- TU_ADD_VOTE: trusted_user,
- TU_LIST_VOTES: trusted_user_or_dev,
- TU_VOTE: trusted_user,
+ PKGBASE_FLAG: user_developer_or_package_maintainer,
+ PKGBASE_NOTIFY: user_developer_or_package_maintainer,
+ PKGBASE_VOTE: user_developer_or_package_maintainer,
+ PKGREQ_FILE: user_developer_or_package_maintainer,
+ ACCOUNT_CHANGE_TYPE: package_maintainer_or_dev,
+ ACCOUNT_EDIT: package_maintainer_or_dev,
+ ACCOUNT_LAST_LOGIN: package_maintainer_or_dev,
+ ACCOUNT_LIST_COMMENTS: package_maintainer_or_dev,
+ ACCOUNT_SEARCH: package_maintainer_or_dev,
+ COMMENT_DELETE: package_maintainer_or_dev,
+ COMMENT_UNDELETE: package_maintainer_or_dev,
+ COMMENT_VIEW_DELETED: package_maintainer_or_dev,
+ COMMENT_EDIT: package_maintainer_or_dev,
+ COMMENT_PIN: package_maintainer_or_dev,
+ PKGBASE_ADOPT: package_maintainer_or_dev,
+ PKGBASE_SET_KEYWORDS: package_maintainer_or_dev,
+ PKGBASE_DELETE: package_maintainer_or_dev,
+ PKGBASE_EDIT_COMAINTAINERS: package_maintainer_or_dev,
+ PKGBASE_DISOWN: package_maintainer_or_dev,
+ PKGBASE_LIST_VOTERS: package_maintainer_or_dev,
+ PKGBASE_UNFLAG: package_maintainer_or_dev,
+ PKGREQ_CLOSE: package_maintainer_or_dev,
+ PKGREQ_LIST: package_maintainer_or_dev,
+ TU_ADD_VOTE: package_maintainer,
+ TU_LIST_VOTES: package_maintainer_or_dev,
+ TU_VOTE: package_maintainer,
ACCOUNT_EDIT_DEV: developer,
- PKGBASE_MERGE: trusted_user_or_dev,
+ PKGBASE_MERGE: package_maintainer_or_dev,
}
diff --git a/aurweb/initdb.py b/aurweb/initdb.py
index ee59212c..7181ea3e 100644
--- a/aurweb/initdb.py
+++ b/aurweb/initdb.py
@@ -13,9 +13,9 @@ def feed_initial_data(conn):
aurweb.schema.AccountTypes.insert(),
[
{"ID": 1, "AccountType": "User"},
- {"ID": 2, "AccountType": "Trusted User"},
+ {"ID": 2, "AccountType": "Package Maintainer"},
{"ID": 3, "AccountType": "Developer"},
- {"ID": 4, "AccountType": "Trusted User & Developer"},
+ {"ID": 4, "AccountType": "Package Maintainer & Developer"},
],
)
conn.execute(
diff --git a/aurweb/models/account_type.py b/aurweb/models/account_type.py
index 315800a7..70bfc2c5 100644
--- a/aurweb/models/account_type.py
+++ b/aurweb/models/account_type.py
@@ -2,21 +2,21 @@ from aurweb import schema
from aurweb.models.declarative import Base
USER = "User"
-TRUSTED_USER = "Trusted User"
+PACKAGE_MAINTAINER = "Package Maintainer"
DEVELOPER = "Developer"
-TRUSTED_USER_AND_DEV = "Trusted User & Developer"
+PACKAGE_MAINTAINER_AND_DEV = "Package Maintainer & Developer"
USER_ID = 1
-TRUSTED_USER_ID = 2
+PACKAGE_MAINTAINER_ID = 2
DEVELOPER_ID = 3
-TRUSTED_USER_AND_DEV_ID = 4
+PACKAGE_MAINTAINER_AND_DEV_ID = 4
# Map string constants to integer constants.
ACCOUNT_TYPE_ID = {
USER: USER_ID,
- TRUSTED_USER: TRUSTED_USER_ID,
+ PACKAGE_MAINTAINER: PACKAGE_MAINTAINER_ID,
DEVELOPER: DEVELOPER_ID,
- TRUSTED_USER_AND_DEV: TRUSTED_USER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_AND_DEV: PACKAGE_MAINTAINER_AND_DEV_ID,
}
# Reversed ACCOUNT_TYPE_ID mapping.
diff --git a/aurweb/models/user.py b/aurweb/models/user.py
index 8612c259..f90d19eb 100644
--- a/aurweb/models/user.py
+++ b/aurweb/models/user.py
@@ -157,25 +157,25 @@ class User(Base):
with db.begin():
db.delete(self.session)
- def is_trusted_user(self):
+ def is_package_maintainer(self):
return self.AccountType.ID in {
- aurweb.models.account_type.TRUSTED_USER_ID,
- aurweb.models.account_type.TRUSTED_USER_AND_DEV_ID,
+ aurweb.models.account_type.PACKAGE_MAINTAINER_ID,
+ aurweb.models.account_type.PACKAGE_MAINTAINER_AND_DEV_ID,
}
def is_developer(self):
return self.AccountType.ID in {
aurweb.models.account_type.DEVELOPER_ID,
- aurweb.models.account_type.TRUSTED_USER_AND_DEV_ID,
+ aurweb.models.account_type.PACKAGE_MAINTAINER_AND_DEV_ID,
}
def is_elevated(self):
"""A User is 'elevated' when they have either a
Trusted User or Developer AccountType."""
return self.AccountType.ID in {
- aurweb.models.account_type.TRUSTED_USER_ID,
+ aurweb.models.account_type.PACKAGE_MAINTAINER_ID,
aurweb.models.account_type.DEVELOPER_ID,
- aurweb.models.account_type.TRUSTED_USER_AND_DEV_ID,
+ aurweb.models.account_type.PACKAGE_MAINTAINER_AND_DEV_ID,
}
def can_edit_user(self, target: "User") -> bool:
diff --git a/aurweb/pkgbase/actions.py b/aurweb/pkgbase/actions.py
index 00efc1ff..f3688f54 100644
--- a/aurweb/pkgbase/actions.py
+++ b/aurweb/pkgbase/actions.py
@@ -187,7 +187,7 @@ def pkgbase_merge_instance(
# Log this out for accountability purposes.
logger.info(
- f"Trusted User '{request.user.Username}' merged "
+ f"Package Maintainer '{request.user.Username}' merged "
f"'{pkgbasename}' into '{target.Name}'."
)
diff --git a/aurweb/routers/__init__.py b/aurweb/routers/__init__.py
index f77bce4f..ccd70662 100644
--- a/aurweb/routers/__init__.py
+++ b/aurweb/routers/__init__.py
@@ -7,13 +7,13 @@ from . import (
accounts,
auth,
html,
+ package_maintainer,
packages,
pkgbase,
requests,
rpc,
rss,
sso,
- trusted_user,
)
"""
@@ -28,7 +28,7 @@ APP_ROUTES = [
packages,
pkgbase,
requests,
- trusted_user,
+ package_maintainer,
rss,
rpc,
sso,
diff --git a/aurweb/routers/accounts.py b/aurweb/routers/accounts.py
index 1c81ec1d..a2d167bc 100644
--- a/aurweb/routers/accounts.py
+++ b/aurweb/routers/accounts.py
@@ -184,9 +184,9 @@ def make_account_form_context(
lambda e: request.user.AccountTypeID >= e[0],
[
(at.USER_ID, f"Normal {at.USER}"),
- (at.TRUSTED_USER_ID, at.TRUSTED_USER),
+ (at.PACKAGE_MAINTAINER_ID, at.PACKAGE_MAINTAINER),
(at.DEVELOPER_ID, at.DEVELOPER),
- (at.TRUSTED_USER_AND_DEV_ID, at.TRUSTED_USER_AND_DEV),
+ (at.PACKAGE_MAINTAINER_AND_DEV_ID, at.PACKAGE_MAINTAINER_AND_DEV),
],
)
)
@@ -520,7 +520,9 @@ async def account_comments(request: Request, username: str):
@router.get("/accounts")
@requires_auth
-@account_type_required({at.TRUSTED_USER, at.DEVELOPER, at.TRUSTED_USER_AND_DEV})
+@account_type_required(
+ {at.PACKAGE_MAINTAINER, at.DEVELOPER, at.PACKAGE_MAINTAINER_AND_DEV}
+)
async def accounts(request: Request):
context = make_context(request, "Accounts")
return render_template(request, "account/search.html", context)
@@ -529,7 +531,9 @@ async def accounts(request: Request):
@router.post("/accounts")
@handle_form_exceptions
@requires_auth
-@account_type_required({at.TRUSTED_USER, at.DEVELOPER, at.TRUSTED_USER_AND_DEV})
+@account_type_required(
+ {at.PACKAGE_MAINTAINER, at.DEVELOPER, at.PACKAGE_MAINTAINER_AND_DEV}
+)
async def accounts_post(
request: Request,
O: int = Form(default=0), # Offset
@@ -564,9 +568,9 @@ async def accounts_post(
# Convert parameter T to an AccountType ID.
account_types = {
"u": at.USER_ID,
- "t": at.TRUSTED_USER_ID,
+ "t": at.PACKAGE_MAINTAINER_ID,
"d": at.DEVELOPER_ID,
- "td": at.TRUSTED_USER_AND_DEV_ID,
+ "td": at.PACKAGE_MAINTAINER_AND_DEV_ID,
}
account_type_id = account_types.get(T, None)
diff --git a/aurweb/routers/trusted_user.py b/aurweb/routers/package_maintainer.py
similarity index 92%
rename from aurweb/routers/trusted_user.py
rename to aurweb/routers/package_maintainer.py
index 4248347d..582ab16b 100644
--- a/aurweb/routers/trusted_user.py
+++ b/aurweb/routers/package_maintainer.py
@@ -11,7 +11,10 @@ from aurweb import aur_logging, db, l10n, models, time
from aurweb.auth import creds, requires_auth
from aurweb.exceptions import handle_form_exceptions
from aurweb.models import User
-from aurweb.models.account_type import TRUSTED_USER_AND_DEV_ID, TRUSTED_USER_ID
+from aurweb.models.account_type import (
+ PACKAGE_MAINTAINER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
+)
from aurweb.templates import make_context, make_variable_context, render_template
router = APIRouter()
@@ -33,25 +36,25 @@ ADDVOTE_SPECIFICS = {
}
-def populate_trusted_user_counts(context: dict[str, Any]) -> None:
+def populate_package_maintainer_counts(context: dict[str, Any]) -> None:
tu_query = db.query(User).filter(
or_(
- User.AccountTypeID == TRUSTED_USER_ID,
- User.AccountTypeID == TRUSTED_USER_AND_DEV_ID,
+ User.AccountTypeID == PACKAGE_MAINTAINER_ID,
+ User.AccountTypeID == PACKAGE_MAINTAINER_AND_DEV_ID,
)
)
- context["trusted_user_count"] = tu_query.count()
+ context["package_maintainer_count"] = tu_query.count()
# In case any records have a None InactivityTS.
active_tu_query = tu_query.filter(
or_(User.InactivityTS.is_(None), User.InactivityTS == 0)
)
- context["active_trusted_user_count"] = active_tu_query.count()
+ context["active_package_maintainer_count"] = active_tu_query.count()
@router.get("/tu")
@requires_auth
-async def trusted_user(
+async def package_maintainer(
request: Request,
coff: int = 0, # current offset
cby: str = "desc", # current by
@@ -63,7 +66,7 @@ async def trusted_user(
if not request.user.has_credential(creds.TU_LIST_VOTES):
return RedirectResponse("/", status_code=HTTPStatus.SEE_OTHER)
- context = make_context(request, "Trusted User")
+ context = make_context(request, "Package Maintainer")
current_by, past_by = cby, pby
current_off, past_off = coff, poff
@@ -129,7 +132,7 @@ async def trusted_user(
context["current_by_next"] = "asc" if current_by == "desc" else "desc"
context["past_by_next"] = "asc" if past_by == "desc" else "desc"
- populate_trusted_user_counts(context)
+ populate_package_maintainer_counts(context)
context["q"] = {
"coff": current_off,
@@ -178,11 +181,11 @@ def render_proposal(
@router.get("/tu/{proposal}")
@requires_auth
-async def trusted_user_proposal(request: Request, proposal: int):
+async def package_maintainer_proposal(request: Request, proposal: int):
if not request.user.has_credential(creds.TU_LIST_VOTES):
return RedirectResponse("/tu", status_code=HTTPStatus.SEE_OTHER)
- context = await make_variable_context(request, "Trusted User")
+ context = await make_variable_context(request, "Package Maintainer")
proposal = int(proposal)
voteinfo = (
@@ -221,13 +224,13 @@ async def trusted_user_proposal(request: Request, proposal: int):
@router.post("/tu/{proposal}")
@handle_form_exceptions
@requires_auth
-async def trusted_user_proposal_post(
+async def package_maintainer_proposal_post(
request: Request, proposal: int, decision: str = Form(...)
):
if not request.user.has_credential(creds.TU_LIST_VOTES):
return RedirectResponse("/tu", status_code=HTTPStatus.SEE_OTHER)
- context = await make_variable_context(request, "Trusted User")
+ context = await make_variable_context(request, "Package Maintainer")
proposal = int(proposal) # Make sure it's an int.
voteinfo = (
@@ -285,7 +288,7 @@ async def trusted_user_proposal_post(
@router.get("/addvote")
@requires_auth
-async def trusted_user_addvote(
+async def package_maintainer_addvote(
request: Request, user: str = str(), type: str = "add_tu", agenda: str = str()
):
if not request.user.has_credential(creds.TU_ADD_VOTE):
@@ -308,7 +311,7 @@ async def trusted_user_addvote(
@router.post("/addvote")
@handle_form_exceptions
@requires_auth
-async def trusted_user_addvote_post(
+async def package_maintainer_addvote_post(
request: Request,
user: str = Form(default=str()),
type: str = Form(default=str()),
@@ -364,7 +367,7 @@ async def trusted_user_addvote_post(
timestamp = time.utcnow()
# Active TU types we filter for.
- types = {TRUSTED_USER_ID, TRUSTED_USER_AND_DEV_ID}
+ types = {PACKAGE_MAINTAINER_ID, PACKAGE_MAINTAINER_AND_DEV_ID}
# Create a new TUVoteInfo (proposal)!
with db.begin():
diff --git a/aurweb/statistics.py b/aurweb/statistics.py
index f301b59c..00a5c151 100644
--- a/aurweb/statistics.py
+++ b/aurweb/statistics.py
@@ -3,7 +3,11 @@ from sqlalchemy import func
from aurweb import config, db, time
from aurweb.cache import db_count_cache, db_query_cache
from aurweb.models import PackageBase, PackageRequest, RequestType, User
-from aurweb.models.account_type import TRUSTED_USER_AND_DEV_ID, TRUSTED_USER_ID, USER_ID
+from aurweb.models.account_type import (
+ PACKAGE_MAINTAINER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
+ USER_ID,
+)
from aurweb.models.package_request import (
ACCEPTED_ID,
CLOSED_ID,
@@ -22,7 +26,7 @@ HOMEPAGE_COUNTERS = [
"year_old_updated",
"never_updated",
"user_count",
- "trusted_user_count",
+ "package_maintainer_count",
]
REQUEST_COUNTERS = [
"total_requests",
@@ -32,7 +36,7 @@ REQUEST_COUNTERS = [
"rejected_requests",
]
PROMETHEUS_USER_COUNTERS = [
- ("trusted_user_count", "tu"),
+ ("package_maintainer_count", "package_maintainer"),
("regular_user_count", "user"),
]
PROMETHEUS_PACKAGE_COUNTERS = [
@@ -92,12 +96,12 @@ class Statistics:
# Users
case "user_count":
query = self.user_query
- case "trusted_user_count":
+ case "package_maintainer_count":
query = self.user_query.filter(
User.AccountTypeID.in_(
(
- TRUSTED_USER_ID,
- TRUSTED_USER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
+ PACKAGE_MAINTAINER_AND_DEV_ID,
)
)
)
diff --git a/aurweb/users/validate.py b/aurweb/users/validate.py
index 8fc68864..5f1fcd43 100644
--- a/aurweb/users/validate.py
+++ b/aurweb/users/validate.py
@@ -220,7 +220,7 @@ def invalid_account_type(
raise ValidationError([error])
logger.debug(
- f"Trusted User '{request.user.Username}' has "
+ f"Package Maintainer '{request.user.Username}' has "
f"modified '{user.Username}' account's type to"
f" {name}."
)
diff --git a/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py b/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py
new file mode 100644
index 00000000..2a35b6be
--- /dev/null
+++ b/migrations/versions/6a64dd126029_rename_tu_to_package_maintainer.py
@@ -0,0 +1,37 @@
+"""Rename TU to Package Maintainer
+
+Revision ID: 6a64dd126029
+Revises: c5a6a9b661a0
+Create Date: 2023-09-01 13:48:15.315244
+
+"""
+from aurweb import db
+from aurweb.models import AccountType
+
+# revision identifiers, used by Alembic.
+revision = "6a64dd126029"
+down_revision = "c5a6a9b661a0"
+branch_labels = None
+depends_on = None
+
+# AccountTypes
+# ID 2 -> Trusted User / Package Maintainer
+# ID 4 -> Trusted User & Developer / Package Maintainer & Developer
+
+
+def upgrade():
+ with db.begin():
+ tu = db.query(AccountType).filter(AccountType.ID == 2).first()
+ tudev = db.query(AccountType).filter(AccountType.ID == 4).first()
+
+ tu.AccountType = "Package Maintainer"
+ tudev.AccountType = "Package Maintainer & Developer"
+
+
+def downgrade():
+ with db.begin():
+ tu = db.query(AccountType).filter(AccountType.ID == 2).first()
+ tudev = db.query(AccountType).filter(AccountType.ID == 4).first()
+
+ tu.AccountType = "Trusted User"
+ tudev.AccountType = "Trusted User & Developer"
diff --git a/templates/partials/packages/search_actions.html b/templates/partials/packages/search_actions.html
index f28e27a9..c84ad93a 100644
--- a/templates/partials/packages/search_actions.html
+++ b/templates/partials/packages/search_actions.html
@@ -4,7 +4,7 @@
- {% if request.user.is_trusted_user() or request.user.is_developer() %}
+ {% if request.user.is_package_maintainer() or request.user.is_developer() %}
{% endif %}
diff --git a/templates/partials/packages/statistics.html b/templates/partials/packages/statistics.html
index 8a6546b9..7c3c3ef6 100644
--- a/templates/partials/packages/statistics.html
+++ b/templates/partials/packages/statistics.html
@@ -44,7 +44,7 @@
{{ "Trusted Users" | tr }}
|
- {{ trusted_user_count }} |
+ {{ package_maintainer_count }} |
diff --git a/templates/tu/index.html b/templates/tu/index.html
index 9f5bfd50..557645fa 100644
--- a/templates/tu/index.html
+++ b/templates/tu/index.html
@@ -7,11 +7,11 @@
{{ "Total" | tr }} {{ "Trusted Users" | tr }}: |
- {{ trusted_user_count }} |
+ {{ package_maintainer_count }} |
{{ "Active" | tr }} {{ "Trusted Users" | tr }}: |
- {{ active_trusted_user_count }} |
+ {{ active_package_maintainer_count }} |
diff --git a/test/test_accounts_routes.py b/test/test_accounts_routes.py
index 3ff6291a..b4bd01be 100644
--- a/test/test_accounts_routes.py
+++ b/test/test_accounts_routes.py
@@ -17,9 +17,9 @@ from aurweb.db import create, query
from aurweb.models.accepted_term import AcceptedTerm
from aurweb.models.account_type import (
DEVELOPER_ID,
- TRUSTED_USER,
- TRUSTED_USER_AND_DEV_ID,
- TRUSTED_USER_ID,
+ PACKAGE_MAINTAINER,
+ PACKAGE_MAINTAINER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
USER_ID,
AccountType,
)
@@ -98,7 +98,7 @@ def user() -> User:
@pytest.fixture
def tu_user(user: User):
with db.begin():
- user.AccountTypeID = TRUSTED_USER_AND_DEV_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_AND_DEV_ID
yield user
@@ -661,7 +661,7 @@ def test_get_account_edit_tu_as_tu(client: TestClient, tu_user: User):
"""Test edit get route of another TU as a TU."""
with db.begin():
user2 = create_user("test2")
- user2.AccountTypeID = at.TRUSTED_USER_ID
+ user2.AccountTypeID = at.PACKAGE_MAINTAINER_ID
cookies = {"AURSID": tu_user.login(Request(), "testPassword")}
endpoint = f"/account/{user2.Username}/edit"
@@ -672,10 +672,10 @@ def test_get_account_edit_tu_as_tu(client: TestClient, tu_user: User):
assert response.status_code == int(HTTPStatus.OK)
# Verify that we have an account type selection and that the
- # "{at.TRUSTED_USER}" option is selected.
+ # "{at.PACKAGE_MAINTAINER}" option is selected.
root = parse_root(response.text)
atype = root.xpath('//select[@id="id_type"]/option[@selected="selected"]')
- expected = at.TRUSTED_USER
+ expected = at.PACKAGE_MAINTAINER
assert atype[0].text.strip() == expected
username = root.xpath('//input[@id="id_username"]')[0]
@@ -836,7 +836,7 @@ def test_post_account_edit_type_as_dev(client: TestClient, tu_user: User):
def test_post_account_edit_invalid_type_as_tu(client: TestClient, tu_user: User):
with db.begin():
user2 = create_user("test_tu")
- tu_user.AccountTypeID = at.TRUSTED_USER_ID
+ tu_user.AccountTypeID = at.PACKAGE_MAINTAINER_ID
cookies = {"AURSID": tu_user.login(Request(), "testPassword")}
endpoint = f"/account/{user2.Username}/edit"
@@ -861,8 +861,8 @@ def test_post_account_edit_invalid_type_as_tu(client: TestClient, tu_user: User)
def test_post_account_edit_dev(client: TestClient, tu_user: User):
- # Modify our user to be a "Trusted User & Developer"
- name = "Trusted User & Developer"
+ # Modify our user to be a "Package Maintainer & Developer"
+ name = "Package Maintainer & Developer"
tu_or_dev = query(AccountType, AccountType.AccountType == name).first()
with db.begin():
user.AccountType = tu_or_dev
@@ -1004,7 +1004,7 @@ def test_post_account_edit_suspend_unauthorized(client: TestClient, user: User):
def test_post_account_edit_inactivity(client: TestClient, user: User):
with db.begin():
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
assert not user.Suspended
cookies = {"AURSID": user.login(Request(), "testPassword")}
@@ -1033,7 +1033,7 @@ def test_post_account_edit_inactivity(client: TestClient, user: User):
def test_post_account_edit_suspended(client: TestClient, user: User):
with db.begin():
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
assert not user.Suspended
cookies = {"AURSID": user.login(Request(), "testPassword")}
@@ -1223,7 +1223,7 @@ def test_post_account_edit_self_type_as_user(client: TestClient, user: User):
data = {
"U": user.Username,
"E": user.Email,
- "T": TRUSTED_USER_ID,
+ "T": PACKAGE_MAINTAINER_ID,
"passwd": "testPassword",
}
with client as request:
@@ -1298,7 +1298,7 @@ def test_post_account_edit_other_user_type_as_tu(
data = {
"U": user2.Username,
"E": user2.Email,
- "T": TRUSTED_USER_ID,
+ "T": PACKAGE_MAINTAINER_ID,
"passwd": "testPassword",
}
@@ -1308,13 +1308,13 @@ def test_post_account_edit_other_user_type_as_tu(
assert resp.status_code == int(HTTPStatus.OK)
# Let's make sure the DB got updated properly.
- assert user2.AccountTypeID == TRUSTED_USER_ID
+ assert user2.AccountTypeID == PACKAGE_MAINTAINER_ID
# and also that this got logged out at DEBUG level.
expected = (
- f"Trusted User '{tu_user.Username}' has "
+ f"Package Maintainer '{tu_user.Username}' has "
f"modified '{user2.Username}' account's type to"
- f" {TRUSTED_USER}."
+ f" {PACKAGE_MAINTAINER}."
)
assert expected in caplog.text
@@ -1601,7 +1601,7 @@ def test_post_accounts_account_type(client: TestClient, user: User, tu_user: Use
# Set our only user to a Trusted User.
with db.begin():
user.AccountType = (
- query(AccountType).filter(AccountType.ID == TRUSTED_USER_ID).first()
+ query(AccountType).filter(AccountType.ID == PACKAGE_MAINTAINER_ID).first()
)
with client as request:
@@ -1615,7 +1615,7 @@ def test_post_accounts_account_type(client: TestClient, user: User, tu_user: Use
row = next(iter(rows))
username, type, status, realname, irc, pgp_key, edit = row
- assert type.text.strip() == "Trusted User"
+ assert type.text.strip() == "Package Maintainer"
with db.begin():
user.AccountType = (
@@ -1637,7 +1637,9 @@ def test_post_accounts_account_type(client: TestClient, user: User, tu_user: Use
with db.begin():
user.AccountType = (
- query(AccountType).filter(AccountType.ID == TRUSTED_USER_AND_DEV_ID).first()
+ query(AccountType)
+ .filter(AccountType.ID == PACKAGE_MAINTAINER_AND_DEV_ID)
+ .first()
)
with client as request:
@@ -1651,7 +1653,7 @@ def test_post_accounts_account_type(client: TestClient, user: User, tu_user: Use
row = next(iter(rows))
username, type, status, realname, irc, pgp_key, edit = row
- assert type.text.strip() == "Trusted User & Developer"
+ assert type.text.strip() == "Package Maintainer & Developer"
def test_post_accounts_status(client: TestClient, user: User, tu_user: User):
@@ -1783,7 +1785,9 @@ def test_post_accounts_sortby(client: TestClient, user: User, tu_user: User):
with db.begin():
user.AccountType = (
- query(AccountType).filter(AccountType.ID == TRUSTED_USER_AND_DEV_ID).first()
+ query(AccountType)
+ .filter(AccountType.ID == PACKAGE_MAINTAINER_AND_DEV_ID)
+ .first()
)
# Fetch first_rows again with our new AccountType ordering.
diff --git a/test/test_adduser.py b/test/test_adduser.py
index 2cb71f3b..8a497f90 100644
--- a/test/test_adduser.py
+++ b/test/test_adduser.py
@@ -48,12 +48,12 @@ def test_adduser_tu():
"-p",
"abcd1234",
"-t",
- at.TRUSTED_USER,
+ at.PACKAGE_MAINTAINER,
]
)
test = db.query(User).filter(User.Username == "test").first()
assert test is not None
- assert test.AccountTypeID == at.TRUSTED_USER_ID
+ assert test.AccountTypeID == at.PACKAGE_MAINTAINER_ID
def test_adduser_ssh_pk():
diff --git a/test/test_auth.py b/test/test_auth.py
index 4a4318e8..f3502faf 100644
--- a/test/test_auth.py
+++ b/test/test_auth.py
@@ -137,9 +137,9 @@ def test_account_type_required():
account_type_required({"FAKE"})
-def test_is_trusted_user():
+def test_is_package_maintainer():
user_ = AnonymousUser()
- assert not user_.is_trusted_user()
+ assert not user_.is_package_maintainer()
def test_is_developer():
diff --git a/test/test_homepage.py b/test/test_homepage.py
index 08c52c09..d14fc91a 100644
--- a/test/test_homepage.py
+++ b/test/test_homepage.py
@@ -62,7 +62,7 @@ def redis():
"package_count",
"orphan_count",
"user_count",
- "trusted_user_count",
+ "package_maintainer_count",
"seven_days_old_added",
"seven_days_old_updated",
"year_old_updated",
diff --git a/test/test_html.py b/test/test_html.py
index 681bd245..0eed5640 100644
--- a/test/test_html.py
+++ b/test/test_html.py
@@ -12,7 +12,7 @@ from fastapi.testclient import TestClient
from aurweb import asgi, config, db
from aurweb.models import PackageBase
-from aurweb.models.account_type import TRUSTED_USER_ID, USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID, USER_ID
from aurweb.models.user import User
from aurweb.testing.html import get_errors, get_successes, parse_root
from aurweb.testing.requests import Request
@@ -42,9 +42,9 @@ def user() -> User:
@pytest.fixture
-def trusted_user(user: User) -> User:
+def package_maintainer(user: User) -> User:
with db.begin():
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
yield user
@@ -81,7 +81,7 @@ def test_archdev_navbar_authenticated(client: TestClient, user: User):
assert item.text.strip() == expected[i]
-def test_archdev_navbar_authenticated_tu(client: TestClient, trusted_user: User):
+def test_archdev_navbar_authenticated_tu(client: TestClient, package_maintainer: User):
expected = [
"Dashboard",
"Packages",
@@ -91,7 +91,7 @@ def test_archdev_navbar_authenticated_tu(client: TestClient, trusted_user: User)
"Trusted User",
"Logout",
]
- cookies = {"AURSID": trusted_user.login(Request(), "testPassword")}
+ cookies = {"AURSID": package_maintainer.login(Request(), "testPassword")}
with client as request:
request.cookies = cookies
resp = request.get("/")
diff --git a/test/test_notify.py b/test/test_notify.py
index fbcf350b..6b3f6121 100644
--- a/test/test_notify.py
+++ b/test/test_notify.py
@@ -5,7 +5,7 @@ import pytest
from aurweb import config, db, models, time
from aurweb.models import Package, PackageBase, PackageRequest, User
-from aurweb.models.account_type import TRUSTED_USER_ID, USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID, USER_ID
from aurweb.models.request_type import ORPHAN_ID
from aurweb.scripts import notify, rendercomment
from aurweb.testing.email import Email
@@ -393,7 +393,7 @@ please go to [3] and click "Disable notifications".
def set_tu(users: list[User]) -> User:
with db.begin():
for user in users:
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
def test_open_close_request(
diff --git a/test/test_packages_routes.py b/test/test_packages_routes.py
index fb12e65e..ed3e6dd5 100644
--- a/test/test_packages_routes.py
+++ b/test/test_packages_routes.py
@@ -114,7 +114,9 @@ def maintainer() -> User:
@pytest.fixture
def tu_user():
- tu_type = db.query(AccountType, AccountType.AccountType == "Trusted User").first()
+ tu_type = db.query(
+ AccountType, AccountType.AccountType == "Package Maintainer"
+ ).first()
with db.begin():
tu_user = db.create(
User,
diff --git a/test/test_pkgbase_routes.py b/test/test_pkgbase_routes.py
index 679986ff..44b13251 100644
--- a/test/test_pkgbase_routes.py
+++ b/test/test_pkgbase_routes.py
@@ -117,7 +117,9 @@ def comaintainer() -> User:
@pytest.fixture
def tu_user():
- tu_type = db.query(AccountType, AccountType.AccountType == "Trusted User").first()
+ tu_type = db.query(
+ AccountType, AccountType.AccountType == "Package Maintainer"
+ ).first()
with db.begin():
tu_user = db.create(
User,
diff --git a/test/test_requests.py b/test/test_requests.py
index eb88cd94..42da96db 100644
--- a/test/test_requests.py
+++ b/test/test_requests.py
@@ -8,7 +8,7 @@ from fastapi.testclient import TestClient
from aurweb import asgi, config, db, defaults, time
from aurweb.models import Package, PackageBase, PackageRequest, User
-from aurweb.models.account_type import TRUSTED_USER_ID, USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID, USER_ID
from aurweb.models.package_comaintainer import PackageComaintainer
from aurweb.models.package_notification import PackageNotification
from aurweb.models.package_request import ACCEPTED_ID, PENDING_ID, REJECTED_ID
@@ -161,7 +161,7 @@ def tu_user() -> User:
"""Yield an authenticated Trusted User instance."""
user = create_user("test_tu", "test_tu@example.org")
with db.begin():
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
cookies = {"AURSID": user.login(Request(), "testPassword")}
user.cookies = cookies
yield user
diff --git a/test/test_statistics.py b/test/test_statistics.py
index db262fa3..c5447271 100644
--- a/test/test_statistics.py
+++ b/test/test_statistics.py
@@ -3,7 +3,7 @@ from prometheus_client import REGISTRY, generate_latest
from aurweb import cache, db, time
from aurweb.models import Package, PackageBase, PackageRequest
-from aurweb.models.account_type import TRUSTED_USER_ID, USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID, USER_ID
from aurweb.models.package_request import (
ACCEPTED_ID,
CLOSED_ID,
@@ -64,7 +64,7 @@ def test_data():
# Modify some data to get some variances for our counters
if i == 1:
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
pkgbase.Maintainer = None
pkgbase.SubmittedTS = now
pkgreq.Status = PENDING_ID
@@ -99,7 +99,7 @@ def stats() -> Statistics:
("year_old_updated", 9),
("never_updated", 1),
("user_count", 10),
- ("trusted_user_count", 1),
+ ("package_maintainer_count", 1),
("regular_user_count", 9),
("updated_packages", 9),
("total_requests", 10),
@@ -116,7 +116,7 @@ def test_get_count(stats: Statistics, test_data, counter: str, expected: int):
def test_get_count_change(stats: Statistics, test_data):
pkgs_before = stats.get_count("package_count")
- tus_before = stats.get_count("trusted_user_count")
+ tus_before = stats.get_count("package_maintainer_count")
assert pkgs_before == 10
assert tus_before == 1
@@ -127,16 +127,16 @@ def test_get_count_change(stats: Statistics, test_data):
db.delete(pkgbase)
user = db.query(User).filter(User.AccountTypeID == USER_ID).first()
- user.AccountTypeID = TRUSTED_USER_ID
+ user.AccountTypeID = PACKAGE_MAINTAINER_ID
# Values should end up in (fake) redis cache so they should be the same
assert stats.get_count("package_count") == pkgs_before
- assert stats.get_count("trusted_user_count") == tus_before
+ assert stats.get_count("package_maintainer_count") == tus_before
# Let's clear the cache and check again
cache._redis.flushall()
assert stats.get_count("package_count") != pkgs_before
- assert stats.get_count("trusted_user_count") != tus_before
+ assert stats.get_count("package_maintainer_count") != tus_before
def test_update_prometheus_metrics(test_data):
diff --git a/test/test_trusted_user_routes.py b/test/test_trusted_user_routes.py
index 0bb9523e..a93ad8a5 100644
--- a/test/test_trusted_user_routes.py
+++ b/test/test_trusted_user_routes.py
@@ -8,7 +8,7 @@ import pytest
from fastapi.testclient import TestClient
from aurweb import config, db, filters, time
-from aurweb.models.account_type import DEVELOPER_ID, TRUSTED_USER_ID, AccountType
+from aurweb.models.account_type import DEVELOPER_ID, PACKAGE_MAINTAINER_ID, AccountType
from aurweb.models.tu_vote import TUVote
from aurweb.models.tu_voteinfo import TUVoteInfo
from aurweb.models.user import User
@@ -90,7 +90,9 @@ def client():
@pytest.fixture
def tu_user():
- tu_type = db.query(AccountType, AccountType.AccountType == "Trusted User").first()
+ tu_type = db.query(
+ AccountType, AccountType.AccountType == "Package Maintainer"
+ ).first()
with db.begin():
tu_user = db.create(
User,
@@ -112,7 +114,7 @@ def tu_user2():
Email="test_tu2@example.org",
RealName="Test TU 2",
Passwd="testPassword",
- AccountTypeID=TRUSTED_USER_ID,
+ AccountTypeID=PACKAGE_MAINTAINER_ID,
)
yield tu_user2
diff --git a/test/test_tu_vote.py b/test/test_tu_vote.py
index 8c1c08de..23dfd22b 100644
--- a/test/test_tu_vote.py
+++ b/test/test_tu_vote.py
@@ -2,7 +2,7 @@ import pytest
from sqlalchemy.exc import IntegrityError
from aurweb import db, time
-from aurweb.models.account_type import TRUSTED_USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
from aurweb.models.tu_vote import TUVote
from aurweb.models.tu_voteinfo import TUVoteInfo
from aurweb.models.user import User
@@ -22,7 +22,7 @@ def user() -> User:
Email="test@example.org",
RealName="Test User",
Passwd="testPassword",
- AccountTypeID=TRUSTED_USER_ID,
+ AccountTypeID=PACKAGE_MAINTAINER_ID,
)
yield user
diff --git a/test/test_tu_voteinfo.py b/test/test_tu_voteinfo.py
index 34845b86..55d40f06 100644
--- a/test/test_tu_voteinfo.py
+++ b/test/test_tu_voteinfo.py
@@ -3,7 +3,7 @@ from sqlalchemy.exc import IntegrityError
from aurweb import db, time
from aurweb.db import create, rollback
-from aurweb.models.account_type import TRUSTED_USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
from aurweb.models.tu_voteinfo import TUVoteInfo
from aurweb.models.user import User
@@ -22,7 +22,7 @@ def user() -> User:
Email="test@example.org",
RealName="Test User",
Passwd="testPassword",
- AccountTypeID=TRUSTED_USER_ID,
+ AccountTypeID=PACKAGE_MAINTAINER_ID,
)
yield user
diff --git a/test/test_tuvotereminder.py b/test/test_tuvotereminder.py
index 5f2ae3a1..72b89732 100644
--- a/test/test_tuvotereminder.py
+++ b/test/test_tuvotereminder.py
@@ -4,7 +4,7 @@ import pytest
from aurweb import config, db, time
from aurweb.models import TUVote, TUVoteInfo, User
-from aurweb.models.account_type import TRUSTED_USER_ID
+from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
from aurweb.scripts import tuvotereminder as reminder
from aurweb.testing.email import Email
@@ -47,17 +47,17 @@ def email_pieces(voteinfo: TUVoteInfo) -> Tuple[str, str]:
@pytest.fixture
def user(db_test) -> User:
- yield create_user("test", TRUSTED_USER_ID)
+ yield create_user("test", PACKAGE_MAINTAINER_ID)
@pytest.fixture
def user2() -> User:
- yield create_user("test2", TRUSTED_USER_ID)
+ yield create_user("test2", PACKAGE_MAINTAINER_ID)
@pytest.fixture
def user3() -> User:
- yield create_user("test3", TRUSTED_USER_ID)
+ yield create_user("test3", PACKAGE_MAINTAINER_ID)
@pytest.fixture
diff --git a/test/test_user.py b/test/test_user.py
index 17fd0c0e..5abc6ce1 100644
--- a/test/test_user.py
+++ b/test/test_user.py
@@ -12,8 +12,8 @@ from aurweb import db
from aurweb.auth import creds
from aurweb.models.account_type import (
DEVELOPER_ID,
- TRUSTED_USER_AND_DEV_ID,
- TRUSTED_USER_ID,
+ PACKAGE_MAINTAINER_AND_DEV_ID,
+ PACKAGE_MAINTAINER_ID,
USER_ID,
)
from aurweb.models.ban import Ban
@@ -53,7 +53,7 @@ def user() -> User:
@pytest.fixture
def tu_user() -> User:
- user = create_user("test_tu", TRUSTED_USER_ID)
+ user = create_user("test_tu", PACKAGE_MAINTAINER_ID)
yield user
@@ -65,7 +65,7 @@ def dev_user() -> User:
@pytest.fixture
def tu_and_dev_user() -> User:
- user = create_user("test_tu_and_dev", TRUSTED_USER_AND_DEV_ID)
+ user = create_user("test_tu_and_dev", PACKAGE_MAINTAINER_AND_DEV_ID)
yield user
@@ -207,33 +207,33 @@ def test_user_ssh_pub_key(user: User):
def test_user_credential_types(user: User):
- assert user.AccountTypeID in creds.user_developer_or_trusted_user
- assert user.AccountTypeID not in creds.trusted_user
+ assert user.AccountTypeID in creds.user_developer_or_package_maintainer
+ assert user.AccountTypeID not in creds.package_maintainer
assert user.AccountTypeID not in creds.developer
- assert user.AccountTypeID not in creds.trusted_user_or_dev
+ assert user.AccountTypeID not in creds.package_maintainer_or_dev
with db.begin():
- user.AccountTypeID = at.TRUSTED_USER_ID
+ user.AccountTypeID = at.PACKAGE_MAINTAINER_ID
- assert user.AccountTypeID in creds.trusted_user
- assert user.AccountTypeID in creds.trusted_user_or_dev
+ assert user.AccountTypeID in creds.package_maintainer
+ assert user.AccountTypeID in creds.package_maintainer_or_dev
with db.begin():
user.AccountTypeID = at.DEVELOPER_ID
assert user.AccountTypeID in creds.developer
- assert user.AccountTypeID in creds.trusted_user_or_dev
+ assert user.AccountTypeID in creds.package_maintainer_or_dev
with db.begin():
- user.AccountTypeID = at.TRUSTED_USER_AND_DEV_ID
+ user.AccountTypeID = at.PACKAGE_MAINTAINER_AND_DEV_ID
- assert user.AccountTypeID in creds.trusted_user
+ assert user.AccountTypeID in creds.package_maintainer
assert user.AccountTypeID in creds.developer
- assert user.AccountTypeID in creds.trusted_user_or_dev
+ assert user.AccountTypeID in creds.package_maintainer_or_dev
# Some model authorization checks.
assert user.is_elevated()
- assert user.is_trusted_user()
+ assert user.is_package_maintainer()
assert user.is_developer()
@@ -255,15 +255,15 @@ def test_user_as_dict(user: User):
assert isinstance(data.get("RegistrationTS"), datetime)
-def test_user_is_trusted_user(user: User):
+def test_user_is_package_maintainer(user: User):
with db.begin():
- user.AccountTypeID = at.TRUSTED_USER_ID
- assert user.is_trusted_user() is True
+ user.AccountTypeID = at.PACKAGE_MAINTAINER_ID
+ assert user.is_package_maintainer() is True
# Do it again with the combined role.
with db.begin():
- user.AccountTypeID = at.TRUSTED_USER_AND_DEV_ID
- assert user.is_trusted_user() is True
+ user.AccountTypeID = at.PACKAGE_MAINTAINER_AND_DEV_ID
+ assert user.is_package_maintainer() is True
def test_user_is_developer(user: User):
@@ -273,7 +273,7 @@ def test_user_is_developer(user: User):
# Do it again with the combined role.
with db.begin():
- user.AccountTypeID = at.TRUSTED_USER_AND_DEV_ID
+ user.AccountTypeID = at.PACKAGE_MAINTAINER_AND_DEV_ID
assert user.is_developer() is True