есть задача мне нужно создать систему ролей, каждая роль имеет Permissions, так вот я придумал это сделать так будет документ Roles где будет teamID и Массив структуры Role в структуре Role будет два значения Role - название роли.
Permissions - разрешение для этой роли.
Так вот при каждом запросе мне нужно по teamID искать роли потом найти Роль в массиве и потом найти нужное разрешение в массиве Permission если найдено то дать разрешение если нет то вернуть ошибку.
Структуры выглядят так:
type Team roles struct {
ID string
TeamID string
Roles []Role
}
type Role struct {
Role string
Permissions []string
}
при старте создать кеш вида map[role_name][]permissions
Обсуждают сегодня