% if (my $invalid = stash('invalid')) { %= include '_invalid_input', invalid => $invalid % } % if (my $success = flash('success')) {
% if ($success eq 'mail') { Mail-Adresse erfolgreich geändert % } % elsif ($success eq 'password') { Passwort erfolgreich geändert % }
% }

Account

% my $acc = current_user();
Name <%= $acc->{name} %>
Mail edit<%= $acc->{email} %>
Passwort edit
Öffentliche Daten edit % if ($acc->{is_public} == 0) { Keine % } % if ($acc->{is_public} & 0x02) { Aktueller Status % }
Registriert am <%= $acc->{registered_at}->strftime('%d.%m.%Y %H:%M') %>
%= form_for 'logout' => begin %= csrf_field %= end
% my $token = get_api_token();

API

Die folgenden API-Token erlauben den passwortlosen automatisierten Zugriff auf API-Endpunkte. Bitte umsichtig behandeln – sobald ein Token gesetzt ist, können damit ohne Logindaten alle zugehörigen API-Aktionen ausgeführt werden.

Status % if ($token->{status}) { %= $acc->{id} . '-' . $token->{status} % } % else { — % } %= form_for 'set_token' => begin %= csrf_field %= hidden_field 'token' => 'status' %= end
% my $api_root = $self->url_for('/api/v1')->to_abs->scheme('https');

Status

% if ($token->{status}) { curl <%= $api_root %>/status/<%= $acc->{id} %>-<%= $token->{status} // 'TOKEN' %> % } % else { curl <%= $api_root %>/status/TOKEN % }

Beispiel / Layout:

{
"deprecated" : true / false, (falls true: Diese API-Version wird irgendwann abgeschaltet, bitte auf eine neue umsteigen)
"checkedIn" : true / false,
"fromStation" : { (letzter Checkin)
"name" : "Essen Hbf",
"ds100" : "EE",
"uic" : 8000098,
"latitude" : 51.451355,
"longitude" : 7.014793,
"scheduledTime": 1556083680,
"realTime": 1556083680,
},
"fromStation" : { (zugehöriger Checkout. Wenn noch nicht eingetragen, sind alle Felder null)
"name" : "Essen Stadtwald",
"ds100" : "EESA",
"uic" : 8001896,
"latitude" : 51.422853,
"longitude" : 7.023296,
"scheduledTime": 1556083980, (ggf. null)
"realTime": 1556083980, (ggf. null)
},
"train" : {
"type" : "S", (aktueller / letzter Zugtyp)
"line" : "6", (Linie als String, nicht immer numerisch, ggf. null)
"no" : "30634", (Zugnummer als String)
"id" : "7512500863736016593", (IRIS-spezifische Zug-ID)
},
"actionTime" : 1234567, (UNIX-Timestamp des letzten Checkin/Checkout)
}

Im Fehlerfall: { "error" : "Begründung" }

Export

% if (not $acc->{deletion_requested}) {

Löschen

Der Löschauftrag wird vorgemerkt und erst nach drei Tagen umgesetzt, bis dahin kann er jederzeit zurückgenommen werden. Nach Ablauf der drei Tage wird der Account mit allen zugehörigen Reisedaten ohne weitere Rückfragen entfernt.

%= form_for 'delete' => begin
lock %= password_field 'password', id => 'password', class => 'validate', required => undef, autocomplete => 'current-password'
%= csrf_field
%= end
% }