// Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/

import type { ObjectManagerFrontendAttributesPayload } from '#shared/graphql/types.ts'

export default (): ObjectManagerFrontendAttributesPayload => ({
  attributes: [
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'name',
      display: 'Name',
      dataType: 'input',
      dataOption: {
        type: 'text',
        maxlength: 150,
        null: false,
        item_class: 'formGroup--halfSize',
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'shared',
      display: 'Shared organization',
      dataType: 'boolean',
      dataOption: {
        null: true,
        default: true,
        note: "Customers in the organization can view each other's items.",
        item_class: 'formGroup--halfSize',
        options: {
          true: 'yes',
          false: 'no',
        },
        translate: true,
        permission: ['admin.organization'],
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'domain_assignment',
      display: 'Domain based assignment',
      dataType: 'boolean',
      dataOption: {
        null: true,
        default: false,
        note: 'Assign users based on user domain.',
        item_class: 'formGroup--halfSize',
        options: {
          true: 'yes',
          false: 'no',
        },
        translate: true,
        permission: ['admin.organization'],
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'domain',
      display: 'Domain',
      dataType: 'input',
      dataOption: {
        type: 'text',
        maxlength: 150,
        null: true,
        item_class: 'formGroup--halfSize',
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'note',
      display: 'Note',
      dataType: 'richtext',
      dataOption: {
        type: 'text',
        maxlength: 5000,
        null: true,
        note: 'Notes are visible to agents only, never to customers.',
        no_images: true,
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'active',
      display: 'Active',
      dataType: 'active',
      dataOption: {
        null: true,
        default: true,
        permission: ['admin.organization'],
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'vip',
      display: 'VIP',
      dataType: 'boolean',
      dataOption: {
        options: {
          true: 'yes',
          false: 'no',
        },
        null: true,
        default: false,
        permission: ['admin.organization'],
      },
      screens: {},
      isInternal: true,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'test',
      display: 'Test Field',
      dataType: 'input',
      dataOption: {
        default: '',
        type: 'text',
        maxlength: 120,
        linktemplate: '',
        null: true,
        options: {},
        relation: '',
      },
      screens: {},
      isInternal: false,
    },
    {
      __typename: 'ObjectManagerFrontendAttribute',
      name: 'textarea',
      display: 'Textarea Field',
      dataType: 'textarea',
      dataOption: {
        default: '',
        maxlength: 500,
        rows: 4,
        null: true,
        options: {},
        relation: '',
      },
      screens: {},
      isInternal: false,
    },
  ],
  screens: [
    {
      name: 'view',
      attributes: [
        'name',
        'shared',
        'domain_assignment',
        'domain',
        'note',
        'active',
        'vip',
        'test',
        'textarea',
      ],
    },
    {
      name: 'edit',
      attributes: [
        'name',
        'shared',
        'domain_assignment',
        'domain',
        'note',
        'active',
        'vip',
        'test',
        'textarea',
      ],
    },
  ],
})