mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
fix: exempt admins from default user group limits
This commit is contained in:
@@ -99,4 +99,5 @@ VALUES (
|
||||
INSERT IGNORE INTO user_group_members (group_id, user_id, created_at)
|
||||
SELECT '00000000-0000-0000-0000-000000000001', id, UNIX_TIMESTAMP()
|
||||
FROM users
|
||||
WHERE is_deleted = 0;
|
||||
WHERE is_deleted = 0
|
||||
AND LOWER(role) <> 'admin';
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DELETE member
|
||||
FROM user_group_members AS member
|
||||
JOIN users ON users.id = member.user_id
|
||||
WHERE LOWER(users.role) = 'admin'
|
||||
AND (
|
||||
member.group_id = '00000000-0000-0000-0000-000000000001'
|
||||
OR member.group_id IN (
|
||||
SELECT TRIM(BOTH '"' FROM value)
|
||||
FROM system_configs
|
||||
WHERE `key` = 'default_user_group_id'
|
||||
)
|
||||
);
|
||||
@@ -98,4 +98,5 @@ INSERT INTO public.user_group_members (group_id, user_id)
|
||||
SELECT '00000000-0000-0000-0000-000000000001', id
|
||||
FROM public.users
|
||||
WHERE is_deleted IS FALSE
|
||||
AND LOWER(role) <> 'admin'
|
||||
ON CONFLICT (group_id, user_id) DO NOTHING;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
DELETE FROM public.user_group_members AS member
|
||||
USING public.users AS users
|
||||
WHERE member.user_id = users.id
|
||||
AND LOWER(users.role) = 'admin'
|
||||
AND (
|
||||
member.group_id = '00000000-0000-0000-0000-000000000001'
|
||||
OR member.group_id IN (
|
||||
SELECT value #>> '{}'
|
||||
FROM public.system_configs
|
||||
WHERE key = 'default_user_group_id'
|
||||
)
|
||||
);
|
||||
@@ -97,4 +97,5 @@ VALUES (
|
||||
INSERT OR IGNORE INTO user_group_members (group_id, user_id, created_at)
|
||||
SELECT '00000000-0000-0000-0000-000000000001', id, CAST(strftime('%s', 'now') AS INTEGER)
|
||||
FROM users
|
||||
WHERE is_deleted = 0;
|
||||
WHERE is_deleted = 0
|
||||
AND LOWER(role) <> 'admin';
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
DELETE FROM user_group_members
|
||||
WHERE user_id IN (
|
||||
SELECT id
|
||||
FROM users
|
||||
WHERE LOWER(role) = 'admin'
|
||||
)
|
||||
AND (
|
||||
group_id = '00000000-0000-0000-0000-000000000001'
|
||||
OR group_id IN (
|
||||
SELECT TRIM(value, '"')
|
||||
FROM system_configs
|
||||
WHERE key = 'default_user_group_id'
|
||||
)
|
||||
);
|
||||
@@ -37,6 +37,7 @@ INSERT INTO public.user_group_members (group_id, user_id)
|
||||
SELECT '00000000-0000-0000-0000-000000000001', id
|
||||
FROM public.users
|
||||
WHERE is_deleted IS FALSE
|
||||
AND LOWER(role) <> 'admin'
|
||||
ON CONFLICT (group_id, user_id) DO NOTHING;
|
||||
|
||||
SELECT pg_catalog.set_config('search_path', 'public', true);
|
||||
|
||||
@@ -7,7 +7,7 @@ use tracing::info;
|
||||
// Generated by build.rs from schema/bootstrap/postgres.
|
||||
pub(crate) static EMPTY_DATABASE_SNAPSHOT_SQL: &str =
|
||||
include_str!(concat!(env!("OUT_DIR"), "/empty_database_snapshot.sql"));
|
||||
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260511000000;
|
||||
pub(crate) const EMPTY_DATABASE_SNAPSHOT_CUTOFF_VERSION: i64 = 20260511120000;
|
||||
|
||||
const PUBLIC_BASE_TABLE_COUNT_SQL: &str = r#"
|
||||
SELECT COUNT(*)::BIGINT
|
||||
|
||||
@@ -299,6 +299,7 @@ fn empty_database_snapshot_covers_current_cutoff_versions() {
|
||||
20260510000000,
|
||||
20260510120000,
|
||||
20260511000000,
|
||||
20260511120000,
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -562,7 +563,8 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
|
||||
20260508000000,
|
||||
20260509000000,
|
||||
20260509120000,
|
||||
20260510120000
|
||||
20260510120000,
|
||||
20260511120000
|
||||
]
|
||||
);
|
||||
assert_eq!(
|
||||
@@ -573,7 +575,8 @@ fn mysql_and_sqlite_migrations_include_enabled_incrementals() {
|
||||
20260508000000,
|
||||
20260509000000,
|
||||
20260509120000,
|
||||
20260510120000
|
||||
20260510120000,
|
||||
20260511120000
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -1084,6 +1087,7 @@ fn pending_migrations_from_applied_skips_versions_already_applied() {
|
||||
20260510000000,
|
||||
20260510120000,
|
||||
20260511000000,
|
||||
20260511120000,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user