a fork of iceshrimp.net but a tweaked frontend to my personal liking. waow
fediverse social-media social iceshrimp fedi
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

[backend/core] Add bite controls to BiteService

pancakes 4f0446e8 5de8242a

+14
+14
Iceshrimp.Backend/Core/Services/BiteService.cs
··· 2 2 using Iceshrimp.Backend.Core.Database; 3 3 using Iceshrimp.Backend.Core.Database.Tables; 4 4 using Iceshrimp.Backend.Core.Helpers; 5 + using Iceshrimp.Backend.Core.Middleware; 5 6 using Iceshrimp.Utils.DependencyInjection; 7 + using Microsoft.EntityFrameworkCore; 6 8 using Microsoft.Extensions.Options; 7 9 8 10 namespace Iceshrimp.Backend.Core.Services; ··· 17 19 { 18 20 public async Task BiteAsync(User user, Bite target) 19 21 { 22 + var following = await db.Followings.AnyAsync(p => p.Followee == target.User && p.Follower == user); 23 + if (target.User.CanBite == null || (target.User.CanBite == User.BiteControl.Followers && !following)) 24 + throw GracefulException.BadRequest("This user cannot be bitten"); 25 + 20 26 var bite = new Bite 21 27 { 22 28 Id = IdHelpers.GenerateSnowflakeId(), ··· 41 47 42 48 public async Task BiteAsync(User user, Note target) 43 49 { 50 + var following = await db.Followings.AnyAsync(p => p.Followee == target.User && p.Follower == user); 51 + if (target.User.CanBite == null || (target.User.CanBite == User.BiteControl.Followers && !following)) 52 + throw GracefulException.BadRequest("This user cannot be bitten"); 53 + 44 54 var bite = new Bite 45 55 { 46 56 Id = IdHelpers.GenerateSnowflakeId(), ··· 65 75 66 76 public async Task BiteAsync(User user, User target) 67 77 { 78 + var following = await db.Followings.AnyAsync(p => p.Followee == target && p.Follower == user); 79 + if (target.CanBite == null || (target.CanBite == User.BiteControl.Followers && !following)) 80 + throw GracefulException.BadRequest("This user cannot be bitten"); 81 + 68 82 var bite = new Bite 69 83 { 70 84 Id = IdHelpers.GenerateSnowflakeId(),