Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beskrivning

Camunda BPM är en processmotor och en viktig del i Sundsvalls kommuns strategi för att bygga en generell ärendehantering.

Det finns ett Rest-api för att prata med Camunda, men det kräver genomgripande kunskap av hur processmotorn fungerar.
Därför finns ProcessEngine-api:et för att göra det enklare att prata med processmotorn.

https://github.com/Sundsvallskommun/process-engine-parking-permit

Livscykelstatus

Test

Lösningsbeskrivning

API:et är ett Spring Boot-projekt som försöker efterlikna övriga API:er inom Sundsvalls kommuns utvecklingsfabrik. Därför används dept-44-dependecies för till exempel Webclient och Test.

Gliffy
imageAttachmentIdatt1131872313
macroId6acf7462-c59a-4606-adf7-2a07f337d504
baseUrlhttps://sundsvall.atlassian.net/wiki
nameProcessEngine
diagramAttachmentIdatt1132134446
containerId957677591
timestamp1670340984790

Hantering av personuppgifter

Inga personuppgifter hanteras, endast ärendenummer skickas in och sparas i processmotorns historik. För tillfället finns ingen databas eller liknande kopplad till API:et.

API specifikation

<API specifikation i Swagger-UI (använd plug-in).

Swagger ui
openapi: 3.0.1
info:
  title: Process Engine
  contact: {}
  license:
    name: MIT License
    url: 'https://opensource.org/licenses/MIT'
  version: '1.0'
servers:
  - url: 'https://camunda-test.sundsvall.se/process-engine-api/'
    description: Generated server url
security:
  - default: []
paths:
  /process/update-process:
    post:
      tags:
        - camunda-endpoints
      description: Update a process instance with the given process instance ID
      operationId: updateParkingPermitProcess
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseObject'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingPermitResponse'
      security:
        - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
      x-wso2-application-security:
        security-types:
          - oauth2
        optional: false
  /process/start-process:
    post:
      tags:
        - camunda-endpoints
      description: Start a new process instance with the given process name
      operationId: startParkingPermitProcess
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseObject'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingPermitResponse'
      security:
        - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
      x-wso2-application-security:
        security-types:
          - oauth2
        optional: false
  /api-docs:
    get:
      tags:
        - API
      summary: OpenAPI
      operationId: getApiDocs
      responses:
        '200':
          description: OK
          content:
            application/yaml:
              schema:
                type: string
      security:
        - default: []
      x-auth-type: None
      x-throttling-tier: Unlimited
      x-wso2-mutual-ssl: Optional
      x-wso2-application-security:
        security-types:
          - oauth2
        optional: false
components:
  schemas:
    CaseObject:
      type: object
      properties:
        processName:
          type: string
        caseNumber:
          type: string
        processInstanceId:
          type: string
    ParkingPermitResponse:
      type: object
      properties:
        processId:
          type: string
          example: bfc9d438-db4e-11ec-bb5b-0242ac110003
  securitySchemes:
    default:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: 'https://test.com'
          scopes: {}
x-wso2-cors:
  corsConfigurationEnabled: false
  accessControlAllowOrigins:
    - '*'
  accessControlAllowCredentials: false
  accessControlAllowHeaders:
    - authorization
    - Access-Control-Allow-Origin
    - Content-Type
    - SOAPAction
    - apikey
    - testKey
  accessControlAllowMethods:
    - GET
    - PUT
    - POST
    - DELETE
    - PATCH
    - OPTIONS
x-wso2-production-endpoints:
  urls:
    - 'https://camunda-test.sundsvall.se/process-engine-api/'
  type: http
x-wso2-basePath: /process-engine/1.0
x-wso2-transports:
  - https
x-wso2-response-cache:
  enabled: false
  cacheTimeoutInSeconds: 300

Säkerhetsklassning

Säkerhetsklass ?

Autentiseringsmetod: Oauth 2

(Ref: Säkerhetsklassning av APIer )

Teknisk ägare

https://sundsvall.atlassian.net/wiki/spaces/API

Ansvarigt team: Team Unmasked

För tekniska frågor: teammasked@sundsvall.se

Källkod

https://github.com/Sundsvallskommun/process-engine-parking-permit