summaryrefslogtreecommitdiff
path: root/transaction-pull-debit-states.dot
blob: f545d3da5fdbbb196cb65567602f8132c82460db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
digraph G {

  initial[label="", shape="circle"];
  pending_download[label="pending(download)"];
  suspended_download[label="suspended(download)", shape="box"];
  pending_user[label="pending(user)", shape="box"];

  pending_deposit[label="pending(deposit)"];
  suspended_deposit[label="suspended(deposit)", shape="box"];
  aborting_refund[label="aborting(refund)"];
  aborting_refresh[label="aborting(refresh)"];

  aborted[label="aborted", shape="box"];
  failed[label="failed", shape="box"];
  done[label="done", shape="box"];
  deleted[label="deleted", shape="box"];

//  subgraph {
//    rank = same; pending_withdraw; failed;
//  }

  initial->pending_download [color="blue", label="URI trigger"];

  pending_download->suspended_download [color="blue", label="suspend"];
  pending_download->pending_user;

  suspended_download->pending_download [color="blue", label="resume"];
  suspended_download->deleted [color="blue", label="cancel"];

  pending_user->pending_deposit [color="blue", label="confirm-pay"];
  pending_user->deleted [color="blue", label="cancel"];
  pending_user->aborted [label="timeout"];

  pending_deposit->done;
  pending_deposit->aborting_refund [color="red", label="failure"];
  pending_deposit->suspended_deposit [color="blue", label="suspend"];
  pending_deposit->aborting_refresh [color="red", label="failure:timeout"];

  suspended_deposit->pending_deposit [color="blue", label="resume"];
  suspended_deposit->aborting_refund [color="blue", label="abort"];

  aborting_refund->aborting_refresh;
  aborting_refund->aborting_refresh [color="red", label="failure"];
  aborting_refund->failed [color="blue", label="force-abort"];

  aborting_refresh->aborted;
  aborting_refresh->failed [color="red", label="failure"];
  aborting_refresh->failed [color="blue", label="force-abort"];

  aborted->deleted [color="blue", label="delete"];
  failed->deleted [color="blue", label="delete"];
  done->deleted [color="blue", label="delete"];

}