commit dce86e70f1c9f7e5d3be9562b362daf63f02fc51
parent 3cdd6d6ebe6835e63f0209be25df2bc5bbe0b568
Author: Sebastian <sebasjm@gmail.com>
Date: Sat, 1 Mar 2025 18:09:00 -0300
better version of ts generated file, remove require info (that is part of the form definition and not the information of the field), add ToS field to the GLS form
Diffstat:
5 files changed, 126 insertions(+), 120 deletions(-)
diff --git a/gnu-taler-form-attributes/registry.rec b/gnu-taler-form-attributes/registry.rec
@@ -24,7 +24,7 @@
%allowed: Description
%type: Description Description_t
%typedef: Description_t regexp |^[ABCDEFGHIJKLMNOPQRSTUVWXYZ_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789 :\.,'-/?]*$|
-%sort: Identifier Type Form Required
+%sort: Identifier Description Type Form Required
# Label Help Enumeration Order Section
# FIXME: there is no need of the field to have the name of the form, remove it. So we can reuse the same field for multiple forms, reapeating the form name in the same fill.. for example for "FULL_NAME"
@@ -39,7 +39,7 @@ Identifier: SANCTION_LIST_SUPPRESS
Type: Boolean
# FIXME: add the form
Form: unknown
-Required: false
+#Required: false
Description: Suppress flagging this account when it creates a hit on a sanctions list, this is a false-positive.
Identifier: FORM_FILLING_DATE
@@ -54,10 +54,10 @@ Form: VQF_902_12
Form: VQF_902_13
Form: VQF_902_14
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: CUSTOMER_ID
-Required: true
+#Required: true
Type: String
Form: VQF_902_1
Form: VQF_902_4
@@ -78,7 +78,7 @@ Form: VQF_902_11
Form: VQF_902_12
Form: VQF_902_13
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: SIGNATURE
Form: VQF_902_9
@@ -87,7 +87,7 @@ Form: VQF_902_12
Form: VQF_902_13
Form: VQF_902_15
Type: String
-Required: true
+#Required: true
##########################
## Form VQF 902.1e
@@ -97,12 +97,12 @@ Required: true
# Information of the customer
Identifier: CUSTOMER_NATURAL_FULL_NAME
-Required: true
+#Required: true
Type: String
Form: VQF_902_1
Identifier: CUSTOMER_NATURAL_RESIDENTIAL
-Required: true
+#Required: true
Type: ResidentialAddress
Form: VQF_902_1
Description: If the customer is a natural person.
@@ -118,25 +118,25 @@ Form: VQF_902_1
Description: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_BIRTHDATE
-Required: true
+#Required: true
Type: AbsoluteDate
Form: VQF_902_1
Description: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONALITY
-Required: true
+#Required: true
Type: CountryCode
Form: VQF_902_1
Description: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONAL_ID
-Required: true
+#Required: true
Type: String
Form: VQF_902_1
Description: If the customer is a natural person.
Identifier: CUSTOMER_NATURAL_NATIONAL_ID_COPY
-Required: true
+#Required: true
Type: File
Form: VQF_902_1
Description: If the customer is a natural person.
@@ -162,13 +162,13 @@ Form: VQF_902_1
Description: If the customer is a natural person.
Identifier: CUSTOMER_ENTITY_COMPANY_NAME
-Required: true
+#Required: true
Type: String
Form: VQF_902_1
Description: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_ADDRESS
-Required: true
+#Required: true
Type: BusinessAddress
Form: VQF_902_1
Description: If the customer is a legal entity.
@@ -189,13 +189,13 @@ Form: VQF_902_1
Description: If the customer is a legal entity.
Identifier: CUSTOMER_ENTITY_ID
-Required: true
+#Required: true
Type: String
Form: VQF_902_1
Description: Not older than 12 month
Identifier: CUSTOMER_ENTITY_ID_COPY
-Required: true
+#Required: true
Type: File
Form: VQF_902_1
@@ -207,48 +207,48 @@ Identifier: FOUNDER_LIST
Type: Form<VQF_902_1_founder>[]
Form: VQF_902_1
Description: List of founder with the fields below.
-Required: true
+#Required: true
Identifier: FOUNDER_FULL_NAME
Type: String
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_RESIDENTIAL_ADDRESS
Type: ResidentialAddress
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_NATIONALITY
Type: CountryCode
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_AUTHORIZATION_TYPE
Description: Signatory of representation
Type: String
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_NATIONAL_ID
Type: String
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_NATIONAL_COPY
Type: File
Form: VQF_902_1_founder
-Required: true
+#Required: true
Identifier: FOUNDER_POWER_OF_ATTORNEY
-Type: 'CR' | 'MANDATE' | 'OTHER' | String
+Type: 'CR' | 'MANDATE' | String
Form: VQF_902_1_founder
-Required: true
+#Required: true
# 3
# Acceptance of business relationship
@@ -264,7 +264,15 @@ Type: 'FACE_TO_FACE' | 'AUTHENTICATED_COPY' | 'RESIDENTIAL_ADDRESS_VALIDATED'
Form: VQF_902_1
Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_TYPE
-Type: 'TO_THE_CUSTOMER' | 'HOLD_AT_BANK' | 'TO_THE_MEMBER' | 'TO_A_THIRD_PARTY' | String
+Type: 'TO_THE_CUSTOMER' | 'HOLD_AT_BANK' | 'TO_THE_MEMBER' | 'TO_A_THIRD_PARTY'
+Form: VQF_902_1
+
+Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_THIRD_PARTY_FULL_NAME
+Type: String
+Form: VQF_902_1
+
+Identifier: ACCEPTANCE_CORRESPONDENCE_SERVICE_THIRD_PARTY_ADDRESS
+Type: BusinessAddress
Form: VQF_902_1
Identifier: ACCEPTANCE_LANGUAGE
@@ -280,9 +288,9 @@ Form: VQF_902_1
# defines the customer type
Identifier: CUSTOMER_TYPE
-Type: 'NATURAL' | 'LEGAL_ENTITY' | 'FOUNDATION' | 'TRUST' | 'LIFE_INSURANCE' | 'OTHER'
+Type: 'NATURAL' | 'OPERATIONAL' | 'FOUNDATION' | 'TRUST' | 'LIFE_INSURANCE' | 'OTHER'
Form: VQF_902_1
-Required: true
+#Required: true
Description: Establishment of the beneficial owner of the assets and/or contrilling person
# 5
@@ -344,19 +352,19 @@ Identifier: PEP_FOREIGN
Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 1'
Type: Boolean
Form: VQF_902_4
-Required: true
+#Required: true
Identifier: PEP_DOMESTIC
Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 2'
Type: Boolean
Form: VQF_902_4
-Required: true
+#Required: true
Identifier: PEP_INTERNATIONAL_ORGANIZATION
Description: True if the person is a PEP defined by 'Art 7 lit. g numeral 3'
Type: Boolean
Form: VQF_902_4
-Required: true
+#Required: true
Identifier: PEP_ACCEPTANCE_DATE
Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___
@@ -369,7 +377,7 @@ Identifier: HIGH_RISK_COUNTRY
Description: True if the person is in a country for which FATF requires incresed dilegence.
Type: Boolean
Form: VQF_902_4
-Required: true
+#Required: true
Identifier: HIGH_RISK_ACCEPTANCE_DATE
Description: The decision of the Senior executive body on the acceptance of a business relationsip was obtained on ___
@@ -476,12 +484,12 @@ Identifier: BIZREL_ORIGIN_AMOUNT
Description: Nature, amount and currency of the involved assets.
Type: Amount
Form: VQF_902_5
-Required: true
+#Required: true
Identifier: BIZREL_ORIGIN_CATEGORY
Type: 'SAVINGS' | 'OWN_BUSINESS' | 'INHERITANCE' | 'OTHER'
Form: VQF_902_5
-Required: true
+#Required: true
Identifier: BIZREL_ORIGIN_CATEGORY_OTHER
Type: String
@@ -560,7 +568,7 @@ Form: VQF_902_5
Identifier: IDENTITY_CONTRACTING_PARTNER
Type: Paragraph
Form: VQF_902_9
-Required: true
+#Required: true
Identifier: IDENTITY_LIST
Description: The beneficial owners of the assets involved in the business relationship.
@@ -570,22 +578,22 @@ Form: VQF_902_9
Identifier: IDENTITY_FULL_NAME
Type: String
Form: VQF_902_9_identity
-Required: true
+#Required: true
Identifier: IDENTITY_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_9_identity
-Required: true
+#Required: true
Identifier: IDENTITY_NATIONALITY
Type: CountryCode
Form: VQF_902_9_identity
-Required: true
+#Required: true
Identifier: IDENTITY_DOMICILE
Type: ResidentialAddress
Form: VQF_902_9_identity
-Required: true
+#Required: true
##########################
## Form VQF 902.11e
@@ -596,28 +604,28 @@ Required: true
Identifier: CONTROLLING_ENTITY_CONTRACTING_PARTNER
Type: Paragraph
Form: VQF_902_11
-Required: true
+#Required: true
Identifier: CONTROLLING_ENTITY_LEVEL
Type: '25_MORE_RIGHTS' | 'OTHER_WAY' | 'DIRECTOR'
Form: VQF_902_11
-Required: true
+#Required: true
Identifier: CONTROLLING_ENTITY_FULL_NAME
Type: String
Form: VQF_902_11
-Required: true
+#Required: true
Identifier: CONTROLLING_ENTITY_DOMICILE
Type: ResidentialAddress
Form: VQF_902_11
-Required: true
+#Required: true
Identifier: CONTROLLING_ENTITY_THIRD_PERSON
Type: Boolean
Form: VQF_902_11
Description: Is a third person the beneficial owner of the assets?
-Required: true
+#Required: true
##########################
## Form VQF 902.12e
@@ -628,110 +636,110 @@ Required: true
Identifier: FOUNDATION_CONTRACTING_PARTNER
Type: Paragraph
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_KNOWN_AS
Type: String
Form: VQF_902_12
-Required: true
+#Required: true
# 1. About the foundation
Identifier: FOUNDATION_NAME
Type: String
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_DISCRETIONARY
Type: Boolean
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_REVOCABLE
Type: Boolean
Form: VQF_902_12
-Required: true
+#Required: true
# 2. About the founder
Identifier: FOUNDATION_FOUNDER_LIST
Type: Form<VQF_902_12_founder>[]
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_FULL_NAME
Type: String
Form: VQF_902_12_founder
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_DOMICILE
Type: ResidentialAddress
Form: VQF_902_12_founder
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_12_founder
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_NATIONALITY
Type: CountryCode
Form: VQF_902_12_founder
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_DEATHDATE
Type: AbsoluteDate
Form: VQF_902_12_founder
-Required: true
+#Required: true
Identifier: FOUNDATION_FOUNDER_RIGHT_TO_REVOKE
Type: Boolean
Form: VQF_902_12_founder
-Required: true
+#Required: true
# 3. About the pre-existing foundation
Identifier: FOUNDATION_PRE_LIST
Type: Form<VQF_902_12_pre>[]
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_FULL_NAME
Type: String
Form: VQF_902_12_pre
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_DOMICILE
Type: ResidentialAddress
Form: VQF_902_12_pre
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_COUNTRY
Type: CountryCode
Form: VQF_902_12_pre
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_12_pre
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_NATIONALITY
Type: CountryCode
Form: VQF_902_12_pre
-Required: true
+#Required: true
Identifier: FOUNDATION_PRE_DEATHDATE
Type: AbsoluteDate
Form: VQF_902_12_pre
-Required: true
+#Required: true
# 4. Beneficiaries information
Identifier: FOUNDATION_BENEFICIARY_LIST
Type: Form<VQF_902_12_beneficiary>[]
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_BENEFICIARY_FULL_NAME
Type: String
@@ -766,37 +774,37 @@ Form: VQF_902_12
Identifier: FOUNDATION_REPRESENTATIVE_LIST
Type: Form<VQF_902_12_representative>[]
Form: VQF_902_12
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_FULL_NAME
Type: String
Form: VQF_902_12_representative
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_DOMICILE
Type: ResidentialAddress
Form: VQF_902_12_representative
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_COUNTRY
Type: CountryCode
Form: VQF_902_12_representative
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_12_representative
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_NATIONALITY
Type: CountryCode
Form: VQF_902_12_representative
-Required: true
+#Required: true
Identifier: FOUNDATION_REPRESENTATIVE_RIGHT_TO_REVOKE
Type: Boolean
Form: VQF_902_12_representative
-Required: true
+#Required: true
##########################
## Form VQF 902.13e
@@ -807,73 +815,73 @@ Required: true
Identifier: TRUST_CONTRACTING_PARTNER
Type: Paragraph
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_KNOWN_AS
Type: String
Form: VQF_902_13
-Required: true
+#Required: true
# 1. About the trust
Identifier: TRUST_NAME
Type: String
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_DISCRETIONARY
Type: Boolean
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_REVOCABLE
Type: Boolean
Form: VQF_902_13
-Required: true
+#Required: true
# 2. About the settlor of the trust
Identifier: TRUST_SETTLOR_LIST
Type: Form<VQF_902_13_settlor>[]
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_FULL_NAME
Type: String
Form: VQF_902_13_settlor
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_DOMICILE
Type: ResidentialAddress
Form: VQF_902_13_settlor
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_13_settlor
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_NATIONALITY
Type: CountryCode
Form: VQF_902_13_settlor
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_DEATHDATE
Type: AbsoluteDate
Form: VQF_902_13_settlor
-Required: true
+#Required: true
Identifier: TRUST_SETTLOR_RIGHT_TO_REVOKE
Type: Boolean
Form: VQF_902_13_settlor
-Required: true
+#Required: true
# 3. About the pre-existing trust`
Identifier: TRUST_PRE_LIST
Type: Form<VQF_902_13_pre>[]
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_PRE_FULL_NAME
Type: String
@@ -904,7 +912,7 @@ Form: VQF_902_13_pre
Identifier: TRUST_BENEFICIARY_LIST
Type: Form<VQF_902_13_beneficiary>[]
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_BENEFICIARY_FULL_NAME
Type: String
@@ -940,7 +948,7 @@ Form: VQF_902_13_beneficiary
Identifier: TRUST_PROTECTOR_LIST
Type: Form<VQF_902_13_protector>[]
Form: VQF_902_13
-Required: true
+#Required: true
Identifier: TRUST_PROTECTOR_FULL_NAME
Type: String
@@ -969,7 +977,7 @@ Form: VQF_902_13_protector
Identifier: TRUST_FURTHER_LIST
Type: Form<VQF_902_13_further>[]
Form: VQF_902_13_further
-Required: true
+#Required: true
Identifier: TRUST_FURTHER_FULL_NAME
Type: String
@@ -1008,34 +1016,34 @@ Identifier: INCRISK_REASON
Description: Description of the circumstances/transactions, which triggered the special clarifications
Type: String
Form: VQF_902_14
-Required: true
+#Required: true
# 2. Used means of clarification
Identifier: INCRISK_MEANS
Type: 'GATHERING' | 'CONSULTATION' | 'ENQUIRIES' | String
Form: VQF_902_14
-Required: true
+#Required: true
# 3. Summary
Identifier: INCRISK_SUMMARY
Type: Paragraph
Form: VQF_902_14
-Required: true
+#Required: true
Identifier: INCRISK_DOCUMENTS
Description: Gathered or consulted documents
Type: File[]
Form: VQF_902_14
-Required: true
+#Required: true
# 4. Result of the special clarification
Identifier: INCRISK_RESULT
Type: 'NO_SUSPICION' | 'REASONABLE_SUSPICION' | 'SIMPLE_SUSPICION'
Form: VQF_902_14
-Required: true
+#Required: true
##########################
@@ -1047,17 +1055,17 @@ Required: true
Identifier: INSURANCE_CONTRACTING_PARTNER
Type: Paragraph
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_RELATIONSHIP_NAME
Type: String
Form: VQF_902_15
-Required: true
+#Required: true
Description: Name or number of the contractual relationship between the contracting party and the financial intermediary
Identifier: INSURANCE_RELATIONSHIP_POLICY
Type: String
-Required: true
+#Required: true
Form: VQF_902_15
Identifier: INSURANCE_HOLDER_FULL_NAME
@@ -1068,17 +1076,17 @@ Form: VQF_902_15
Identifier: INSURANCE_HOLDER_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_HOLDER_NATIONALITY
Type: CountryCode
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_HOLDER_DOMICILE
Type: ResidentialAddress
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_PAYER_FULL_NAME
Description: The beneficial owners of the assets involved in the business relationship.
@@ -1088,17 +1096,17 @@ Form: VQF_902_15
Identifier: INSURANCE_PAYER_BIRTHDATE
Type: AbsoluteDate
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_PAYER_NATIONALITY
Type: CountryCode
Form: VQF_902_15
-Required: true
+#Required: true
Identifier: INSURANCE_PAYER_DOMICILE
Type: ResidentialAddress
Form: VQF_902_15
-Required: true
+#Required: true
## Personal individual information
@@ -1327,6 +1335,7 @@ Type: Boolean
Identifier: ACCEPTED_TERMS_OF_SERVICE
Form: TermOfService
+Form: GLS_Onboarding
Type: Boolean
Description: Name of the version of the terms of service accepted by the customer.
diff --git a/gnu-taler-form-attributes/ts.form-footer b/gnu-taler-form-attributes/ts.form-footer
@@ -1 +1 @@
- }
+ } as const;
diff --git a/gnu-taler-form-attributes/ts.form-header b/gnu-taler-form-attributes/ts.form-header
@@ -1 +1 @@
- export interface {{Name}} {
+ export const {{Name}} = {
diff --git a/gnu-taler-form-attributes/ts.header b/gnu-taler-form-attributes/ts.header
@@ -20,19 +20,12 @@
Note: the LGPL does not apply to all components of GNU Taler,
but it does apply to this file.
*/
+import { UIHandlerId } from "@gnu-taler/web-util/browser";
-type AbsoluteDateTime = string;
-type AbsoluteDate = string;
-type CountryCode = string;
-type Amount = string;
-type ResidentialAddress = string;
-type BusinessAddress = string;
-type Paragraph = string;
-type LangCode = string;
-type Email = string;
-type Phone = string;
-type Hostname = string;
-type HttpHostnamePath = string;
-type Form<T> = T;
+
+type FormFieldInfo = {
+ id: UIHandlerId;
+ description: String;
+}
export namespace TalerFormAttributes {
diff --git a/gnu-taler-form-attributes/ts.template b/gnu-taler-form-attributes/ts.template
@@ -1,5 +1,9 @@
/**
- * {{Description}}
- * Required: {{Required = "true" ? 'true' : 'false'}}
+ * Description: {{Description}}
+ *
+ * GANA Type: {{Type}}
*/
- {{Identifier}}{{Required = "true" ? '' : '?'}}: {{Type}};
+ {{Identifier}}: {
+ id: "{{Identifier}}" as UIHandlerId,
+ description: "{{Description}}",
+ } as FormFieldInfo,