{{#if endpoint.hasSuccessResponse}}

using namespace {{dtoNamespace}};

{{className}}Loader::{{className}}Loader(ApiClient *apiClient)
	: {{supportNamespace}}::HttpLoader<{{endpoint.resultType}}, {{endpoint.parameterType}}>(apiClient) {}

QString {{className}}Loader::path(const {{endpoint.parameterType}} &params) const {
	Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings
	
	return {{pathStringInterpolation "params"}};
}

QUrlQuery {{className}}Loader::query(const {{endpoint.parameterType}} &params) const {
	Q_UNUSED(params) // Might be overzealous, but I don't like theses kind of warnings

	QUrlQuery result;

	{{#each endpoint.requiredQueryParameters as |p|}}
	result.addQueryItem("{{p.name}}", Support::toString<{{p.type.typeNameWithQualifiers}}>(params.{{p.type.name}}()));

	{{/each}}

	// Optional parameters

	{{#each endpoint.optionalQueryParameters as |p|}}
	if (!params.{{p.type.name}}Null()) {
		result.addQueryItem("{{p.name}}", Support::toString<{{p.type.typeNameWithQualifiers}}>(params.{{p.type.name}}()));
	}

	{{/each}}
	
	return result;
}

{{/if}}
