|
@@ -18,3 +18,86 @@ type IRequest interface {
|
|
ResponseSuccess(data json.Map, files map[string]io.ReadCloser) IResponse
|
|
ResponseSuccess(data json.Map, files map[string]io.ReadCloser) IResponse
|
|
ResponseError(code int, err IErrorArgs) IResponse
|
|
ResponseError(code int, err IErrorArgs) IResponse
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+type Request struct {
|
|
|
|
+ auth json.Map `json:"auth"`
|
|
|
|
+ command string `json:"command"`
|
|
|
|
+ data json.Map `json:"data"`
|
|
|
|
+ fileKeys []string `json:"file_keys"`
|
|
|
|
+ files map[string]io.Reader
|
|
|
|
+ root any
|
|
|
|
+ generateToken func(data json.Map, expire int64) (string, error)
|
|
|
|
+ //Response func(data json.Map, files map[string]io.ReadCloser) IResponse
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// сеттеры
|
|
|
|
+
|
|
|
|
+func (s *Request) SetAuth(auth json.Map) {
|
|
|
|
+ s.auth = auth
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) SetCommand(command string) {
|
|
|
|
+ s.command = command
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) SetData(data json.Map) {
|
|
|
|
+ s.data = data
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) SetFiles(files map[string]io.Reader) {
|
|
|
|
+ s.files = files
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) SetRoot(root any) {
|
|
|
|
+ s.root = root
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) SetGenerateToken(generateToken func(data json.Map, expire int64) (string, error)) {
|
|
|
|
+ s.generateToken = generateToken
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// методы интерфейса
|
|
|
|
+
|
|
|
|
+func (s *Request) IsAuth() bool {
|
|
|
|
+ return s.auth != nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) Data() json.Map {
|
|
|
|
+ return s.data
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) FileKeys() []string {
|
|
|
|
+ keys := make([]string, len(s.files))
|
|
|
|
+ for key, _ := range s.files {
|
|
|
|
+ keys[0] = key
|
|
|
|
+ }
|
|
|
|
+ return keys
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) File(name string) (io.Reader, bool) {
|
|
|
|
+ file, ok := s.files[name]
|
|
|
|
+ return file, ok
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) GenerateToken(data json.Map, expire int64) (string, error) {
|
|
|
|
+ return s.generateToken(data, expire)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) Root() any {
|
|
|
|
+ return s.root
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) ResponseSuccess(data json.Map, files map[string]io.ReadCloser) IResponse {
|
|
|
|
+ return &Response{
|
|
|
|
+ code: 200,
|
|
|
|
+ data: data,
|
|
|
|
+ files: files,
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *Request) ResponseError(code int, err IErrorArgs) IResponse {
|
|
|
|
+ return &Response{
|
|
|
|
+ code: code,
|
|
|
|
+ err: err,
|
|
|
|
+ }
|
|
|
|
+}
|