extends ../../base
include ../mixins

block meta
	link(rel="stylesheet" href="/docs/assets/api/endpoints/style.css")

block main
	h1= title

	p#url
		span.method POST
		span.host
			= endpointUrl.host
			| /
		span.path= endpointUrl.path

	- var stability = endpoint.stability || 'experimental';
	p#stability(class=stability)
		| Stability:
		b= stability

	if endpoint.desc
		p#desc= endpoint.desc[lang] || endpoint.desc['ja-JP']

	if endpoint.requireCredential
		div.ui.info: p
			i.fas.fa-id-card-alt(style="margin-right: 4px")
			= i18n('docs.api.endpoints.require-credential')

		if endpoint.kind
			div.ui.info: p
				i.fas.fa-unlock-alt(style="margin-right: 4px")
				!= i18n('docs.api.endpoints.require-permission').replace('{permission}', `<code>${endpoint.kind}</code>`)

	if endpoint.limit
		div.ui.info.warn: p
			i.far.fa-clock(style="margin-right: 4px")
			b!= i18n('docs.api.endpoints.has-limit')
			if endpoint.limit.duration
				!= i18n('docs.api.endpoints.duration-limit').replace('{duration}', endpoint.limit.duration).replace('{max}', endpoint.limit.max)
			if endpoint.limit.minInterval
				!= i18n('docs.api.endpoints.min-interval-limit').replace('{interval}', endpoint.limit.minInterval)

	if params && Object.keys(params).length > 0
		section
			h2= i18n('docs.api.endpoints.params')
			+propTable(params)

			if paramDefs
				each paramDef in paramDefs
					section(id= paramDef.name)
						h3= paramDef.name
						+propTable(paramDef.params)
	if params && Object.keys(params).length == 0
		section
			h2= i18n('docs.api.endpoints.params')
			p= i18n('docs.api.endpoints.no-params')

	if res
		section
			h2= i18n('docs.api.endpoints.res')

			if resProps
				+propTable(resProps)

				if resDefs
					each resDef in resDefs
						section(id= resDef.name)
							h3= resDef.name
							+propTable(resDef.props)
			else
				if res.type.startsWith('entity')
					a(href=`/docs/${lang}/api/entities/${kebab(res.entity)}`)= res.entity

block footer
	div.ui.info: p
		i.fas.fa-info-circle(style="margin-right: 4px")
		= i18n('docs.api.endpoints.generated')
	p
		= i18n('docs.api.endpoints.show-src')
		a(href=src target="_blank")= i18n('docs.api.endpoints.show-src-link')
