Create desktop installer URL

Summary

  • Source repository: jef-systems/jef-desktop-store-backend

  • Source SHA: 677bee5aec55a92eea33efdcc4d8a5ee1b83e2c6

  • Source run id: 32513999072

  • Module: Desktop-store

  • Lambda function: jef-desktop-store-generate-latest-application-download-url

  • HTTP method: GET

  • Invocation mode: sync

  • Package mode: no-package

  • API category: Desktop-store Complex Sync No Package GET APIs

  • API path: /desktop-store/complex-sync-no-packages/jef-desktop-store-generate-latest-application-download-url

  • Endpoint URL: https://api.jefoffice.com/desktop-store/complex-sync-no-packages/jef-desktop-store-generate-latest-application-download-url

  • Documentation scope: lambda-complex-sync-no-packages

Synchronous Lambda Complex Rule

This API is documented as a synchronous Lambda complex no-package API. API Gateway waits for the Lambda result and returns the final Lambda response.

Description

Authorizes one application, verifies its immutable S3 release, and returns a short-lived installer URL with integrity metadata.

Payload Example

{
  "session_id": "00000000-0000-4000-8000-000000000000",
  "application_name": "jef-accounting"
}

Payload Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "session_id": {
        "type": "S",
        "required": true,
        "regex": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      },
      "application_name": {
        "type": "S",
        "required": true,
        "regex": "^[A-Za-z0-9 .,'_-]{1,120}$"
      }
    }
  }
}

Response Schema

{
  "root": {
    "type": "M",
    "required": true,
    "additional_properties": false,
    "attributes": {
      "is_accepted": {
        "type": "BOOL",
        "required": true
      },
      "is_valid": {
        "type": "BOOL",
        "required": true
      },
      "can_continue": {
        "type": "BOOL",
        "required": true
      },
      "message_type": {
        "type": "S",
        "required": true
      },
      "message": {
        "type": "S",
        "required": true
      },
      "next_action": {
        "type": "S",
        "required": true
      },
      "operation": {
        "type": "S",
        "required": true
      },
      "status_code": {
        "type": "N",
        "required": true,
        "integer": true
      },
      "application_name": {
        "type": "S",
        "required": true
      },
      "version": {
        "type": "S",
        "required": true,
        "regex": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
      },
      "installer_file_name": {
        "type": "S",
        "required": true,
        "regex": "^[A-Za-z0-9 ._-]{1,180}\\.exe$"
      },
      "size_bytes": {
        "type": "N",
        "required": true,
        "integer": true,
        "minimum": 1
      },
      "sha256": {
        "type": "S",
        "required": true,
        "regex": "^[0-9a-f]{64}$"
      },
      "release_id": {
        "type": "S",
        "required": true,
        "regex": "^[0-9a-f]{64}$"
      },
      "url": {
        "type": "S",
        "required": true
      },
      "expires_at": {
        "type": "S",
        "required": true
      },
      "download_created": {
        "type": "S",
        "required": true
      }
    }
  }
}

CMD curl

curl.exe -X GET "https://api.jefoffice.com/desktop-store/complex-sync-no-packages/jef-desktop-store-generate-latest-application-download-url"

PowerShell curl

curl.exe -X GET "https://api.jefoffice.com/desktop-store/complex-sync-no-packages/jef-desktop-store-generate-latest-application-download-url"