User, Member, Role, Profile
User
User is an Entity in the system. It reflects the User in the real world.
Entity has relations to
- List<LoginCredential> – @OneToOne (login, password)
- Profile – @OneToOne
- List<Member> – @OneToMany
Member
Member is an Entity in the system. It is a connector between User and Organization.
Entity has relations to
- User – @ManyToOne
- Organization – @ManyToOne
And has field:
- role (e.g.: individual, merchant, accountant, customer success specialist, cro, cashier, administrator etc.)
Role
Role defines the set configurations. In configuration it is represents like a role.
It’s not an Entity in the system.
E.g.: individual, merchant, accountant, customer_success_specialist, cro, cashier, administrator.
Role Group
Role Group is a collection of the roles in the system. In configuration it is represented like a type.
It’s not an Entity in the system.
E.g.: individual, merchant, cash_desk, system
Profile
Profile is an Entity in the system to store information about User or/and Organization.
Entity has relations to
- User – @OneToOne
- Organization – @OneToOne
- ContactDef – @OneToOne – contact information
- PersonDef – @OneToOne – person information
- AddressDef – @OneToOne – address information
- BusinessDef – @OneToOne – business information
- SocialDef – @OneToOne – sosial information
- IntegrationDef – @OneToOne – information related to integration services
ProfileExtension – @OneToOne – for flexible extension profile data