feat: add new form field components for company details and consumer management

- Implemented CompanyNameComponent, DescriptionComponent, DeviceIdComponent, EconomicCodeComponent, EmailComponent, FirstNameComponent, FiscalCodeComponent, GuildIdComponent, LastNameComponent, LegalNameComponent, LicenseStartsAtComponent, MobileComponent, MobileNumberComponent, ModelComponent, NameComponent, NationalCodeComponent, NationalIdComponent, PartnerTokenComponent, PosTypeComponent, PostalCodeComponent, ProviderIdComponent, QuantityComponent, RegistrationCodeComponent, RegistrationNumberComponent, SerialNumberComponent, SetOffComponent, SkuComponent, TerminalComponent, UnitPriceComponent, UsernameComponent.
- Added field control configurations for new fields in the form.
- Updated routing and branding configurations for TIS tenant.
- Created consumer type models for handling individual and legal consumer data.
This commit is contained in:
2026-04-27 21:53:11 +03:30
parent c085104976
commit 822bf96966
235 changed files with 4007 additions and 1260 deletions
+114
View File
@@ -0,0 +1,114 @@
import { fiscalCodeValidator, mobileValidator, postalCodeValidator } from '@/core/validators';
import { nationalIdValidator } from '@/core/validators/national-id.validator';
import { ValidatorFn, Validators } from '@angular/forms';
const required = () => [Validators.required] as ValidatorFn[];
type ControlConfig = [string, ValidatorFn[]];
export const fieldControl = {
name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
code: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
description: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
company_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
first_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
firstName: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
last_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
lastName: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
legal_name: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
registration_code: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
registration_number: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
mobile_number: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, mobileValidator()] : [mobileValidator()],
],
mobile: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, mobileValidator()] : [mobileValidator()],
],
email: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? [Validators.required, Validators.email] : [Validators.email],
],
national_code: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, nationalIdValidator()] : [nationalIdValidator()],
],
national_id: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, nationalIdValidator()] : [nationalIdValidator()],
],
postal_code: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, postalCodeValidator()] : [postalCodeValidator()],
],
username: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
economic_code: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
fiscal_code: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? [Validators.required, fiscalCodeValidator()] : [fiscalCodeValidator()],
],
partner_token: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
guild_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
license_starts_at: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
branch_code: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? required() : [],
],
address: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
pos_type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
role: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
unit_type: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
pricing_model: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
gender: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
legal: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
individual: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? required() : [],
],
partner_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
brand_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
category_id: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
starts_at: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
expires_at: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
activated_expires_at: (value = '', isRequired = true): ControlConfig => [
value,
isRequired ? required() : [],
],
invoiceDate: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
quantity: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
unit_price: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
cash: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
set_off: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
setOff: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
terminal: (value = '', isRequired = false): ControlConfig => [value, isRequired ? required() : []],
sku: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
model: (value = '', isRequired = true): ControlConfig => [value, isRequired ? required() : []],
serial_number: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? required() : [],
],
device_id: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? required() : [],
],
provider_id: (value = '', isRequired = false): ControlConfig => [
value,
isRequired ? required() : [],
],
};