-
Notifications
You must be signed in to change notification settings - Fork 4
/
file.go
36 lines (31 loc) · 1.77 KB
/
file.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package moysklad
// File Файл.
// Ключевое слово: files
// Документация МойСклад: https://dev.moysklad.ru/doc/api/remap/1.2/dictionaries/#suschnosti-fajly
type File struct {
Created *Timestamp `json:"created,omitempty"` // Время загрузки Файла на сервер
CreatedBy *Employee `json:"createdBy,omitempty"` // Метаданные сотрудника, загрузившего Файл
Content *string `json:"content,omitempty"` // Файл, закодированный в формате Base64.
Filename *string `json:"filename,omitempty"` // Имя Файла
Meta *Meta `json:"meta,omitempty"` // Метаданные объекта
Miniature *Meta `json:"miniature,omitempty"` // Метаданные миниатюры изображения (поле передается только для Файлов изображений)
Size *int `json:"size,omitempty"` // Размер Файла в байтах
Tiny *Meta `json:"tiny,omitempty"` // Метаданные уменьшенного изображения (поле передается только для Файлов изображений)
Title *string `json:"title,omitempty"` // Название Файла
}
func (f File) String() string {
return Stringify(f)
}
func (f File) MetaType() MetaType {
return MetaTypeFiles
}
type Files MetaArray[File]
// Push добавляет элементы в срез.
// Элементы, превышающее максимальное значение MaxFiles, игнорируются
func (f *Files) Push(elements ...*File) *Files {
f.Rows = append(f.Rows, elements...)
if len(f.Rows) > MaxFiles {
f.Rows = f.Rows[:MaxFiles]
}
return f
}