Add delivery addresses to profile, cart, and orders

This commit is contained in:
Ruslan Bakiev
2026-04-03 10:26:47 +07:00
parent 0aad9177f8
commit 4c82c2437a
11 changed files with 757 additions and 41 deletions

View File

@@ -0,0 +1,44 @@
type DadataAddressSuggestion = {
value: string;
unrestricted_value?: string;
data?: {
fias_id?: string;
};
};
export default defineEventHandler(async (event) => {
const config = useRuntimeConfig(event);
const token = String(config.dadataApiToken || '').trim();
if (!token) {
throw createError({
statusCode: 500,
statusMessage: 'DADATA_API_TOKEN is not configured.',
});
}
const body = await readBody<{ query?: string }>(event);
const query = String(body?.query ?? '').trim();
if (query.length < 2) {
return { suggestions: [] as DadataAddressSuggestion[] };
}
const response = await $fetch<{ suggestions?: DadataAddressSuggestion[] }>(
'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: `Token ${token}`,
},
body: {
query,
count: 10,
},
},
);
return {
suggestions: response.suggestions ?? [],
};
});