package shallow_collaborative_area

import (
	"cloud.o-forge.io/core/oc-lib/models/utils"
	"cloud.o-forge.io/core/oc-lib/tools"
)

type ShallowCollaborativeArea struct {
	utils.AbstractObject
	IsSent      bool                   `json:"is_sent" bson:"-"`
	Version     string                 `json:"version,omitempty" bson:"version,omitempty"`
	Description string                 `json:"description,omitempty" bson:"description,omitempty" validate:"required"`
	Attributes  map[string]interface{} `json:"attributes,omitempty" bson:"attributes,omitempty"`
	Workspaces  []string               `json:"workspaces" bson:"workspaces"`
	Workflows   []string               `json:"workflows" bson:"workflows"`
	Peers       []string               `json:"peers" bson:"peers"`
	Rules       []string               `json:"rules,omitempty" bson:"rules,omitempty"`
}

func (d *ShallowCollaborativeArea) GetAccessor(request *tools.APIRequest) utils.Accessor {
	return NewAccessor(request)
}
