Preparing a good schema

Assuming that a company, role, and user refer to one specific entity (Sebastian-User-Dgraph) then I would model the schema as:

type Company {
  id: ID!
  name: String @search(by: [hash])
  hasRoles: [Role]
}
type User {
  id: ID!
  name: String @search(by: [hash])
  age: Int
  fillsRoles: [Role]
}
enum Roles {
  Admin
  Manager
  User
}
type Role {
  id: ID!
  role: Roles
  user: User @hasInverse(field: "fillsRoles")
  company: Company @hasInverse(field: "hasRoles")
}

Not sure exactly what designation is if it should go in the User or the Role. If it is specific to the relationship or if it is specific to the user.