package entities import ( "fmt" ) type Document struct { DocumentUUID *string DocumentName string DocumentType int } const ( ERROR_DOCUMENT_TYPE = "ERROR_DOCUMENT_TYPE" ERROR_DOCUMENT_MOVE = "ERROR_DOCUMENT_MOVE" ERROR_DOCUMENT_NOT_PERCISTED = "ERROR_DOCUMENT_NOT_PERCISTED" ) const ( FILE = 1 DIRECTORY = 2 ) func IsDocumentTypeValid(documentType int) bool { return IsFile(documentType) || IsDirectory(documentType) } func IsFile(documentType int) bool { return FILE == documentType } func IsDirectory(documentType int) bool { return DIRECTORY == documentType } func NewDocument(documentName string, documentType int) (error, *Document) { documentTypeIsValid := IsDocumentTypeValid(documentType) if !documentTypeIsValid { return fmt.Errorf(ERROR_DOCUMENT_TYPE), nil } return nil, &Document{ DocumentName: documentName, DocumentType: documentType, } }