File

apps/recallassess/recallassess-api/src/api/admin/participant/config/participant-config.service.ts

Extends

ModuleConfigBase

Index

Methods

Methods

getConfiguration
getConfiguration()
Returns : ModuleConfig
import { ColumnConfig, ColumnType } from "@bish-nest/core/app-config/column-config.class";
import { ModuleConfig } from "@bish-nest/core/app-config/module-config.class";
import { ModuleConfigBase } from "@bish-nest/core/app-config/module-config-base.class";
import { Injectable } from "@nestjs/common";
import { ParticipantAddDto } from "../dto/participant-add.dto";
import { ParticipantDetailDto } from "../dto/participant-detail.dto";
import { ParticipantListDto } from "../dto/participant-list.dto";
import { ParticipantListSimpleDto } from "../dto/participant-list-simple.dto";
import { ParticipantSaveDto } from "../dto/participant-save.dto";

@Injectable()
export class ParticipantConfig extends ModuleConfigBase {
  getConfiguration(): ModuleConfig {
    const columns: ColumnConfig[] = [
      new ColumnConfig({ name: "id", type: ColumnType.Integer }),
      new ColumnConfig({ name: "company_id", type: ColumnType.Integer }),
      new ColumnConfig({ name: "company.name" }),
      new ColumnConfig({ name: "company.country" }),
      new ColumnConfig({ name: "company.preferred_timezone" }),
      new ColumnConfig({ name: "first_name" }),
      new ColumnConfig({ name: "last_name" }),
      new ColumnConfig({ name: "email" }),
      new ColumnConfig({ name: "phone" }),
      new ColumnConfig({ name: "role" }),
      new ColumnConfig({ name: "is_active", type: ColumnType.Boolean }),
      new ColumnConfig({ name: "flag", type: ColumnType.Boolean }),
      new ColumnConfig({ name: "email_verified", type: ColumnType.Boolean }),
      new ColumnConfig({ name: "email_verified_at", type: ColumnType.DateTime }),
      new ColumnConfig({ name: "last_login", type: ColumnType.DateTime }),
      new ColumnConfig({ name: "created_at", type: ColumnType.DateTime }),
      new ColumnConfig({ name: "updated_at", type: ColumnType.DateTime }),
    ];

    return new ModuleConfig({
      name: "participant",
      columns,
      // Allow searching by numeric id in the list keyword box (e.g. "106")
      keywordSearchCols: ["id", "first_name", "last_name", "email", "phone", "company.name"],

      relationObjToIncludeForList: {
        company: true,
      },

      relationObjToIncludeForDetail: {
        company: true,
        userCreatedBy: true,
        userUpdatedBy: true,
      },

      listDto: ParticipantListDto,
      simpleDto: ParticipantListSimpleDto,
      detailDto: ParticipantDetailDto,
      addDto: ParticipantAddDto,
      saveDto: ParticipantSaveDto,
    });
  }
}

results matching ""

    No results matching ""