mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 12:29:36 +01:00
feat(cli): Stammdaten-TUI mit Master Data API-Anbindung
- Neue Screens: Kategorien, Lieferanten, Artikel, Kunden (jeweils Liste, Detail, Anlegen + Detailaktionen wie Bewertung, Zertifikate, Verkaufseinheiten, Lieferadressen, Präferenzen) - API-Client: Resources für alle 4 Stammdaten-Aggregate implementiert (categories, suppliers, articles, customers) mit Mapping von verschachtelten Domain-VOs auf flache DTOs - Lieferant, Artikel, Kategorie: echte HTTP-Calls gegen Backend (/api/suppliers, /api/articles, /api/categories, /api/customers) - 204-No-Content-Endpoints (removeSalesUnit, removeSupplier, removeCertificate, removeDeliveryAddress, removeFrameContract) lösen Re-Fetch des Aggregats aus - MasterdataMenu, Navigation-Erweiterung, App.tsx-Routing
This commit is contained in:
parent
797f435a49
commit
d27dbaa843
30 changed files with 3882 additions and 1 deletions
|
|
@ -18,6 +18,10 @@ export type { TokenProvider } from './token-provider.js';
|
|||
export { createAuthResource } from './resources/auth.js';
|
||||
export { createUsersResource } from './resources/users.js';
|
||||
export { createRolesResource } from './resources/roles.js';
|
||||
export { createCategoriesResource } from './resources/categories.js';
|
||||
export { createSuppliersResource } from './resources/suppliers.js';
|
||||
export { createArticlesResource } from './resources/articles.js';
|
||||
export { createCustomersResource } from './resources/customers.js';
|
||||
export {
|
||||
ApiError,
|
||||
AuthenticationError,
|
||||
|
|
@ -41,11 +45,64 @@ export type {
|
|||
UsersResource,
|
||||
} from './resources/users.js';
|
||||
export type { RolesResource } from './resources/roles.js';
|
||||
export type {
|
||||
ProductCategoryDTO,
|
||||
CreateCategoryRequest,
|
||||
UpdateCategoryRequest,
|
||||
CategoriesResource,
|
||||
} from './resources/categories.js';
|
||||
export type {
|
||||
SupplierDTO,
|
||||
SupplierStatus,
|
||||
AddressDTO,
|
||||
ContactInfoDTO,
|
||||
PaymentTermsDTO,
|
||||
QualityCertificateDTO,
|
||||
SupplierRatingDTO,
|
||||
CreateSupplierRequest,
|
||||
UpdateSupplierRequest,
|
||||
RateSupplierRequest,
|
||||
AddCertificateRequest,
|
||||
RemoveCertificateRequest,
|
||||
SuppliersResource,
|
||||
} from './resources/suppliers.js';
|
||||
export type {
|
||||
ArticleDTO,
|
||||
ArticleStatus,
|
||||
SalesUnitDTO,
|
||||
Unit,
|
||||
PriceModel,
|
||||
CreateArticleRequest,
|
||||
UpdateArticleRequest,
|
||||
AddSalesUnitRequest,
|
||||
UpdateSalesUnitPriceRequest,
|
||||
ArticlesResource,
|
||||
} from './resources/articles.js';
|
||||
export { UNIT_LABELS, PRICE_MODEL_LABELS } from './resources/articles.js';
|
||||
export type {
|
||||
CustomerDTO,
|
||||
CustomerType,
|
||||
CustomerStatus,
|
||||
CustomerPreference,
|
||||
DeliveryRhythm,
|
||||
DeliveryAddressDTO,
|
||||
FrameContractDTO,
|
||||
ContractLineItemDTO,
|
||||
CreateCustomerRequest,
|
||||
UpdateCustomerRequest,
|
||||
AddDeliveryAddressRequest,
|
||||
CustomersResource,
|
||||
} from './resources/customers.js';
|
||||
export { CUSTOMER_PREFERENCE_LABELS, DELIVERY_RHYTHM_LABELS } from './resources/customers.js';
|
||||
|
||||
import { createApiClient } from './client.js';
|
||||
import { createAuthResource } from './resources/auth.js';
|
||||
import { createUsersResource } from './resources/users.js';
|
||||
import { createRolesResource } from './resources/roles.js';
|
||||
import { createCategoriesResource } from './resources/categories.js';
|
||||
import { createSuppliersResource } from './resources/suppliers.js';
|
||||
import { createArticlesResource } from './resources/articles.js';
|
||||
import { createCustomersResource } from './resources/customers.js';
|
||||
import type { TokenProvider } from './token-provider.js';
|
||||
import type { ApiConfig } from '@effigenix/config';
|
||||
|
||||
|
|
@ -63,6 +120,10 @@ export function createEffigenixClient(
|
|||
auth: createAuthResource(axiosClient),
|
||||
users: createUsersResource(axiosClient),
|
||||
roles: createRolesResource(axiosClient),
|
||||
categories: createCategoriesResource(axiosClient),
|
||||
suppliers: createSuppliersResource(axiosClient),
|
||||
articles: createArticlesResource(axiosClient),
|
||||
customers: createCustomersResource(axiosClient),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue