feat: předělání historie a profilu

This commit is contained in:
Ondřej Anděl committed 2026-10-07 14:48:21 +02:00
1 parent 9e72f431a1
commit 8fa7f601f2
97 files changed
+7502 -1034

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
"use strict";
// This file is auto-generated by @hey-api/openapi-ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.client = void 0;
const client_fetch_1 = require("@hey-api/client-fetch");
exports.client = (0, client_fetch_1.createClient)((0, client_fetch_1.createConfig)());
+19
View File
@@ -0,0 +1,19 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
// This file is auto-generated by @hey-api/openapi-ts
__exportStar(require("./types.gen"), exports);
__exportStar(require("./sdk.gen"), exports);
+585
View File
@@ -0,0 +1,585 @@
"use strict";
// This file is auto-generated by @hey-api/openapi-ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.importLuncher = exports.saveProfile = exports.saveBasalCalories = exports.saveSourceRate = exports.getSettings = exports.searchCalories = exports.createMealTemplateFromMeal = exports.applyMealTemplate = exports.deleteMealTemplate = exports.saveMealTemplate = exports.getMealTemplates = exports.createWorkoutTemplateFromActivities = exports.applyWorkoutTemplate = exports.deleteWorkoutTemplate = exports.saveWorkoutTemplate = exports.getWorkoutTemplates = exports.setActivityMultiplier = exports.deleteActivity = exports.updateActivity = exports.addActivity = exports.saveSleep = exports.getDayOverview = exports.getFoodStats = exports.setMealMultiplier = exports.deleteMeal = exports.updateMeal = exports.addMeal = exports.getRange = exports.getDay = exports.getConfig = exports.login = void 0;
const client_gen_1 = require("./client.gen");
/**
* Přihlásí uživatele a vrátí JWT token.
*/
const login = (options) => {
return (options?.client ?? client_gen_1.client).post({
url: '/login',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.login = login;
/**
* Vrátí veřejnou runtime konfiguraci klienta.
*/
const getConfig = (options) => {
return (options?.client ?? client_gen_1.client).get({
url: '/config',
...options
});
};
exports.getConfig = getConfig;
/**
* Vrátí jídla přihlášeného uživatele za jeden den.
*/
const getDay = (options) => {
return (options?.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/day',
...options
});
};
exports.getDay = getDay;
/**
* Vrátí jídla přihlášeného uživatele za rozsah dnů.
*/
const getRange = (options) => {
return (options.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/range',
...options
});
};
exports.getRange = getRange;
/**
* Přidá jídlo do zvoleného dne.
*/
const addMeal = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/add',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.addMeal = addMeal;
/**
* Upraví existující záznam o jídle.
*/
const updateMeal = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/update',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.updateMeal = updateMeal;
/**
* Smaže záznam o jídle.
*/
const deleteMeal = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/delete',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.deleteMeal = deleteMeal;
/**
* Nastaví násobek porce jídla přímo z přehledu dne, bez úpravy ostatních údajů.
*
*/
const setMealMultiplier = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/meals/multiplier',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.setMealMultiplier = setMealMultiplier;
/**
* Vrátí statistiky útraty a jídel za zvolené období.
*/
const getFoodStats = (options) => {
return (options.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/stats/summary',
...options
});
};
exports.getFoodStats = getFoodStats;
/**
* Vrátí kompletní přehled dne — jídlo, pohyb a energetickou bilanci.
*/
const getDayOverview = (options) => {
return (options?.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/day',
...options
});
};
exports.getDayOverview = getDayOverview;
/**
* Uloží délku spánku pro zvolený den.
*/
const saveSleep = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/day/sleep',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveSleep = saveSleep;
/**
* Přidá pohybovou aktivitu do zvoleného dne.
*/
const addActivity = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/activities/add',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.addActivity = addActivity;
/**
* Upraví existující aktivitu.
*/
const updateActivity = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/activities/update',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.updateActivity = updateActivity;
/**
* Smaže aktivitu.
*/
const deleteActivity = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/activities/delete',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.deleteActivity = deleteActivity;
/**
* Nastaví násobek aktivity přímo z přehledu dne, bez úpravy ostatních údajů.
*
*/
const setActivityMultiplier = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/activities/multiplier',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.setActivityMultiplier = setActivityMultiplier;
/**
* Vrátí šablony tréninků přihlášeného uživatele.
*/
const getWorkoutTemplates = (options) => {
return (options?.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/workouts',
...options
});
};
exports.getWorkoutTemplates = getWorkoutTemplates;
/**
* Založí novou šablonu tréninku, nebo upraví existující.
*/
const saveWorkoutTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/workouts/save',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveWorkoutTemplate = saveWorkoutTemplate;
/**
* Smaže šablonu tréninku.
*/
const deleteWorkoutTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/workouts/delete',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.deleteWorkoutTemplate = deleteWorkoutTemplate;
/**
* Založí do zvoleného dne všechny položky šablony tréninku.
*/
const applyWorkoutTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/workouts/apply',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.applyWorkoutTemplate = applyWorkoutTemplate;
/**
* Vytvoří šablonu tréninku z aktivit zaznamenaných v přehledu dne.
* Bez výčtu identifikátorů se použijí všechny aktivity daného dne.
*
*/
const createWorkoutTemplateFromActivities = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/workouts/fromActivities',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.createWorkoutTemplateFromActivities = createWorkoutTemplateFromActivities;
/**
* Vrátí šablony jídel přihlášeného uživatele.
*/
const getMealTemplates = (options) => {
return (options?.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/mealTemplates',
...options
});
};
exports.getMealTemplates = getMealTemplates;
/**
* Založí novou šablonu jídla, nebo upraví existující.
*/
const saveMealTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/mealTemplates/save',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveMealTemplate = saveMealTemplate;
/**
* Smaže šablonu jídla.
*/
const deleteMealTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/mealTemplates/delete',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.deleteMealTemplate = deleteMealTemplate;
/**
* Založí jídlo ze šablony do zvoleného dne.
*/
const applyMealTemplate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/mealTemplates/apply',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.applyMealTemplate = applyMealTemplate;
/**
* Vytvoří šablonu jídla z existujícího záznamu v přehledu dne.
*/
const createMealTemplateFromMeal = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/mealTemplates/fromMeal',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.createMealTemplateFromMeal = createMealTemplateFromMeal;
/**
* Najde návrhy energetické hodnoty pro název jídla — z vlastní knihovny
* dřívějších zadání a od externího poskytovatele.
*
*/
const searchCalories = (options) => {
return (options.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/calories/search',
...options
});
};
exports.searchCalories = searchCalories;
/**
* Vrátí nastavení přihlášeného uživatele.
*/
const getSettings = (options) => {
return (options?.client ?? client_gen_1.client).get({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/settings',
...options
});
};
exports.getSettings = getSettings;
/**
* Uloží nebo smaže cenu za 100 g u jednoho zdroje.
*/
const saveSourceRate = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/settings',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveSourceRate = saveSourceRate;
/**
* Uloží klidový výdej (bazální metabolismus) přihlášeného uživatele.
*/
const saveBasalCalories = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/settings/basal',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveBasalCalories = saveBasalCalories;
/**
* Uloží tělesné údaje uživatele a přepočte z nich klidový výdej.
*/
const saveProfile = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/settings/profile',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.saveProfile = saveProfile;
/**
* Naimportuje měsíční přehled vyexportovaný z Luncheru (XLSX, CSV nebo JSON).
* Řádky se založí do dnů, ke kterým patří, ve výchozím stavu jako oběd.
*
*/
const importLuncher = (options) => {
return (options.client ?? client_gen_1.client).post({
security: [
{
scheme: 'bearer',
type: 'http'
}
],
url: '/import/luncher',
...options,
headers: {
'Content-Type': 'application/json',
...options?.headers
}
});
};
exports.importLuncher = importLuncher;
+66
View File
@@ -0,0 +1,66 @@
"use strict";
// This file is auto-generated by @hey-api/openapi-ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.MealTemplateKind = exports.ImportMode = exports.WorkoutItemKind = exports.Pohlavi = exports.ActivityUnit = exports.MealType = void 0;
/**
* Typ jídla (chod v rámci dne). Importy z Luncheru se zakládají jako OBED,
* pokud se při importu neurčí jinak.
*
*/
exports.MealType = {
SNIDANE: 'SNIDANE',
DOPOLEDNI_SVACINA: 'DOPOLEDNI_SVACINA',
OBED: 'OBED',
ODPOLEDNI_SVACINA: 'ODPOLEDNI_SVACINA',
VECERE: 'VECERE',
JINE: 'JINE'
};
/**
* Jednotka, ve které se aktivita měří
*/
exports.ActivityUnit = {
KROKY: 'KROKY',
MINUTY: 'MINUTY',
SEKUNDY: 'SEKUNDY',
KM: 'KM',
OPAKOVANI: 'OPAKOVANI'
};
/**
* Pohlaví — vstupuje do výpočtu bazálního metabolismu
*/
exports.Pohlavi = {
MUZ: 'MUZ',
ZENA: 'ZENA'
};
/**
* Druh položky šablony — buď přímo cvik, nebo odkaz na jinou šablonu.
* Zanoření je povolené jen na jednu úroveň.
*
*/
exports.WorkoutItemKind = {
CVIK: 'CVIK',
SABLONA: 'SABLONA'
};
/**
* Jak naložit s dřívějším importem týchž dnů.
* PRIDAT — nové řádky se přidají, řádky už jednou naimportované se přeskočí.
* NAHRADIT — v dnech, do kterých se importuje, se dřívější importované
* záznamy odeberou a založí se znovu. Ručně zadaná jídla zůstávají vždy.
*
*/
exports.ImportMode = {
PRIDAT: 'PRIDAT',
NAHRADIT: 'NAHRADIT'
};
/**
* Druh šablony jídla.
* HOTOVE — objednané nebo koupené jídlo; stačí si pamatovat výsledné
* hodnoty porce (kcal, cenu), aby se nemusely dohledávat znovu.
* RECEPT — vařené jídlo; eviduje se, z čeho a jak vzniklo, a hodnoty
* porce se dopočítají ze surovin.
*
*/
exports.MealTemplateKind = {
HOTOVE: 'HOTOVE',
RECEPT: 'RECEPT'
};
+17
View File
@@ -0,0 +1,17 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./gen"), exports);
+15
View File
@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const openapi_ts_1 = require("@hey-api/openapi-ts");
exports.default = {
input: 'api.yml',
output: 'gen',
plugins: [
...openapi_ts_1.defaultPlugins,
'@hey-api/client-fetch',
{
enums: 'javascript',
name: '@hey-api/typescript',
},
],
};