package cvt

import (
	appent "github.com/tidbcloud/devops/entity/application"
	appmod "github.com/tidbcloud/devops/models/application"
	"github.com/tidbcloud/devops/models/base"
)

type e2m struct{}

func (cvt e2m) Application(e *appent.Application) *appmod.Application {
	m := &appmod.Application{
		Updatable: base.Updatable{
			Base: base.Base{ID: base.ID(e.ID)},
		},

		Name:        e.Name,
		Description: e.Description,
	}

	for _, owner := range e.Owners {
		m.Owners = append(m.Owners, &appmod.ApplicationToOwner{
			Application: m.Name,
			Owner:       owner,
		})
	}

	return m
}
