# User (profile) service
## List of events that profile-service consumes
### Register event
Description: This event is published from register service when user registers account
> exchange name: login-ex
exchange type: fanout
> queue name: auth-svc-register-event-handler
```Message```
```JSON
{
"user": {
"_id": "userId",
"email": "someone@gmail.com",
"avatar": "http://avatar.com",
"username": "John smith",
"password": "passwordHash",
"provider": "google",
"google_id": "googleId",
"microsoft_id": "microsoftId",
"is_verified": true,
"role": "STUDENT",
"student_id"
},
"event": {
"_id": "event id"
}
}
```
## List of events that profile-service publish
### Update profile event
Description: This event is published from profile service when user update infomation
> exchange name: profile-ex
exchange type: fanout
> queue name:
> * course-svc-user-profile-event-handler
> * exercise-view-svc-user-profile-event-handler
> * auth-svc-user-profile-event-handler
```Message```
```JSON
{
"user": {
"_id": "userId",
"avatar": "http://avatar.com",
"username": "John smith",
},
"event": {
"_id": "event id"
}
}
```