chore: refactor auto_method macro for SecondaryPermission

This commit is contained in:
trisua 2025-07-02 23:10:58 -04:00
parent ee2f7c7cbb
commit 0aa2ea362f
9 changed files with 47 additions and 47 deletions

View file

@ -226,12 +226,12 @@ macro_rules! auto_method {
}
};
($name:ident()@$select_fn:ident:$permission:ident -> $query:literal) => {
($name:ident()@$select_fn:ident:$permission:expr; -> $query:literal) => {
pub async fn $name(&self, id: usize, user: &User) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -256,12 +256,12 @@ macro_rules! auto_method {
}
};
($name:ident()@$select_fn:ident:$permission:ident -> $query:literal --cache-key-tmpl=$cache_key_tmpl:literal) => {
($name:ident()@$select_fn:ident:$permission:expr; -> $query:literal --cache-key-tmpl=$cache_key_tmpl:literal) => {
pub async fn $name(&self, id: usize, user: &User) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -288,12 +288,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -319,12 +319,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal --cache-key-tmpl=$cache_key_tmpl:literal) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal --cache-key-tmpl=$cache_key_tmpl:literal) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -352,12 +352,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal --serde) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal --serde) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -387,12 +387,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal --serde --cache-key-tmpl=$cache_key_tmpl:literal) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal --serde --cache-key-tmpl=$cache_key_tmpl:literal) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -567,12 +567,12 @@ macro_rules! auto_method {
}
};
($name:ident()@$select_fn:ident:$permission:ident -> $query:literal --cache-key-tmpl=$cache_key_tmpl:ident) => {
($name:ident()@$select_fn:ident:$permission:expr; -> $query:literal --cache-key-tmpl=$cache_key_tmpl:ident) => {
pub async fn $name(&self, id: usize, user: &User) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -600,12 +600,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal --cache-key-tmpl=$cache_key_tmpl:ident) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal --cache-key-tmpl=$cache_key_tmpl:ident) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(
@ -679,12 +679,12 @@ macro_rules! auto_method {
}
};
($name:ident($x:ty)@$select_fn:ident:$permission:ident -> $query:literal --serde --cache-key-tmpl=$cache_key_tmpl:ident) => {
($name:ident($x:ty)@$select_fn:ident:$permission:expr; -> $query:literal --serde --cache-key-tmpl=$cache_key_tmpl:ident) => {
pub async fn $name(&self, id: usize, user: &User, x: $x) -> Result<()> {
let y = self.$select_fn(id).await?;
if user.id != y.owner {
if !user.permissions.check(FinePermission::$permission) {
if !user.permissions.check($permission) {
return Err(Error::NotAllowed);
} else {
self.create_audit_log_entry($crate::model::moderation::AuditLogEntry::new(