# search.proto

## SearchResultProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| repeated | albums | SearchAlbumProto | 1 |
| repeated | artists | SearchArtistProto | 2 |
| repeated | tracks | SearchTrackProto | 3 |
| repeated | users | SearchUserProto | 4 |
| repeated | playlists | SearchPlaylistProto | 5 |
| optional | hits | SearchHitsProto | 6 |


## SearchAlbumProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | artist | string | 3 |
| optional | tracks | int32 | 4 |
| optional | releasedAt | int64 | 15 |


## SearchArtistProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | favorited | int32 | 3 |
| optional | tracks | int32 | 4 |
| optional | image | ArtistImageProto | 5 |
| optional | isDeclined | bool | 15 |


## SearchTrackProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | artistId | string | 3 |
| optional | artist | string | 4 |
| optional | albumId | string | 5 |
| optional | album | string | 6 |
| optional | isDeleted | bool | 7 |
| optional | played | int64 | 8 |


## SearchUserProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | favorited | int32 | 3 |
| optional | playlists | int32 | 4 |
| optional | uploadedAt | int64 | 14 |
| optional | isOfficial | bool | 15 |


## SearchPlaylistProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | user | string | 3 |
| repeated | albumIds | string | 4 |
| repeated | thumbnails | PlaylistThumbnailProto | 5 |


## SearchHitsProto

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


## SearchAlbumDetailProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | artist | string | 3 |
| repeated | tracks | SearchTrackProto | 4 |
| optional | releasedAt | int64 | 5 |


## SearchArtistDetailProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| repeated | albums | SearchAlbumDetailProto | 3 |


## SearchPlaylistDetailProto

| label | name | type | number |
| ----- | ---- | ---- | ------ |
| optional | id | string | 1 |
| optional | name | string | 2 |
| optional | userId | string | 3 |
| optional | userName | string | 4 |
| repeated | tracks | SearchTrackProto | 5 |
| repeated | thumbnails | PlaylistThumbnailProto | 6 |


