Skip to content

Many resources missing operation parameter and have unwired action files #4

@aybouzaglou

Description

@aybouzaglou

Problem

Several resources in this node have action files (create, update, delete, etc.) that exist on disk but are not functional because:

  1. Missing operation parameter - The index.ts files don't define the Operation dropdown, so n8n shows the resource but no operations to choose from
  2. Action files not exported - Even though files like create.ts, update.ts, delete.ts exist, they're not imported/exported from index.ts
  3. Type mismatch - interfaces.ts declares operations that should exist but aren't wired up

Visual Example

When selecting "Related Item" resource, no Operation dropdown appears - the user cannot perform any actions.

Affected Resources

Resource Files on Disk Exported in index.ts Missing
configurationInterface get, getById, create, update, delete, bulkUpdate get, getById create, update, delete, bulkUpdate
configurationStatus get, getById, create, update get, getById create, update
configurationType get, getById, create, update get, getById create, update
contactType get, getById, create, update get, getById create, update
relatedItem get, getById, create, update, delete, bulkDestroy get, getById create, update, delete, bulkDestroy
user get, getById, create, update, delete get, getById create, update, delete
manufacturer get, getById, create, update, delete get, getById create, update, delete
model get, getById, create, update, delete get, getById create, update, delete
flexibleAssetType get, getById, create, update, delete get, getById create, update, delete
flexibleAssetField get, getById, create, update, destroy, bulkUpdate get, getById create, update, destroy, bulkUpdate
organizationStatus get, getById, create, update get, getById create, update
organizationType get, getById, create, update get, getById create, update
passwordCategory get, getById, create, update get, getById create, update

What Needs to Be Done

For each affected resource, the index.ts file needs to:

  1. Add the operation parameter definition - Following the pattern in configuration/index.ts:

    export const descriptions: INodeProperties[] = [
      {
        displayName: 'Operation',
        name: 'operation',
        type: 'options',
        noDataExpression: true,
        displayOptions: {
          show: {
            resource: ['resourceName'],
          },
        },
        options: [
          { name: 'Create', value: 'create', description: '...', action: '...' },
          // ... all operations
        ],
        default: 'get',
      },
      ...get.description,
      ...create.description,
      // ... spread all operation descriptions
    ];
  2. Import and export all action files that exist in the directory

  3. Update interfaces.ts if any declared operations don't actually have implementation files

Additional Notes

  • The codebase uses inconsistent patterns: some resources use folder-based structure (configuration/get/index.ts + description.ts + execute.ts) while others use single files (country/get.ts)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions