# user.proto

## UserProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | stat | UserStatProto | 3 |
| repeated | roles | string | 4 |
| optional | createdAt | int64 | 9 |
| optional | cachedAt | int64 | 10 |
| optional | uploadedAt | int64 | 11 |
| optional | playlistUpdatedAt | int64 | 12 |
| optional | updatedAt | int64 | 13 |
| optional | isOfficial | bool | 14 |
| optional | isDeleted | bool | 15 |
| optional | authData | UserAuthDataProto | 16 |


## UserStatProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | favorited | int32 | 1 |
| optional | playlist | UserPlaylistStatProto | 2 |
| optional | favorite | UserFavoriteStatProto | 3 |


## UserPlaylistStatProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | total | int32 | 1 |
| optional | published | int32 | 2 |
| optional | played | int64 | 3 |


## UserFavoriteStatProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | users | int32 | 1 |
| optional | playlists | int32 | 2 |
| optional | tracks | int32 | 3 |
| optional | artists | int32 | 4 |
| optional | albums | int32 | 5 |


## UserProfileProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | description | string | 7 |
| optional | stat | UserStatProto | 8 |
| optional | isDeleted | bool | 10 |
| optional | playlistUpdatedAt | int64 | 11 |
| optional | uploadedAt | int64 | 12 |
| optional | updatedAt | int64 | 13 |
| optional | isFavorite | bool | 14 |
| optional | isOfficial | bool | 15 |


## UpdateUserProfileProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | name | string | 1 |
| optional | image | bytes | 2 |
| optional | description | string | 3 |
| optional | imageBase64 | string | 4 |
| optional | deleteImage | bool | 5 |


## UserSessionTokenProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | token | string | 1 |


## UserProfileListProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | users | UserProfileProto | 1 |
| optional | next | int64 | 14 |
| optional | loadedAt | int64 | 15 |


## UserRankingProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | contents | UserRankingContentProto | 1 |
| optional | loadedAt | int64 | 15 |


## UserRankingContentProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| repeated | users | UserProfileProto | 2 |
| optional | loadedAt | int64 | 15 |


## UserLoginProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | password | string | 2 |


## UserLoginFacebookProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | access_token | string | 2 |
| optional | expiration_date | int64 | 3 |


## UserLoginTwitterProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | screen_name | string | 2 |
| optional | auth_token | string | 3 |
| optional | auth_token_secret | string | 4 |


## UserLoginCodeProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | code | string | 1 |


## UserLinkedProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | facebook | UserLinkedProviderProto | 1 |
| optional | twitter | UserLinkedProviderProto | 2 |
| optional | email | UserLinkedProviderProto | 3 |


## UserLinkedProviderProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | status | int32 | 1 |
| optional | code | string | 2 |
| optional | account | string | 3 |


## UserAuthDataProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | awa | UserAwaAuthDataProto | 1 |


## UserAwaAuthDataProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |


## UserEmailProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | email | string | 1 |


