import { createCrudRoutes } from '@d8d/shared-crud';
import { authMiddleware } from '@d8d/auth-module';
import { Channel } from '../entities/channel.entity';
import { ChannelSchema, CreateChannelSchema, UpdateChannelSchema } from '../schemas/channel.schema';

export const channelCrudRoutes = createCrudRoutes({
  entity: Channel,
  createSchema: CreateChannelSchema,
  updateSchema: UpdateChannelSchema,
  getSchema: ChannelSchema,
  listSchema: ChannelSchema,
  searchFields: ['channelName'],
  middleware: [authMiddleware],
  readOnly: true, // 设置为只读，因为创建、更新、删除操作通过自定义路由处理
  userTracking: {
    createdByField: 'createdBy',
    updatedByField: 'updatedBy'
  }
});