PHPackages                             mageworx/module-downloads-graph-ql - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mageworx/module-downloads-graph-ql

ActiveMagento2-module[API Development](/categories/api)

mageworx/module-downloads-graph-ql
==================================

N/A

1.1.1(3mo ago)126.2k↓29.1%1OSL-3.0PHP

Since Jan 21Pushed 3mo ago3 watchersCompare

[ Source](https://github.com/mageworx/MageWorx_DownloadsGraphQl)[ Packagist](https://packagist.org/packages/mageworx/module-downloads-graph-ql)[ RSS](/packages/mageworx-module-downloads-graph-ql/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (5)Used By (0)

MageWorx\_DownloadsGraphQl
==========================

[](#mageworx_downloadsgraphql)

GraphQL API module for Mageworx [Magento 2 File Downloads &amp; Product attachments](https://www.mageworx.com/magento-2-product-attachments.html) extension.

Installation
------------

[](#installation)

**1) Copy-to-paste method**

- Download this module and upload it to the `app/code/MageWorx/DownloadsGraphQl` directory *(create "DownloadsGraphQl" first if missing)*

**2) Installation using composer (from packagist)**

- Execute the following command: `composer require mageworx/module-downloads-graph-ql`

How to use
----------

[](#how-to-use)

**1.** ProductInterface describes the possible contents of this object.

It is expanded by MageWorx and attribute "mw\_attachments" is added. The following table defines the attributes and objects.

```
icon_type: String. Attachment icon type
icon_type: Int. Attachment ID
name: String. Attachment name
url: String. Attachment URL
size_str: String. Attachment size
downloads_number: Int. Number of downloads
description: String. Attachment description
section_name: String. Section name
section_id: Int. escription: "Section ID

```

**Request:**

```
{
  products(filter: { sku: { eq: "24-MB01" } }) {
    items {
      name
      mw_attachments {
        tab_title
        block_title
        items {
          icon_type
          id
          name
          url
          size_str
          downloads_number
          description
          section_name
          section_id
        }
      }
    }
  }
}

```

**Response:**

```
{
  "data": {
    "products": {
      "items": [
        {
          "name": "Joust Duffle Bag",
          "mw_attachments": {
            "tab_title": "File Downloads Tab",
            "block_title": "File Downloads Block",
            "items": [
              {
                "icon_type": "pdf",
                "id": 1,
                "name": "test attachment",
                "url": "",
                "size_str": "2.4 MB",
                "downloads_number": 1,
                "description": "Test description 1",
                "section_name": "Default",
                "section_id": 1
              },
              {
                "icon_type": "",
                "id": 2,
                "name": "URL attach",
                "url": "http://exapmle.com",
                "size_str": null,
                "downloads_number": null,
                "description": "Test description 2",
                "section_name": "Test",
                "section_id": 2
              }
            ]
          }
        }
      ]
    }
  }
}

```

**2.** The mwFileDownloads query returns information about the Downloads *(Product Attachments on CMS page, widgets, ect.)*

Query attribute is defined below:

```
attachmentIds: Int. Attachment IDs
sectionIds: Int. Section IDs

```

By default, you can use the following attributes:

```
block_title: String @doc(description: "File Downloads Block Title"
is_group_by_section: Boolean. Indicates whether to group attachments by section
how_to_download_message: String. 'How to download' message
items: [MwAttachment] An array of Attachments

```

**Request:**

```
{
    mwFileDownloads(attachmentIds:[1]){
        block_title
        is_group_by_section
        how_to_download_message
        items {
          icon_type
          id
          name
          url
          size_str
          downloads_number
          description
          section_name
          section_id
        }
    }
}

```

**Response:**

```
{
    "data": {
        "mwFileDownloads": {
            "block_title": "File Downloads Title",
            "is_group_by_section": true,
            "how_to_download_message": "You have to %login% or %register% to download this file",
            "items": [
                {
                    "icon_type": "jpg",
                    "id": 50,
                    "name": "Default Name",
                    "url": "",
                    "size_str": "11.7 KB",
                    "downloads_number": 0,
                    "description": "Default Description",
                    "section_name": "Default",
                    "section_id": 1
                }
            ]
        }
    }
}

```

The same information can be obtained for the Customer group using the authorization token.

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance82

Actively maintained with recent releases

Popularity30

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1779 days

Total

2

Last Release

95d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/65778a3ac5b8e94197cca381d780c54c1e85c63e21fb9690865e7351655bcdf8?d=identicon)[support@mageworx.com](/maintainers/support@mageworx.com)

---

Top Contributors

[![SiarheyUchukhlebau](https://avatars.githubusercontent.com/u/18072226?v=4)](https://github.com/SiarheyUchukhlebau "SiarheyUchukhlebau (3 commits)")[![mkostevich](https://avatars.githubusercontent.com/u/28888499?v=4)](https://github.com/mkostevich "mkostevich (2 commits)")[![sergei-sss](https://avatars.githubusercontent.com/u/12981644?v=4)](https://github.com/sergei-sss "sergei-sss (2 commits)")[![vitaliddd](https://avatars.githubusercontent.com/u/47356252?v=4)](https://github.com/vitaliddd "vitaliddd (1 commits)")

---

Tags

graphqlmagento2magento2-extensionmagento2-graphqlmagento2-modulemagento2-plugin

### Embed Badge

![Health badge](/badges/mageworx-module-downloads-graph-ql/health.svg)

```
[![Health](https://phpackages.com/badges/mageworx-module-downloads-graph-ql/health.svg)](https://phpackages.com/packages/mageworx-module-downloads-graph-ql)
```

###  Alternatives

[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8044.5M33](/packages/smile-elasticsuite)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[graycore/magento2-cors

A Magento 2 module that enables CORS on the GraphQL and REST Apis

99516.1k](/packages/graycore-magento2-cors)[elgentos/module-prismicio

Magento 2 - Prismic.io integration

39112.0k3](/packages/elgentos-module-prismicio)[zepgram/module-rest

Technical module to industrialize API REST call with dependency injection pattern using Guzzle library

1326.2k](/packages/zepgram-module-rest)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
