// Copyright 2023 Anlity <leo@leocode.net>. All rights reserved.
// Use of this source code is governed by a AGPL v3.0 style
// license that can be found in the LICENSE file.

// ==========================================================================
// This is auto-generated by gf cli tool. DO NOT EDIT THIS FILE MANUALLY.
// ==========================================================================

package internal

import (
	"github.com/gogf/gf/database/gdb"
	"github.com/gogf/gf/frame/g"
	"github.com/gogf/gf/frame/gmvc"
)

// ConversationDao is the manager for logic model data accessing
// and custom defined data operations functions management.
type ConversationDao struct {
	gmvc.M                      // M is the core and embedded struct that inherits all chaining operations from gdb.Model.
	DB      gdb.DB              // DB is the raw underlying database management object.
	Table   string              // Table is the table name of the DAO.
	Columns conversationColumns // Columns contains all the columns of Table that for convenient usage.
}

// ConversationColumns defines and stores column names for table c_conversation.
type conversationColumns struct {
	Id        string // ID
	UserId    string // 会员ID
	TopicId   string // 话题
	Role      string // 对话角色
	Content   string // 对话内容
	CreatedAt string // 创建时间
	UpdatedAt string // 更新时间
}

func NewConversationDao() *ConversationDao {
	return &ConversationDao{
		M:     g.DB("default").Model("c_conversation").Safe(),
		DB:    g.DB("default"),
		Table: "c_conversation",
		Columns: conversationColumns{
			Id:        "id",
			UserId:    "user_id",
			TopicId:   "topic_id",
			Role:      "role",
			Content:   "content",
			CreatedAt: "created_at",
			UpdatedAt: "updated_at",
		},
	}
}
