# common.proto

## LiveProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | ok | bool | 1 |
| optional | commit | string | 2 |
| optional | buildDate | string | 3 |
| optional | goVersion | string | 4 |


## IdProto

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


## ErrorProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | code | string | 1 |
| optional | msg | string | 2 |
| repeated | params | ErrorParamProto | 3 |


## ErrorParamProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | key | string | 1 |
| optional | value | string | 2 |


## AuthProto

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


## DeviceAccessTokenProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | accessToken | string | 1 |
| optional | expiredAt | int64 | 2 |
| optional | expireTime | int64 | 3 |


## PlayerStatusProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | isAvailable | bool | 1 |
| optional | status | int32 | 2 |


## PlayerReportProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | trackId | string | 1 |
| optional | playlistId | string | 2 |
| optional | elapsedTime | int64 | 3 |
| optional | stationId | string | 4 |
| optional | playType | string | 5 |
| optional | userId | string | 6 |
| optional | subscriptionStatus | int32 | 7 |
| optional | subscriptionType | int32 | 8 |
| optional | sequentialNumber | int32 | 9 |
| optional | audioType | int32 | 10 |
| optional | billingCycle | string | 11 |
| optional | purchasePlatform | int32 | 12 |
| optional | startAt | int64 | 13 |
| optional | endAt | int64 | 14 |
| optional | isOffline | bool | 15 |
| optional | groups | string | 16 |


## PlayerReportsProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | Reports | PlayerReportProto | 1 |


## TrackInformationProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | trackName | string | 1 |
| optional | trackArtistName | string | 2 |
| optional | albumName | string | 3 |
| optional | albumArtistName | string | 4 |
| optional | trackNumber | int32 | 5 |
| optional | bpm | int32 | 6 |
| optional | playCount | int32 | 7 |
| optional | skipCount | int32 | 8 |
| optional | rating | int32 | 9 |
| optional | playbackTime | int64 | 13 |
| optional | releasedAt | int64 | 14 |
| optional | lastPlayedAt | int64 | 15 |


## TrackInformationReportProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | tracks | TrackInformationProto | 1 |


## LogsProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | reports | LogProto | 1 |


## LogProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | type | int32 | 1 |
| optional | osVersion | string | 2 |
| optional | appVersion | string | 3 |
| optional | userId | string | 4 |
| optional | content | string | 5 |
| optional | groups | string | 6 |
| optional | createdAt | int64 | 15 |


