From 9b713abec140e96338b2900184e485776a96e3c1 Mon Sep 17 00:00:00 2001 From: Dennis Neufeld Date: Sat, 7 Nov 2020 10:44:08 +0100 Subject: modified reducer api --- anastasis.rst | 829 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 796 insertions(+), 33 deletions(-) (limited to 'anastasis.rst') diff --git a/anastasis.rst b/anastasis.rst index e9f63e44..37722fde 100644 --- a/anastasis.rst +++ b/anastasis.rst @@ -1289,7 +1289,16 @@ Expected new state (backup process): **next**, **back**, **pay:** -No Arguments needed. +No Arguments needed, but the **pay** transition may have optional arguments: + +**pay:** + +Optional arguments (example): +:: + + { + //FIXME + } Backup transitions @@ -1300,16 +1309,16 @@ Backup transitions Arguments (example): :: - { - "authentication_method": { - "method": "question", - "data": { - "question": "Whats your name?", - "answer": "Hans" + "authentication_method": + { + "method": "question", + "data": { + "question": "Whats your name?", + "answer": "Hans" + } } } - } Expected new state: :: @@ -1432,6 +1441,50 @@ Expected new state: "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" } } + ], + "sms": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "email": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } ] }, "identity_attributes": { @@ -1442,6 +1495,26 @@ Expected new state: "birth_day": "01" }, "authentication_methods": [ + { + "method": "question", + "data": { + "question": "Whats the name of your grandmother?", + "answer": "Trudi" + } + }, + { + "method": "email", + "data": { + "email_address": "max@musterman.de" + } + }, + { + "method": "question", + "data": { + "question": "Whats the name of your grandfather?", + "answer": "Fredi" + } + }, { "method": "question", "data": { @@ -1457,39 +1530,729 @@ Expected new state: Arguments (example): :: - { - "auth_method_index": 3 - } - - -**add_policy:** + { + "auth_method_index": 1 + } -Arguments (example): +Expected new state: :: { - "policy": [ + "backup_state": "AUTHENTICATIONS_EDITING", + "continents": [ + "Europe", + "North_America" + ], + "selected_continent": "Europe", + "countries": [ { - "auth_method_index": 1, - "provider": "anastasis_01" + "code": "ch", + "name": "Switzerland", + "continent": "Europe", + "name_i18n": { + "de_DE": "Schweiz", + "de_CH": "Schwiiz", + "fr": "Suisse", + "en": "Swiss" + }, + "currency": "CHF" }, { - "auth_method_index": 3, - "provider": "anastasis_02" + "code": "de", + "name": "Germany", + "continent": "Europe", + "continent_i18n": { + "de": "Europa" + }, + "name_i18n": { + "de_DE": "Deutschland", + "de_CH": "Deutschland", + "fr": "Allemagne", + "en": "Germany" + }, + "currency": "EUR" } - ] - } - - -**del_policy:** - -Arguments (example): -:: - - { - "policy_index": 3 - } - + ], + "selected_country": "de", + "currency": "EUR", + "required_attributes": [ + { + "type": "string", + "name": "full_name", + "label": "Full name", + "label_i18n": { + "de_DE": "Vollstaendiger Name", + "de_CH": "Vollstaendiger Name", + "fr": "Nom complet", + "en": "Full name" + }, + "widget": "anastasis_gtk_ia_full_name" + }, + { + "type": "date", + "name": "birthdate", + "label": "Birthdate", + "label_i18n": { + "de_DE": "Geburtsdatum", + "de_CH": "Geburtsdatum", + "fr": "Date de naissance", + "en": "Birthdate" + }, + "widget": "anastasis_gtk_ia_birthdate" + }, + { + "type": "string", + "name": "social_security_number", + "label": "Social security number", + "label_i18n": { + "de_DE": "Sozialversicherungsnummer", + "de_CH": "Sozialversicherungsnummer", + "fr": "Numéro de sécurité sociale", + "en": "Social security number" + }, + "widget": "anastasis_gtk_ia_ssn" + } + ], + "authentication_providers": { + "question": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_02": { + "method_cost": "EUR:0", + "annual_cost": "EUR:1.99", + "insurance": "EUR:1", + "provider_url": "localhost:8087/", + "provider_name": "Anastasis 2", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_01": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8086/", + "provider_name": "Anastasis 1", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "sms": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "email": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ] + }, + "identity_attributes": { + "full_name": "Max Musterman", + "social_security_number": "123456789", + "birth_year": "2000", + "birth_month": "01", + "birth_day": "01" + }, + "authentication_methods": [ + { + "method": "question", + "data": { + "question": "Whats the name of your grandmother?", + "answer": "Trudi" + } + }, + { + "method": "question", + "data": { + "question": "Whats the name of your grandfather?", + "answer": "Fredi" + } + }, + { + "method": "question", + "data": { + "question": "Whats your name?", + "answer": "Hans" + } + } + ] + } + +**add_policy:** + +Arguments (example): +:: + + { + "policy": [ + { + "auth_method_index": 1, + "provider": "anastasis_01" + }, + { + "auth_method_index": 3, + "provider": "anastasis_02" + } + ] + } + +Expected new state: +:: + + { + "backup_state": "POLICIES_REVIEWING", + "continents": [ + "Europe", + "North_America" + ], + "selected_continent": "Europe", + "countries": [ + { + "code": "ch", + "name": "Switzerland", + "continent": "Europe", + "name_i18n": { + "de_DE": "Schweiz", + "de_CH": "Schwiiz", + "fr": "Suisse", + "en": "Swiss" + }, + "currency": "CHF" + }, + { + "code": "de", + "name": "Germany", + "continent": "Europe", + "continent_i18n": { + "de": "Europa" + }, + "name_i18n": { + "de_DE": "Deutschland", + "de_CH": "Deutschland", + "fr": "Allemagne", + "en": "Germany" + }, + "currency": "EUR" + } + ], + "selected_country": "de", + "currency": "EUR", + "required_attributes": [ + { + "type": "string", + "name": "full_name", + "label": "Full name", + "label_i18n": { + "de_DE": "Vollstaendiger Name", + "de_CH": "Vollstaendiger Name", + "fr": "Nom complet", + "en": "Full name" + }, + "widget": "anastasis_gtk_ia_full_name" + }, + { + "type": "date", + "name": "birthdate", + "label": "Birthdate", + "label_i18n": { + "de_DE": "Geburtsdatum", + "de_CH": "Geburtsdatum", + "fr": "Date de naissance", + "en": "Birthdate" + }, + "widget": "anastasis_gtk_ia_birthdate" + }, + { + "type": "string", + "name": "social_security_number", + "label": "Social security number", + "label_i18n": { + "de_DE": "Sozialversicherungsnummer", + "de_CH": "Sozialversicherungsnummer", + "fr": "Numéro de sécurité sociale", + "en": "Social security number" + }, + "widget": "anastasis_gtk_ia_ssn" + } + ], + "authentication_providers": { + "question": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_02": { + "method_cost": "EUR:0", + "annual_cost": "EUR:1.99", + "insurance": "EUR:1", + "provider_url": "localhost:8087/", + "provider_name": "Anastasis 2", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_01": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8086/", + "provider_name": "Anastasis 1", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "sms": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "email": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ] + }, + "identity_attributes": { + "full_name": "Max Musterman", + "social_security_number": "123456789", + "birth_year": "2000", + "birth_month": "01", + "birth_day": "01" + }, + "authentication_methods": [ + { + "method": "question", + "data": { + "question": "Whats the name of your grandmother?", + "answer": "Trudi" + } + }, + { + "method": "question", + "data": { + "question": "Whats the name of your grandfather?", + "answer": "Fredi" + } + }, + { + "method": "question", + "data": { + "question": "Whats your name?", + "answer": "Hans" + } + } + ], + "policies": [ + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 0, + "provider": "anastasis_02" + }, + { + "authentication_method": 1, + "provider": "anastasis_01" + } + ] + }, + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 0, + "provider": "anastasis_02" + }, + { + "authentication_method": 2, + "provider": "anastasis_01" + } + ] + }, + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 1, + "provider": "anastasis_02" + }, + { + "authentication_method": 2, + "provider": "anastasis_01" + } + ] + }, + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 1, + "provider": "anastasis_01" + }, + { + "authentication_method": 3, + "provider": "anastasis_02" + } + ] + } + ] + } + + +**del_policy:** + +Arguments (example): +:: + + { + "policy_index": 3 + } + +Expected new state: +:: + + { + "backup_state": "POLICIES_REVIEWING", + "continents": [ + "Europe", + "North_America" + ], + "selected_continent": "Europe", + "countries": [ + { + "code": "ch", + "name": "Switzerland", + "continent": "Europe", + "name_i18n": { + "de_DE": "Schweiz", + "de_CH": "Schwiiz", + "fr": "Suisse", + "en": "Swiss" + }, + "currency": "CHF" + }, + { + "code": "de", + "name": "Germany", + "continent": "Europe", + "continent_i18n": { + "de": "Europa" + }, + "name_i18n": { + "de_DE": "Deutschland", + "de_CH": "Deutschland", + "fr": "Allemagne", + "en": "Germany" + }, + "currency": "EUR" + } + ], + "selected_country": "de", + "currency": "EUR", + "required_attributes": [ + { + "type": "string", + "name": "full_name", + "label": "Full name", + "label_i18n": { + "de_DE": "Vollstaendiger Name", + "de_CH": "Vollstaendiger Name", + "fr": "Nom complet", + "en": "Full name" + }, + "widget": "anastasis_gtk_ia_full_name" + }, + { + "type": "date", + "name": "birthdate", + "label": "Birthdate", + "label_i18n": { + "de_DE": "Geburtsdatum", + "de_CH": "Geburtsdatum", + "fr": "Date de naissance", + "en": "Birthdate" + }, + "widget": "anastasis_gtk_ia_birthdate" + }, + { + "type": "string", + "name": "social_security_number", + "label": "Social security number", + "label_i18n": { + "de_DE": "Sozialversicherungsnummer", + "de_CH": "Sozialversicherungsnummer", + "fr": "Numéro de sécurité sociale", + "en": "Social security number" + }, + "widget": "anastasis_gtk_ia_ssn" + } + ], + "authentication_providers": { + "question": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_02": { + "method_cost": "EUR:0", + "annual_cost": "EUR:1.99", + "insurance": "EUR:1", + "provider_url": "localhost:8087/", + "provider_name": "Anastasis 2", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_01": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8086/", + "provider_name": "Anastasis 1", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "sms": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ], + "email": [ + { + "anastasis_04": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8089/", + "provider_name": "Anastasis 4", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + }, + { + "anastasis_03": { + "method_cost": "EUR:0", + "annual_cost": "EUR:4.99", + "insurance": "EUR:1", + "provider_url": "localhost:8088/", + "provider_name": "Anastasis 3", + "provider_salt": "CXAPCKSH9D3MYJTS9536RHJHCW" + } + } + ] + }, + "identity_attributes": { + "full_name": "Max Musterman", + "social_security_number": "123456789", + "birth_year": "2000", + "birth_month": "01", + "birth_day": "01" + }, + "authentication_methods": [ + { + "method": "question", + "data": { + "question": "Whats the name of your grandmother?", + "answer": "Trudi" + } + }, + { + "method": "question", + "data": { + "question": "Whats the name of your grandfather?", + "answer": "Fredi" + } + }, + { + "method": "question", + "data": { + "question": "Whats your name?", + "answer": "Hans" + } + } + ], + "policies": [ + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 0, + "provider": "anastasis_02" + }, + { + "authentication_method": 1, + "provider": "anastasis_01" + } + ] + }, + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 0, + "provider": "anastasis_02" + }, + { + "authentication_method": 2, + "provider": "anastasis_01" + } + ] + }, + { + "recovery_cost": "EUR:0", + "methods": [ + { + "authentication_method": 1, + "provider": "anastasis_02" + }, + { + "authentication_method": 2, + "provider": "anastasis_01" + } + ] + } + ] + } **enter_secret:** -- cgit v1.2.3