Ontime berechnung zentralisieren #166 #172

Merged
edraft merged 5 commits from #166 into 0.3.1 2023-01-13 22:14:58 +01:00
Showing only changes of commit b89fa12ec6 - Show all commits

View File

@ -42,8 +42,15 @@ class LevelService:
self._t = t
def get_level(self, user: User) -> Level:
levels = self._levels.get_levels_by_server_id(user.server.server_id).order_by(lambda l: l.min_xp)
return levels.where(lambda l: user.xp >= l.min_xp).last()
levels_by_server = self._levels.get_levels_by_server_id(user.server.server_id)
levels = levels_by_server \
.order_by(lambda l: l.min_xp) \
.where(lambda l: user.xp >= l.min_xp)
if levels.count() == 0:
return levels_by_server.order_by(lambda l: l.min_xp).last()
return levels.last()
async def set_level(self, user: User):
level_names = self._levels.get_levels_by_server_id(user.server.server_id).select(lambda l: l.name)