Я использую промежуточное ПО, которое проверяет, вошел ли пользователь в систему, и, если это так, сохраняет информацию о своей учетной записи в контексте graphql. У всех пользователей есть четыре возможных роли: пользователь, хост, администратор и супер. В настоящее время мой пользовательский объект GraphQL выглядит так:
const User = new GraphQLObjectType({
name: 'User',
fields: () => ({
id: {type: GraphQLNonNull(GraphQLID)},
name: {type: GraphQLString},
email: {type: GraphQLString},
balance: {type: GraphQLFloat},
username: {type: GraphQLString},
birthday: {type: GraphQLString},
roles: {type: GraphQLList(GraphQLString)},
disputes: {type: GraphQLList(DisputeType)},
transactions: {type: GraphQLList(GraphQLString)},
})
})
И вот данные, к которым я хотел бы иметь доступ для каждой роли:
пользователь: имя пользователя, роли
хост: имя пользователя, роли
администратор: электронная почта, имя пользователя, роли, споры
супер: все
Где хранить эти логи c? В моем файле типа объекта или где-то еще? Не могли бы вы привести пример кода? Я использую mon goose для моего слоя данных. Заранее благодарим за понимание!