36 lines
966 B
Go
36 lines
966 B
Go
package store
|
|
|
|
import "context"
|
|
|
|
type AttachmentCreation struct {
|
|
MemberID int64
|
|
Drive string
|
|
Name string
|
|
MimeType string
|
|
Path string
|
|
URL string
|
|
Size int64
|
|
Ext string
|
|
MD5 string
|
|
}
|
|
|
|
type Attachment struct {
|
|
ID int64 `json:"id"`
|
|
URL string `json:"url"`
|
|
}
|
|
|
|
func (s *Store) CreateAttachment(ctx context.Context, input AttachmentCreation) (*Attachment, error) {
|
|
result, err := s.db.ExecContext(ctx, `INSERT INTO hg_sys_attachment
|
|
(app_id,member_id,cate_id,drive,name,kind,mime_type,naive_type,path,file_url,size,ext,md5,status,created_at,updated_at)
|
|
VALUES('olons_server',?,0,?,?,'image',?,'image',?,?,?, ?,?,1,UTC_TIMESTAMP(),UTC_TIMESTAMP())`,
|
|
input.MemberID, input.Drive, input.Name, input.MimeType, input.Path, input.URL, input.Size, input.Ext, input.MD5)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
id, err := result.LastInsertId()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &Attachment{ID: id, URL: input.URL}, nil
|
|
}
|