- Init project
This commit is contained in:
commit
d713dab392
38
.gitignore
vendored
Normal file
38
.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
*.test
|
||||||
|
*.out
|
||||||
|
go.work
|
||||||
|
.idea/**/workspace.xml
|
||||||
|
.idea/**/tasks.xml
|
||||||
|
.idea/**/usage.statistics.xml
|
||||||
|
.idea/**/dictionaries
|
||||||
|
.idea/**/shelf
|
||||||
|
.idea/**/aws.xml
|
||||||
|
.idea/**/contentModel.xml
|
||||||
|
.idea/**/dataSources/
|
||||||
|
.idea/**/dataSources.ids
|
||||||
|
.idea/**/dataSources.local.xml
|
||||||
|
.idea/**/sqlDataSources.xml
|
||||||
|
.idea/**/dynamic.xml
|
||||||
|
.idea/**/uiDesigner.xml
|
||||||
|
.idea/**/dbnavigator.xml
|
||||||
|
.idea/**/gradle.xml
|
||||||
|
.idea/**/libraries
|
||||||
|
cmake-build-*/
|
||||||
|
.idea/**/mongoSettings.xml
|
||||||
|
*.iws
|
||||||
|
out/
|
||||||
|
.idea_modules/
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
.idea/replstate.xml
|
||||||
|
.idea/sonarlint/
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
.idea/httpRequests
|
||||||
|
.idea/caches/build_file_checksums.ser
|
422
api/swagger.yaml
Normal file
422
api/swagger.yaml
Normal file
@ -0,0 +1,422 @@
|
|||||||
|
openapi: 3.0.3
|
||||||
|
|
||||||
|
info:
|
||||||
|
title: YouTube Kids Public API
|
||||||
|
description: For generate API REST clients for Feelter UGC
|
||||||
|
contact:
|
||||||
|
email: garin1221@yandex.ru
|
||||||
|
version: 1.0.0
|
||||||
|
|
||||||
|
servers:
|
||||||
|
- url: https://www.youtubekids.com/youtubei/v1
|
||||||
|
|
||||||
|
tags:
|
||||||
|
- name: browse
|
||||||
|
description: Browse resource content
|
||||||
|
|
||||||
|
paths:
|
||||||
|
|
||||||
|
# Получение контента определенного ресурса, {browseId}
|
||||||
|
/browse:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- browse
|
||||||
|
summary: Browse resource content
|
||||||
|
description: Get content for resource
|
||||||
|
operationId: browse
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/BrowseRequestPayload'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
'application/json':
|
||||||
|
"schema":
|
||||||
|
$ref: '#/components/schemas/BrowseResponsePayload'
|
||||||
|
'400':
|
||||||
|
description: Bad Request
|
||||||
|
content:
|
||||||
|
'application/json':
|
||||||
|
"schema":
|
||||||
|
$ref: '#/components/schemas/ErrorResponsePayload'
|
||||||
|
|
||||||
|
# Компоненты
|
||||||
|
components:
|
||||||
|
# Схемы данных
|
||||||
|
schemas:
|
||||||
|
|
||||||
|
# Ошибка
|
||||||
|
Error:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
domain:
|
||||||
|
type: string
|
||||||
|
reason:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Доступность данных
|
||||||
|
AccessibilityData:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
label:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Доступность
|
||||||
|
Accessibility:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
accessibilityData:
|
||||||
|
$ref: '#/components/schemas/AccessibilityData'
|
||||||
|
|
||||||
|
# WatchEndpoint
|
||||||
|
WatchEndpoint:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
videoId:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# BrowseEndpoint
|
||||||
|
BrowseEndpoint:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
browseId:
|
||||||
|
type: string
|
||||||
|
canonicalBaseUrl:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Конечная точка навигации
|
||||||
|
NavigationEndpoint:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
clickTrackingParams:
|
||||||
|
type: string
|
||||||
|
watchEndpoint:
|
||||||
|
$ref: '#/components/schemas/WatchEndpoint'
|
||||||
|
browseEndpoint:
|
||||||
|
$ref: '#/components/schemas/BrowseEndpoint'
|
||||||
|
|
||||||
|
# Текст -> Runs
|
||||||
|
TextRun:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
text:
|
||||||
|
type: string
|
||||||
|
navigationEndpoint:
|
||||||
|
$ref: '#/components/schemas/NavigationEndpoint'
|
||||||
|
|
||||||
|
# Текст
|
||||||
|
Text:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
runs:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/TextRun'
|
||||||
|
accessibility:
|
||||||
|
$ref: '#/components/schemas/Accessibility'
|
||||||
|
|
||||||
|
# Строковый параметр ключ-зачение
|
||||||
|
KeyStringValue:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
key:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Ассеты категории
|
||||||
|
CategoryAssets:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
assetKey:
|
||||||
|
type: string
|
||||||
|
backgroundColor:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Расширение для владельцев детских видео
|
||||||
|
KidsVideoOwnerExtension:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
externalChannelId:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Thumbnail
|
||||||
|
Thumbnail:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
width:
|
||||||
|
type: number
|
||||||
|
height:
|
||||||
|
type: number
|
||||||
|
|
||||||
|
# Компактный видеорендерер
|
||||||
|
CompactVideoRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
videoId:
|
||||||
|
type: string
|
||||||
|
thumbnail:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
thumbnails:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Thumbnail'
|
||||||
|
title:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
longBylineText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
publishedTimeText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
viewCountText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
lengthText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
navigationEndpoint:
|
||||||
|
$ref: '#/components/schemas/NavigationEndpoint'
|
||||||
|
shortBylineText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
channelThumbnail:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
thumbnails:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Thumbnail'
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
shortViewCountText:
|
||||||
|
$ref: '#/components/schemas/Text'
|
||||||
|
accessibility:
|
||||||
|
$ref: '#/components/schemas/Accessibility'
|
||||||
|
kidsVideoOwnerExtension:
|
||||||
|
$ref: '#/components/schemas/KidsVideoOwnerExtension'
|
||||||
|
|
||||||
|
# Средство визуализации раздела элемента
|
||||||
|
ItemSectionRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
contents:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
compactVideoRenderer:
|
||||||
|
$ref: '#/components/schemas/CompactVideoRenderer'
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Рендер списка разделов
|
||||||
|
SectionListRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
contents:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
itemSectionRenderer:
|
||||||
|
$ref: '#/components/schemas/ItemSectionRenderer'
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Визуализатор закрепленных сечений
|
||||||
|
AnchoredSectionRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
content:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sectionListRenderer:
|
||||||
|
$ref: '#/components/schemas/SectionListRenderer'
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
navigationEndpoint:
|
||||||
|
$ref: '#/components/schemas/NavigationEndpoint'
|
||||||
|
categoryAssets:
|
||||||
|
$ref: '#/components/schemas/CategoryAssets'
|
||||||
|
categoryType:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Якорь экрана
|
||||||
|
ScreenAnchor:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
anchoredSectionRenderer:
|
||||||
|
$ref: '#/components/schemas/AnchoredSectionRenderer'
|
||||||
|
|
||||||
|
# Рендерер экрана
|
||||||
|
ScreenRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
anchors:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/ScreenAnchor'
|
||||||
|
|
||||||
|
# Средство визуализации заголовка категории
|
||||||
|
CategoriesHeaderRenderer:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
# TODO
|
||||||
|
|
||||||
|
# Параметры контента
|
||||||
|
KidsAppContentSettings:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
corpusPreference:
|
||||||
|
type: string
|
||||||
|
example: KIDS_CORPUS_PREFERENCE_TWEEN
|
||||||
|
kidsNoSearchMode:
|
||||||
|
type: string
|
||||||
|
example: YT_KIDS_NO_SEARCH_MODE_OFF
|
||||||
|
|
||||||
|
# Конфигурация категорий
|
||||||
|
KidsAppCategorySettings:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
enabledCategories:
|
||||||
|
type: array
|
||||||
|
example: ["approved_for_you", "black_joy", "camp", "collections", "earth", "explore", "favorites", "gaming", "halloween", "hero", "learning", "making", "move", "music", "reading", "shared_by_parents", "shows", "soccer", "sports", "spotlight", "winter"]
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Параметры приложения
|
||||||
|
KidsAppInfo:
|
||||||
|
type: object
|
||||||
|
description: Kids application configuration
|
||||||
|
properties:
|
||||||
|
contentSettings:
|
||||||
|
$ref: '#/components/schemas/KidsAppContentSettings'
|
||||||
|
categorySettings:
|
||||||
|
$ref: '#/components/schemas/KidsAppCategorySettings'
|
||||||
|
|
||||||
|
# Информация о клиенте в запросе
|
||||||
|
RequestClient:
|
||||||
|
type: object
|
||||||
|
description: Client information
|
||||||
|
properties:
|
||||||
|
clientName:
|
||||||
|
type: string
|
||||||
|
example: WEB_KIDS
|
||||||
|
clientVersion:
|
||||||
|
type: string
|
||||||
|
example: 2.20230202.00.00
|
||||||
|
hl:
|
||||||
|
type: string
|
||||||
|
example: ru
|
||||||
|
gl:
|
||||||
|
type: string
|
||||||
|
example: RU
|
||||||
|
experimentsToken:
|
||||||
|
type: string
|
||||||
|
browserName:
|
||||||
|
type: string
|
||||||
|
example: Safari
|
||||||
|
deviceMake:
|
||||||
|
type: string
|
||||||
|
example: apple
|
||||||
|
browserVersion:
|
||||||
|
type: string
|
||||||
|
example: '16.2'
|
||||||
|
osName:
|
||||||
|
type: string
|
||||||
|
example: Macintosh
|
||||||
|
osVersion:
|
||||||
|
type: string
|
||||||
|
example: 10_15_7
|
||||||
|
platform:
|
||||||
|
type: string
|
||||||
|
example: DESKTOP
|
||||||
|
kidsAppInfo:
|
||||||
|
$ref: '#/components/schemas/KidsAppInfo'
|
||||||
|
|
||||||
|
# Контекст запроса
|
||||||
|
RequestContext:
|
||||||
|
type: object
|
||||||
|
description: Request context
|
||||||
|
properties:
|
||||||
|
client:
|
||||||
|
$ref: '#/components/schemas/RequestClient'
|
||||||
|
|
||||||
|
# Контекст ответа
|
||||||
|
ResponseContext:
|
||||||
|
type: object
|
||||||
|
description: Response context
|
||||||
|
properties:
|
||||||
|
visitorData:
|
||||||
|
type: string
|
||||||
|
maxAgeSeconds:
|
||||||
|
type: number
|
||||||
|
serviceTrackingParams:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
service:
|
||||||
|
type: string
|
||||||
|
params:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/KeyStringValue'
|
||||||
|
|
||||||
|
# Данные для запроса на получение контента определенного ресурса
|
||||||
|
BrowseRequestPayload:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
context:
|
||||||
|
$ref: '#/components/schemas/RequestContext'
|
||||||
|
browseId:
|
||||||
|
type: string
|
||||||
|
example: FEkids_home
|
||||||
|
|
||||||
|
# Ответ на запрос получения контента определенного ресурса
|
||||||
|
BrowseResponsePayload:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
responseContext:
|
||||||
|
$ref: '#/components/schemas/ResponseContext'
|
||||||
|
header:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
kidsCategoriesHeaderRenderer:
|
||||||
|
$ref: '#/components/schemas/CategoriesHeaderRenderer'
|
||||||
|
contents:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
kidsHomeScreenRenderer:
|
||||||
|
$ref: '#/components/schemas/ScreenRenderer'
|
||||||
|
trackingParams:
|
||||||
|
type: string
|
||||||
|
|
||||||
|
# Ответ с ошибкой
|
||||||
|
ErrorResponsePayload:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
error:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
code:
|
||||||
|
type: number
|
||||||
|
example: 400
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
errors:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Error'
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
example: FAILED_PRECONDITION
|
3
generate.go
Normal file
3
generate.go
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
//go:generate go run github.com/ogen-go/ogen/cmd/ogen -target . -clean -generate-tests -no-server -no-webhook-server -no-webhook-client -package go_youtubekids_client ./api/swagger.yaml
|
36
go.mod
Normal file
36
go.mod
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
module githouse.ru/feelter-ugc/go-youtubekids-client
|
||||||
|
|
||||||
|
go 1.20
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/go-faster/errors v0.6.1
|
||||||
|
github.com/go-faster/jx v1.0.0
|
||||||
|
github.com/ogen-go/ogen v0.61.0
|
||||||
|
go.opentelemetry.io/otel v1.14.0
|
||||||
|
go.opentelemetry.io/otel/metric v0.37.0
|
||||||
|
go.opentelemetry.io/otel/trace v1.14.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/dlclark/regexp2 v1.8.1 // indirect
|
||||||
|
github.com/fatih/color v1.15.0 // indirect
|
||||||
|
github.com/ghodss/yaml v1.0.0 // indirect
|
||||||
|
github.com/go-faster/yaml v0.4.3 // indirect
|
||||||
|
github.com/go-logr/logr v1.2.4 // indirect
|
||||||
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.18 // indirect
|
||||||
|
github.com/segmentio/asm v1.2.0 // indirect
|
||||||
|
go.uber.org/atomic v1.10.0 // indirect
|
||||||
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
|
go.uber.org/zap v1.24.0 // indirect
|
||||||
|
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
|
||||||
|
golang.org/x/mod v0.9.0 // indirect
|
||||||
|
golang.org/x/net v0.8.0 // indirect
|
||||||
|
golang.org/x/sync v0.1.0 // indirect
|
||||||
|
golang.org/x/sys v0.6.0 // indirect
|
||||||
|
golang.org/x/text v0.8.0 // indirect
|
||||||
|
golang.org/x/tools v0.7.0 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
)
|
69
go.sum
Normal file
69
go.sum
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/dlclark/regexp2 v1.8.1 h1:6Lcdwya6GjPUNsBct8Lg/yRPwMhABj269AAzdGSiR+0=
|
||||||
|
github.com/dlclark/regexp2 v1.8.1/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
|
||||||
|
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
|
||||||
|
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
|
||||||
|
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
|
||||||
|
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||||
|
github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI=
|
||||||
|
github.com/go-faster/errors v0.6.1/go.mod h1:5MGV2/2T9yvlrbhe9pD9LO5Z/2zCSq2T8j+Jpi2LAyY=
|
||||||
|
github.com/go-faster/jx v1.0.0 h1:HE+ms2e6ZGkZ6u13t8u+onBinrPvIPI+0hWXGELm74g=
|
||||||
|
github.com/go-faster/jx v1.0.0/go.mod h1:zm8SlkwK+H0TYNKYtVJ/7cWFS7soJBQWhcPctKyYL/4=
|
||||||
|
github.com/go-faster/yaml v0.4.3 h1:j7blP1oLA/2aBQEaWUibtrNNIayr49VGHGpR076NB8k=
|
||||||
|
github.com/go-faster/yaml v0.4.3/go.mod h1:K2zdBSnXHZ6/rz8iQ1yxgY+R+ytdlZPzdro0NB8EYxw=
|
||||||
|
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
|
||||||
|
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
||||||
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
|
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||||
|
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||||
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
|
github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
|
||||||
|
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
|
github.com/ogen-go/ogen v0.61.0 h1:U3hkx9ydCL2tb0055ut0o8hWaEOWCs2+rG2rpwCMGPM=
|
||||||
|
github.com/ogen-go/ogen v0.61.0/go.mod h1:Rn43MIqVcT8utwLi45lv7e/a4kPRk+klLsWsgB1z9GQ=
|
||||||
|
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
|
||||||
|
github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
|
||||||
|
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
||||||
|
go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
|
||||||
|
go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
|
||||||
|
go.opentelemetry.io/otel/metric v0.37.0 h1:pHDQuLQOZwYD+Km0eb657A25NaRzy0a+eLyKfDXedEs=
|
||||||
|
go.opentelemetry.io/otel/metric v0.37.0/go.mod h1:DmdaHfGt54iV6UKxsV9slj2bBRJcKC1B1uvDLIioc1s=
|
||||||
|
go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M=
|
||||||
|
go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
|
||||||
|
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
|
||||||
|
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||||
|
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
|
||||||
|
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||||
|
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||||
|
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
|
||||||
|
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
|
||||||
|
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
|
||||||
|
golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
|
||||||
|
golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
|
||||||
|
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
|
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
|
||||||
|
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
|
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
|
||||||
|
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
|
||||||
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
|
||||||
|
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
|
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
|
||||||
|
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||||
|
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
136
oas_cfg_gen.go
Normal file
136
oas_cfg_gen.go
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"go.opentelemetry.io/otel"
|
||||||
|
"go.opentelemetry.io/otel/metric"
|
||||||
|
"go.opentelemetry.io/otel/metric/instrument"
|
||||||
|
"go.opentelemetry.io/otel/trace"
|
||||||
|
|
||||||
|
ht "github.com/ogen-go/ogen/http"
|
||||||
|
"github.com/ogen-go/ogen/otelogen"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// Allocate option closure once.
|
||||||
|
clientSpanKind = trace.WithSpanKind(trace.SpanKindClient)
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
optionFunc[C any] func(*C)
|
||||||
|
otelOptionFunc func(*otelConfig)
|
||||||
|
)
|
||||||
|
|
||||||
|
type otelConfig struct {
|
||||||
|
TracerProvider trace.TracerProvider
|
||||||
|
Tracer trace.Tracer
|
||||||
|
MeterProvider metric.MeterProvider
|
||||||
|
Meter metric.Meter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cfg *otelConfig) initOTEL() {
|
||||||
|
if cfg.TracerProvider == nil {
|
||||||
|
cfg.TracerProvider = otel.GetTracerProvider()
|
||||||
|
}
|
||||||
|
if cfg.MeterProvider == nil {
|
||||||
|
cfg.MeterProvider = metric.NewNoopMeterProvider()
|
||||||
|
}
|
||||||
|
cfg.Tracer = cfg.TracerProvider.Tracer(otelogen.Name,
|
||||||
|
trace.WithInstrumentationVersion(otelogen.SemVersion()),
|
||||||
|
)
|
||||||
|
cfg.Meter = cfg.MeterProvider.Meter(otelogen.Name)
|
||||||
|
}
|
||||||
|
|
||||||
|
type clientConfig struct {
|
||||||
|
otelConfig
|
||||||
|
Client ht.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClientOption is client config option.
|
||||||
|
type ClientOption interface {
|
||||||
|
applyClient(*clientConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ = []ClientOption{
|
||||||
|
(optionFunc[clientConfig])(nil),
|
||||||
|
(otelOptionFunc)(nil),
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o optionFunc[C]) applyClient(c *C) {
|
||||||
|
o(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o otelOptionFunc) applyClient(c *clientConfig) {
|
||||||
|
o(&c.otelConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
func newClientConfig(opts ...ClientOption) clientConfig {
|
||||||
|
cfg := clientConfig{
|
||||||
|
Client: http.DefaultClient,
|
||||||
|
}
|
||||||
|
for _, opt := range opts {
|
||||||
|
opt.applyClient(&cfg)
|
||||||
|
}
|
||||||
|
cfg.initOTEL()
|
||||||
|
return cfg
|
||||||
|
}
|
||||||
|
|
||||||
|
type baseClient struct {
|
||||||
|
cfg clientConfig
|
||||||
|
requests instrument.Int64Counter
|
||||||
|
errors instrument.Int64Counter
|
||||||
|
duration instrument.Int64Histogram
|
||||||
|
}
|
||||||
|
|
||||||
|
func (cfg clientConfig) baseClient() (c baseClient, err error) {
|
||||||
|
c = baseClient{cfg: cfg}
|
||||||
|
if c.requests, err = c.cfg.Meter.Int64Counter(otelogen.ClientRequestCount); err != nil {
|
||||||
|
return c, err
|
||||||
|
}
|
||||||
|
if c.errors, err = c.cfg.Meter.Int64Counter(otelogen.ClientErrorsCount); err != nil {
|
||||||
|
return c, err
|
||||||
|
}
|
||||||
|
if c.duration, err = c.cfg.Meter.Int64Histogram(otelogen.ClientDuration); err != nil {
|
||||||
|
return c, err
|
||||||
|
}
|
||||||
|
return c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Option is config option.
|
||||||
|
type Option interface {
|
||||||
|
ClientOption
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithTracerProvider specifies a tracer provider to use for creating a tracer.
|
||||||
|
//
|
||||||
|
// If none is specified, the global provider is used.
|
||||||
|
func WithTracerProvider(provider trace.TracerProvider) Option {
|
||||||
|
return otelOptionFunc(func(cfg *otelConfig) {
|
||||||
|
if provider != nil {
|
||||||
|
cfg.TracerProvider = provider
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithMeterProvider specifies a meter provider to use for creating a meter.
|
||||||
|
//
|
||||||
|
// If none is specified, the metric.NewNoopMeterProvider is used.
|
||||||
|
func WithMeterProvider(provider metric.MeterProvider) Option {
|
||||||
|
return otelOptionFunc(func(cfg *otelConfig) {
|
||||||
|
if provider != nil {
|
||||||
|
cfg.MeterProvider = provider
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithClient specifies http client to use.
|
||||||
|
func WithClient(client ht.Client) ClientOption {
|
||||||
|
return optionFunc[clientConfig](func(cfg *clientConfig) {
|
||||||
|
if client != nil {
|
||||||
|
cfg.Client = client
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
136
oas_client_gen.go
Normal file
136
oas_client_gen.go
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"net/url"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/go-faster/errors"
|
||||||
|
"go.opentelemetry.io/otel/attribute"
|
||||||
|
"go.opentelemetry.io/otel/codes"
|
||||||
|
"go.opentelemetry.io/otel/trace"
|
||||||
|
|
||||||
|
ht "github.com/ogen-go/ogen/http"
|
||||||
|
"github.com/ogen-go/ogen/otelogen"
|
||||||
|
"github.com/ogen-go/ogen/uri"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Client implements OAS client.
|
||||||
|
type Client struct {
|
||||||
|
serverURL *url.URL
|
||||||
|
baseClient
|
||||||
|
}
|
||||||
|
|
||||||
|
func trimTrailingSlashes(u *url.URL) {
|
||||||
|
u.Path = strings.TrimRight(u.Path, "/")
|
||||||
|
u.RawPath = strings.TrimRight(u.RawPath, "/")
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewClient initializes new Client defined by OAS.
|
||||||
|
func NewClient(serverURL string, opts ...ClientOption) (*Client, error) {
|
||||||
|
u, err := url.Parse(serverURL)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
trimTrailingSlashes(u)
|
||||||
|
|
||||||
|
c, err := newClientConfig(opts...).baseClient()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &Client{
|
||||||
|
serverURL: u,
|
||||||
|
baseClient: c,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type serverURLKey struct{}
|
||||||
|
|
||||||
|
// WithServerURL sets context key to override server URL.
|
||||||
|
func WithServerURL(ctx context.Context, u *url.URL) context.Context {
|
||||||
|
return context.WithValue(ctx, serverURLKey{}, u)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Client) requestURL(ctx context.Context) *url.URL {
|
||||||
|
u, ok := ctx.Value(serverURLKey{}).(*url.URL)
|
||||||
|
if !ok {
|
||||||
|
return c.serverURL
|
||||||
|
}
|
||||||
|
return u
|
||||||
|
}
|
||||||
|
|
||||||
|
// Browse invokes browse operation.
|
||||||
|
//
|
||||||
|
// Get content for resource.
|
||||||
|
//
|
||||||
|
// POST /browse
|
||||||
|
func (c *Client) Browse(ctx context.Context, request *BrowseRequestPayload) (BrowseRes, error) {
|
||||||
|
res, err := c.sendBrowse(ctx, request)
|
||||||
|
_ = res
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Client) sendBrowse(ctx context.Context, request *BrowseRequestPayload) (res BrowseRes, err error) {
|
||||||
|
otelAttrs := []attribute.KeyValue{
|
||||||
|
otelogen.OperationID("browse"),
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run stopwatch.
|
||||||
|
startTime := time.Now()
|
||||||
|
defer func() {
|
||||||
|
elapsedDuration := time.Since(startTime)
|
||||||
|
c.duration.Record(ctx, elapsedDuration.Microseconds(), otelAttrs...)
|
||||||
|
}()
|
||||||
|
|
||||||
|
// Increment request counter.
|
||||||
|
c.requests.Add(ctx, 1, otelAttrs...)
|
||||||
|
|
||||||
|
// Start a span for this request.
|
||||||
|
ctx, span := c.cfg.Tracer.Start(ctx, "Browse",
|
||||||
|
trace.WithAttributes(otelAttrs...),
|
||||||
|
clientSpanKind,
|
||||||
|
)
|
||||||
|
// Track stage for error reporting.
|
||||||
|
var stage string
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
span.RecordError(err)
|
||||||
|
span.SetStatus(codes.Error, stage)
|
||||||
|
c.errors.Add(ctx, 1, otelAttrs...)
|
||||||
|
}
|
||||||
|
span.End()
|
||||||
|
}()
|
||||||
|
|
||||||
|
stage = "BuildURL"
|
||||||
|
u := uri.Clone(c.requestURL(ctx))
|
||||||
|
var pathParts [1]string
|
||||||
|
pathParts[0] = "/browse"
|
||||||
|
uri.AddPathParts(u, pathParts[:]...)
|
||||||
|
|
||||||
|
stage = "EncodeRequest"
|
||||||
|
r, err := ht.NewRequest(ctx, "POST", u, nil)
|
||||||
|
if err != nil {
|
||||||
|
return res, errors.Wrap(err, "create request")
|
||||||
|
}
|
||||||
|
if err := encodeBrowseRequest(request, r); err != nil {
|
||||||
|
return res, errors.Wrap(err, "encode request")
|
||||||
|
}
|
||||||
|
|
||||||
|
stage = "SendRequest"
|
||||||
|
resp, err := c.cfg.Client.Do(r)
|
||||||
|
if err != nil {
|
||||||
|
return res, errors.Wrap(err, "do request")
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
stage = "DecodeResponse"
|
||||||
|
result, err := decodeBrowseResponse(resp)
|
||||||
|
if err != nil {
|
||||||
|
return res, errors.Wrap(err, "decode response")
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
928
oas_faker_gen.go
Normal file
928
oas_faker_gen.go
Normal file
@ -0,0 +1,928 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *Accessibility) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.AccessibilityData.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *AccessibilityData) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Label.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *AnchoredSectionRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Title.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Content.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.NavigationEndpoint.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CategoryAssets.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CategoryType.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *AnchoredSectionRendererContent) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.SectionListRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *BrowseEndpoint) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BrowseId.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CanonicalBaseUrl.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *BrowseRequestPayload) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Context.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BrowseId.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *BrowseResponsePayload) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ResponseContext.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Header.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Contents.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *BrowseResponsePayloadContents) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.KidsHomeScreenRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *BrowseResponsePayloadHeader) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.KidsCategoriesHeaderRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *CategoriesHeaderRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *CategoryAssets) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.AssetKey.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BackgroundColor.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *CompactVideoRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.VideoId.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Thumbnail.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Title.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.LongBylineText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.PublishedTimeText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ViewCountText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.LengthText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.NavigationEndpoint.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ShortBylineText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ChannelThumbnail.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ShortViewCountText.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Accessibility.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.KidsVideoOwnerExtension.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *CompactVideoRendererChannelThumbnail) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Thumbnails = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem Thumbnail
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Thumbnails = append(s.Thumbnails, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *CompactVideoRendererThumbnail) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Thumbnails = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem Thumbnail
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Thumbnails = append(s.Thumbnails, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *Error) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Message.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Domain.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Reason.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ErrorResponsePayload) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Error.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ErrorResponsePayloadError) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Code.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Message.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Errors = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem Error
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Errors = append(s.Errors, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Status.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ItemSectionRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Contents = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem ItemSectionRendererContentsItem
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Contents = append(s.Contents, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ItemSectionRendererContentsItem) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CompactVideoRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *KeyStringValue) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Key.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Value.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *KidsAppCategorySettings) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.EnabledCategories = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem string
|
||||||
|
{
|
||||||
|
elem = "string"
|
||||||
|
}
|
||||||
|
s.EnabledCategories = append(s.EnabledCategories, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *KidsAppContentSettings) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CorpusPreference.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.KidsNoSearchMode.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *KidsAppInfo) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ContentSettings.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.CategorySettings.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *KidsVideoOwnerExtension) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ExternalChannelId.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *NavigationEndpoint) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ClickTrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.WatchEndpoint.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BrowseEndpoint.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptAccessibility) SetFake() {
|
||||||
|
var elem Accessibility
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptAccessibilityData) SetFake() {
|
||||||
|
var elem AccessibilityData
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptAnchoredSectionRenderer) SetFake() {
|
||||||
|
var elem AnchoredSectionRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptAnchoredSectionRendererContent) SetFake() {
|
||||||
|
var elem AnchoredSectionRendererContent
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptBrowseEndpoint) SetFake() {
|
||||||
|
var elem BrowseEndpoint
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptBrowseResponsePayloadContents) SetFake() {
|
||||||
|
var elem BrowseResponsePayloadContents
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptBrowseResponsePayloadHeader) SetFake() {
|
||||||
|
var elem BrowseResponsePayloadHeader
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptCategoriesHeaderRenderer) SetFake() {
|
||||||
|
var elem CategoriesHeaderRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptCategoryAssets) SetFake() {
|
||||||
|
var elem CategoryAssets
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptCompactVideoRenderer) SetFake() {
|
||||||
|
var elem CompactVideoRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptCompactVideoRendererChannelThumbnail) SetFake() {
|
||||||
|
var elem CompactVideoRendererChannelThumbnail
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptCompactVideoRendererThumbnail) SetFake() {
|
||||||
|
var elem CompactVideoRendererThumbnail
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptErrorResponsePayloadError) SetFake() {
|
||||||
|
var elem ErrorResponsePayloadError
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptFloat64) SetFake() {
|
||||||
|
var elem float64
|
||||||
|
{
|
||||||
|
elem = float64(0)
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptItemSectionRenderer) SetFake() {
|
||||||
|
var elem ItemSectionRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptKidsAppCategorySettings) SetFake() {
|
||||||
|
var elem KidsAppCategorySettings
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptKidsAppContentSettings) SetFake() {
|
||||||
|
var elem KidsAppContentSettings
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptKidsAppInfo) SetFake() {
|
||||||
|
var elem KidsAppInfo
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptKidsVideoOwnerExtension) SetFake() {
|
||||||
|
var elem KidsVideoOwnerExtension
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptNavigationEndpoint) SetFake() {
|
||||||
|
var elem NavigationEndpoint
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptRequestClient) SetFake() {
|
||||||
|
var elem RequestClient
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptRequestContext) SetFake() {
|
||||||
|
var elem RequestContext
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptResponseContext) SetFake() {
|
||||||
|
var elem ResponseContext
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptScreenRenderer) SetFake() {
|
||||||
|
var elem ScreenRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptSectionListRenderer) SetFake() {
|
||||||
|
var elem SectionListRenderer
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptString) SetFake() {
|
||||||
|
var elem string
|
||||||
|
{
|
||||||
|
elem = "string"
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptText) SetFake() {
|
||||||
|
var elem Text
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *OptWatchEndpoint) SetFake() {
|
||||||
|
var elem WatchEndpoint
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.SetTo(elem)
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *RequestClient) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ClientName.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ClientVersion.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Hl.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Gl.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ExperimentsToken.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BrowserName.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.DeviceMake.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.BrowserVersion.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.OsName.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.OsVersion.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Platform.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.KidsAppInfo.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *RequestContext) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Client.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ResponseContext) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.VisitorData.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.MaxAgeSeconds.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ServiceTrackingParams = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem ResponseContextServiceTrackingParamsItem
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.ServiceTrackingParams = append(s.ServiceTrackingParams, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ResponseContextServiceTrackingParamsItem) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Service.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Params = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem KeyStringValue
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Params = append(s.Params, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ScreenAnchor) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.AnchoredSectionRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *ScreenRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Anchors = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem ScreenAnchor
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Anchors = append(s.Anchors, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *SectionListRenderer) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Contents = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem SectionListRendererContentsItem
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Contents = append(s.Contents, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.TrackingParams.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *SectionListRendererContentsItem) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.ItemSectionRenderer.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *Text) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Runs = nil
|
||||||
|
for i := 0; i < 0; i++ {
|
||||||
|
var elem TextRun
|
||||||
|
{
|
||||||
|
elem.SetFake()
|
||||||
|
}
|
||||||
|
s.Runs = append(s.Runs, elem)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Accessibility.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *TextRun) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Text.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.NavigationEndpoint.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *Thumbnail) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.URL.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Width.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.Height.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetFake set fake values.
|
||||||
|
func (s *WatchEndpoint) SetFake() {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
s.VideoId.SetFake()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
oas_interfaces_gen.go
Normal file
6
oas_interfaces_gen.go
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
type BrowseRes interface {
|
||||||
|
browseRes()
|
||||||
|
}
|
4297
oas_json_gen.go
Normal file
4297
oas_json_gen.go
Normal file
File diff suppressed because it is too large
Load Diff
26
oas_request_encoders_gen.go
Normal file
26
oas_request_encoders_gen.go
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/go-faster/jx"
|
||||||
|
|
||||||
|
ht "github.com/ogen-go/ogen/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
func encodeBrowseRequest(
|
||||||
|
req *BrowseRequestPayload,
|
||||||
|
r *http.Request,
|
||||||
|
) error {
|
||||||
|
const contentType = "application/json"
|
||||||
|
e := jx.GetEncoder()
|
||||||
|
{
|
||||||
|
req.Encode(e)
|
||||||
|
}
|
||||||
|
encoded := e.Bytes()
|
||||||
|
ht.SetBody(r, bytes.NewReader(encoded), contentType)
|
||||||
|
return nil
|
||||||
|
}
|
91
oas_response_decoders_gen.go
Normal file
91
oas_response_decoders_gen.go
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
"mime"
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/go-faster/errors"
|
||||||
|
"github.com/go-faster/jx"
|
||||||
|
|
||||||
|
"github.com/ogen-go/ogen/ogenerrors"
|
||||||
|
"github.com/ogen-go/ogen/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
func decodeBrowseResponse(resp *http.Response) (res BrowseRes, err error) {
|
||||||
|
switch resp.StatusCode {
|
||||||
|
case 200:
|
||||||
|
// Code 200.
|
||||||
|
ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
|
||||||
|
if err != nil {
|
||||||
|
return res, errors.Wrap(err, "parse media type")
|
||||||
|
}
|
||||||
|
switch {
|
||||||
|
case ct == "application/json":
|
||||||
|
buf, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
d := jx.DecodeBytes(buf)
|
||||||
|
|
||||||
|
var response BrowseResponsePayload
|
||||||
|
if err := func() error {
|
||||||
|
if err := response.Decode(d); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := d.Skip(); err != io.EOF {
|
||||||
|
return errors.New("unexpected trailing data")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
err = &ogenerrors.DecodeBodyError{
|
||||||
|
ContentType: ct,
|
||||||
|
Body: buf,
|
||||||
|
Err: err,
|
||||||
|
}
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
return &response, nil
|
||||||
|
default:
|
||||||
|
return res, validate.InvalidContentType(ct)
|
||||||
|
}
|
||||||
|
case 400:
|
||||||
|
// Code 400.
|
||||||
|
ct, _, err := mime.ParseMediaType(resp.Header.Get("Content-Type"))
|
||||||
|
if err != nil {
|
||||||
|
return res, errors.Wrap(err, "parse media type")
|
||||||
|
}
|
||||||
|
switch {
|
||||||
|
case ct == "application/json":
|
||||||
|
buf, err := io.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
d := jx.DecodeBytes(buf)
|
||||||
|
|
||||||
|
var response ErrorResponsePayload
|
||||||
|
if err := func() error {
|
||||||
|
if err := response.Decode(d); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := d.Skip(); err != io.EOF {
|
||||||
|
return errors.New("unexpected trailing data")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
err = &ogenerrors.DecodeBodyError{
|
||||||
|
ContentType: ct,
|
||||||
|
Body: buf,
|
||||||
|
Err: err,
|
||||||
|
}
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
return &response, nil
|
||||||
|
default:
|
||||||
|
return res, validate.InvalidContentType(ct)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res, validate.UnexpectedStatusCode(resp.StatusCode)
|
||||||
|
}
|
2439
oas_schemas_gen.go
Normal file
2439
oas_schemas_gen.go
Normal file
File diff suppressed because it is too large
Load Diff
457
oas_test_examples_gen_test.go
Normal file
457
oas_test_examples_gen_test.go
Normal file
@ -0,0 +1,457 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-faster/jx"
|
||||||
|
|
||||||
|
std "encoding/json"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAccessibility_EncodeDecode(t *testing.T) {
|
||||||
|
var typ Accessibility
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 Accessibility
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestAccessibilityData_EncodeDecode(t *testing.T) {
|
||||||
|
var typ AccessibilityData
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 AccessibilityData
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestAnchoredSectionRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ AnchoredSectionRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 AnchoredSectionRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestAnchoredSectionRendererContent_EncodeDecode(t *testing.T) {
|
||||||
|
var typ AnchoredSectionRendererContent
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 AnchoredSectionRendererContent
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestBrowseEndpoint_EncodeDecode(t *testing.T) {
|
||||||
|
var typ BrowseEndpoint
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 BrowseEndpoint
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestBrowseRequestPayload_EncodeDecode(t *testing.T) {
|
||||||
|
var typ BrowseRequestPayload
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 BrowseRequestPayload
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestBrowseResponsePayload_EncodeDecode(t *testing.T) {
|
||||||
|
var typ BrowseResponsePayload
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 BrowseResponsePayload
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestBrowseResponsePayloadContents_EncodeDecode(t *testing.T) {
|
||||||
|
var typ BrowseResponsePayloadContents
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 BrowseResponsePayloadContents
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestBrowseResponsePayloadHeader_EncodeDecode(t *testing.T) {
|
||||||
|
var typ BrowseResponsePayloadHeader
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 BrowseResponsePayloadHeader
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestCategoriesHeaderRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ CategoriesHeaderRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 CategoriesHeaderRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestCategoryAssets_EncodeDecode(t *testing.T) {
|
||||||
|
var typ CategoryAssets
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 CategoryAssets
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestCompactVideoRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ CompactVideoRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 CompactVideoRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestCompactVideoRendererChannelThumbnail_EncodeDecode(t *testing.T) {
|
||||||
|
var typ CompactVideoRendererChannelThumbnail
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 CompactVideoRendererChannelThumbnail
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestCompactVideoRendererThumbnail_EncodeDecode(t *testing.T) {
|
||||||
|
var typ CompactVideoRendererThumbnail
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 CompactVideoRendererThumbnail
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestError_EncodeDecode(t *testing.T) {
|
||||||
|
var typ Error
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 Error
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestErrorResponsePayload_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ErrorResponsePayload
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ErrorResponsePayload
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestErrorResponsePayloadError_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ErrorResponsePayloadError
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ErrorResponsePayloadError
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestItemSectionRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ItemSectionRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ItemSectionRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestItemSectionRendererContentsItem_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ItemSectionRendererContentsItem
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ItemSectionRendererContentsItem
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestKeyStringValue_EncodeDecode(t *testing.T) {
|
||||||
|
var typ KeyStringValue
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 KeyStringValue
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestKidsAppCategorySettings_EncodeDecode(t *testing.T) {
|
||||||
|
var typ KidsAppCategorySettings
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 KidsAppCategorySettings
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestKidsAppContentSettings_EncodeDecode(t *testing.T) {
|
||||||
|
var typ KidsAppContentSettings
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 KidsAppContentSettings
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestKidsAppInfo_EncodeDecode(t *testing.T) {
|
||||||
|
var typ KidsAppInfo
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 KidsAppInfo
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestKidsVideoOwnerExtension_EncodeDecode(t *testing.T) {
|
||||||
|
var typ KidsVideoOwnerExtension
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 KidsVideoOwnerExtension
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestNavigationEndpoint_EncodeDecode(t *testing.T) {
|
||||||
|
var typ NavigationEndpoint
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 NavigationEndpoint
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestRequestClient_EncodeDecode(t *testing.T) {
|
||||||
|
var typ RequestClient
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 RequestClient
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestRequestContext_EncodeDecode(t *testing.T) {
|
||||||
|
var typ RequestContext
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 RequestContext
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestResponseContext_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ResponseContext
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ResponseContext
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestResponseContextServiceTrackingParamsItem_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ResponseContextServiceTrackingParamsItem
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ResponseContextServiceTrackingParamsItem
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestScreenAnchor_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ScreenAnchor
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ScreenAnchor
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestScreenRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ ScreenRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 ScreenRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestSectionListRenderer_EncodeDecode(t *testing.T) {
|
||||||
|
var typ SectionListRenderer
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 SectionListRenderer
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestSectionListRendererContentsItem_EncodeDecode(t *testing.T) {
|
||||||
|
var typ SectionListRendererContentsItem
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 SectionListRendererContentsItem
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestText_EncodeDecode(t *testing.T) {
|
||||||
|
var typ Text
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 Text
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestTextRun_EncodeDecode(t *testing.T) {
|
||||||
|
var typ TextRun
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 TextRun
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestThumbnail_EncodeDecode(t *testing.T) {
|
||||||
|
var typ Thumbnail
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 Thumbnail
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
||||||
|
func TestWatchEndpoint_EncodeDecode(t *testing.T) {
|
||||||
|
var typ WatchEndpoint
|
||||||
|
typ.SetFake()
|
||||||
|
|
||||||
|
e := jx.Encoder{}
|
||||||
|
typ.Encode(&e)
|
||||||
|
data := e.Bytes()
|
||||||
|
require.True(t, std.Valid(data), "Encoded: %s", data)
|
||||||
|
|
||||||
|
var typ2 WatchEndpoint
|
||||||
|
require.NoError(t, typ2.Decode(jx.DecodeBytes(data)))
|
||||||
|
}
|
527
oas_validators_gen.go
Normal file
527
oas_validators_gen.go
Normal file
@ -0,0 +1,527 @@
|
|||||||
|
// Code generated by ogen, DO NOT EDIT.
|
||||||
|
|
||||||
|
package go_youtubekids_client
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/go-faster/errors"
|
||||||
|
|
||||||
|
"github.com/ogen-go/ogen/validate"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (s *AnchoredSectionRenderer) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.Content.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.Content.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "content",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *AnchoredSectionRendererContent) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.SectionListRenderer.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.SectionListRenderer.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "sectionListRenderer",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *BrowseResponsePayload) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.ResponseContext.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.ResponseContext.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "responseContext",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if err := func() error {
|
||||||
|
if s.Contents.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.Contents.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "contents",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *BrowseResponsePayloadContents) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.KidsHomeScreenRenderer.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.KidsHomeScreenRenderer.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "kidsHomeScreenRenderer",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *CompactVideoRenderer) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.Thumbnail.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.Thumbnail.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "thumbnail",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if err := func() error {
|
||||||
|
if s.ChannelThumbnail.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.ChannelThumbnail.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "channelThumbnail",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *CompactVideoRendererChannelThumbnail) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
for i, elem := range s.Thumbnails {
|
||||||
|
if err := func() error {
|
||||||
|
if err := elem.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: fmt.Sprintf("[%d]", i),
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "thumbnails",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *CompactVideoRendererThumbnail) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
for i, elem := range s.Thumbnails {
|
||||||
|
if err := func() error {
|
||||||
|
if err := elem.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: fmt.Sprintf("[%d]", i),
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "thumbnails",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ErrorResponsePayload) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.Error.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.Error.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "error",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ErrorResponsePayloadError) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.Code.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := (validate.Float{}).Validate(float64(s.Code.Value)); err != nil {
|
||||||
|
return errors.Wrap(err, "float")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "code",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ItemSectionRenderer) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
for i, elem := range s.Contents {
|
||||||
|
if err := func() error {
|
||||||
|
if err := elem.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: fmt.Sprintf("[%d]", i),
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "contents",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ItemSectionRendererContentsItem) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.CompactVideoRenderer.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.CompactVideoRenderer.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "compactVideoRenderer",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ResponseContext) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.MaxAgeSeconds.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := (validate.Float{}).Validate(float64(s.MaxAgeSeconds.Value)); err != nil {
|
||||||
|
return errors.Wrap(err, "float")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "maxAgeSeconds",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ScreenAnchor) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.AnchoredSectionRenderer.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.AnchoredSectionRenderer.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "anchoredSectionRenderer",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *ScreenRenderer) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
for i, elem := range s.Anchors {
|
||||||
|
if err := func() error {
|
||||||
|
if err := elem.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: fmt.Sprintf("[%d]", i),
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "anchors",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *SectionListRenderer) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
for i, elem := range s.Contents {
|
||||||
|
if err := func() error {
|
||||||
|
if err := elem.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: fmt.Sprintf("[%d]", i),
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "contents",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *SectionListRendererContentsItem) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.ItemSectionRenderer.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := s.ItemSectionRenderer.Value.Validate(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "itemSectionRenderer",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func (s *Thumbnail) Validate() error {
|
||||||
|
var failures []validate.FieldError
|
||||||
|
if err := func() error {
|
||||||
|
if s.Width.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := (validate.Float{}).Validate(float64(s.Width.Value)); err != nil {
|
||||||
|
return errors.Wrap(err, "float")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "width",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if err := func() error {
|
||||||
|
if s.Height.Set {
|
||||||
|
if err := func() error {
|
||||||
|
if err := (validate.Float{}).Validate(float64(s.Height.Value)); err != nil {
|
||||||
|
return errors.Wrap(err, "float")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}(); err != nil {
|
||||||
|
failures = append(failures, validate.FieldError{
|
||||||
|
Name: "height",
|
||||||
|
Error: err,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if len(failures) > 0 {
|
||||||
|
return &validate.Error{Fields: failures}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user