> ## Documentation Index
> Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Resource

> Resource library item entity

Resource library item entity

Represents items in the resource library.

## Fields

### Field Registry (from `workspace/sources/entity-registry.csv`)

| Field                      | Input Type         | Required     | Notes                                                                                                            |
| -------------------------- | ------------------ | ------------ | ---------------------------------------------------------------------------------------------------------------- |
| Resource ID                | Number             | Required     | Automatically generated by the system and locked                                                                 |
| Resource Name              | Text               | Required     | model: `name`                                                                                                    |
| Resource Short Description | Text               | Required     | Displays on the resource tile; model: `description`                                                              |
| Resource Type              | Select             | Required     | Displays one of the following types (Document, Video, Audio); model: `resourceType`, rel: ManyToOne ResourceType |
| Resource Description       | WYSIWYG (Textarea) | Required     | model: `description`                                                                                             |
| Resource Category          | Multi-select       | Required     | model: `resourceCategories`, rel: OneToMany ResourceCategory                                                     |
| Resource Series            | Multi-select       | -            | model: `resourceSeries`, rel: OneToMany ResourceSeries                                                           |
| Resource Branches          | Multi-select       | -            | model: `resourceBranches`, rel: OneToMany ResourceBranches                                                       |
| Resource Featured Image    | File               | -            | model: `featuredImage`, rel: string imageFile                                                                    |
| Resource Tags              | Multi-select       | Not Required | To help the client search for a resource                                                                         |
| Resource File              | File               | Required     | -                                                                                                                |
| Resource Date              | Date               | Required     | -                                                                                                                |
| Resource Author            | Text               | Required     | model: `author`, rel: string                                                                                     |
| Resource Time              | Number             | Required     | In Minutes; model: `time`, rel: integer                                                                          |
| Free Resource              | True / False       | Required     | model: `isFreeResource`, rel: boolean                                                                            |
| Members Pricing            | Number             | Required     | -                                                                                                                |
| Non-Members Pricing        | Number             | Required     | model: `nonMembersPrice`, rel: float                                                                             |
| Qty                        | Number             | Not Required | If left empty, no limit on how many times it can be purchased; model: `quantity`, rel: integer                   |
| GL Code                    | Text               | Not Required | Displays if an accounting software is connected; model: `glCode`, rel: string                                    |
| Publish Status             | Select             | Required     | -                                                                                                                |
| Version History            | Datatable          | -            | Displays a list of edits with date and timestamp and a link to the old file                                      |
| Status                     | -                  | -            | model: `status`, rel: ManyToOne ResourceStatus                                                                   |

## Features

### Resource

#### Acceptance Criteria

##### Frontend

* [ ] Admin/client UI can view and manage `Resource` records where applicable.

##### Backend / API

* [ ] CRUD operations exist for `Resource` (create, read, update, delete/archive).

##### Permissions

* [ ] Access is restricted to appropriate roles (tenant-scoped).

##### Business Rules

* [ ] Fields and relationships documented on this page are enforced for `Resource`.

##### Error Handling

* [ ] Invalid payloads return field-level validation errors.
