Commit 6a36ad31 authored by Stavros-Anastasios Charismiadis's avatar Stavros-Anastasios Charismiadis
Browse files

Change style of diagrams and add the their description file

parent e23b972f
Loading
Loading
Loading
Loading
+40 −0
Changes for doc/diagrams/interconnection/CAPIF_Interconnection_Establishment.txt: 40 added lines, 0 removed lines.
Original line number Diff line number Diff line
title CAPIF Interconnection Establishment

participant Administrator
participant "CCF-A" as A
participant "CCF-B" as B

Administrator->A: POST /helper/interconnection/request\n{dstProvDom: CCF-B}

alt CCF-B already interconnected
  A-->Administrator: 409 already interconnected
else new interconnection
  A->B: POST /helper/interconnection/establish\nCCF-A identity (ccfId, domain, CA, publicKey)
  B->B: store CCF-A as interconnected
  B-->A: CCF-B identity (ccfId, domain, CA, publicKey)
  A->A: store CCF-B as interconnected

  == Initial sync of already published APIs ==
  A->B: POST /helper/interconnection/sync

  alt CCF-A is not interconnected
    B-->A: 404
  else interconnected
    B->B: find local APIs shareable with CCF-A\n(isShareable=true, CCF-A in capifProvDoms)
    loop each matching API
      B->A: POST /published-apis/v1/{CCF-B}/service-apis\ncopy with isShareable=false
      A->A: store copy, record CCF-B in pubApiPath
      A-->B: 201
    end
    B-->A: 201
  end

  A->A: find local APIs shareable with CCF-B
  loop each matching API
    A->B: POST /published-apis/v1/{CCF-A}/service-apis\ncopy with isShareable=false
    B->B: store copy, record CCF-A in pubApiPath
    B-->A: 201
  end

  A-->Administrator: 201 CCF-B details
end
 No newline at end of file
+32 −0
Changes for doc/diagrams/interconnection/CAPIF_Publish_after_interconnection.txt: 32 added lines, 0 removed lines.
Original line number Diff line number Diff line
title CAPIF Publish after interconnection

participant APF
participant "CCF-A" as A
participant "CCF-B" as B

APF->A: POST /published-apis/v1/{apfId}/service-apis\nshareableInfo.isShareable, capifProvDoms

A->A: duplicate / feature checks

alt isShareable=false or no target domains
  A->A: store locally only
  A-->APF: 201 Service API
else isShareable=true
  loop each domain in capifProvDoms
    alt domain is not interconnected
      A->A: skip that domain
    else domain is CCF-B
      A->B: POST /published-apis/v1/{CCF-A}/service-apis\ncopy with isShareable=false
      alt CCF-B accepts
        B->B: store copy (publisher = CCF-A)
        B-->A: 201
      else CCF-B unreachable or rejects
        A->B: delete copies already accepted
        A-->APF: 500 (nothing stored on CCF-A)
      end
    end
  end

  A->A: store locally\nrecord reached CCFs in pubApiPath
  A-->APF: 201 Service API
end
 No newline at end of file
+34 −0
Changes for doc/diagrams/interconnection/CAPIF_Publish_update_and_delete_across_CCFs.txt: 34 added lines, 0 removed lines.
Original line number Diff line number Diff line
title CAPIF Publish update and delete across CCFs

participant APF
participant "CCF-A" as A
participant "CCF-B" as B

== PUT / PATCH ==
APF->A: PUT or PATCH the service API
note over A: align CCF-B before writing locally\nmatch the copy by the old API name

alt domain removed or sharing turned off
  A->B: DELETE the shared copy
else domain kept
  A->B: PUT the updated definition
else domain added
  A->B: POST a new copy
end

alt CCF-B cannot be aligned
  A-->APF: 500 (CCF-A left unchanged)
else CCF-B aligned
  A->A: store the update
  A-->APF: 200
end

== DELETE ==
APF->A: DELETE the service API
A->B: unpublish the shared copy first
alt CCF-B unreachable
  A-->APF: 500 (local copy kept)
else copy removed on CCF-B
  A->A: delete locally
  A-->APF: 204
end
 No newline at end of file
+20.4 KiB (104 KiB)
Loading image diff...
+16.6 KiB (79.6 KiB)
Loading image diff...
Loading