mirror of https://github.com/cloudreve/Cloudreve
				
				
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			829 B
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			829 B
		
	
	
	
		
			Go
		
	
	
package schema
 | 
						|
 | 
						|
import (
 | 
						|
	"entgo.io/ent"
 | 
						|
	"entgo.io/ent/schema/edge"
 | 
						|
	"entgo.io/ent/schema/field"
 | 
						|
	"entgo.io/ent/schema/index"
 | 
						|
)
 | 
						|
 | 
						|
// Metadata holds the schema definition for the Metadata entity.
 | 
						|
type Metadata struct {
 | 
						|
	ent.Schema
 | 
						|
}
 | 
						|
 | 
						|
// Fields of the Metadata.
 | 
						|
func (Metadata) Fields() []ent.Field {
 | 
						|
	return []ent.Field{
 | 
						|
		field.String("name"),
 | 
						|
		field.Text("value"),
 | 
						|
		field.Int("file_id"),
 | 
						|
		field.Bool("is_public").
 | 
						|
			Default(false),
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// Edges of the Metadata.
 | 
						|
func (Metadata) Edges() []ent.Edge {
 | 
						|
	return []ent.Edge{
 | 
						|
		edge.From("file", File.Type).
 | 
						|
			Ref("metadata").
 | 
						|
			Field("file_id").
 | 
						|
			Required().
 | 
						|
			Unique(),
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (Metadata) Indexes() []ent.Index {
 | 
						|
	return []ent.Index{
 | 
						|
		index.Fields("file_id", "name").
 | 
						|
			Unique(),
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (Metadata) Mixin() []ent.Mixin {
 | 
						|
	return []ent.Mixin{
 | 
						|
		CommonMixin{},
 | 
						|
	}
 | 
						|
}
 |