/* ------------------------------------------------------------------------------------------------------------------------ ####### components ####### Copyright (c) 2021 mls-361 ############################################## MIT License ####### ------------------------------------------------------------------------------------------------------------------------ */ package components import ( "net/http" "forge.chapril.org/armen/jw" "forge.chapril.org/mls-361/logger" "forge.chapril.org/mls-361/uuid" "forge.chapril.org/armen/armen/internal/config/data" ) // Application AFAIRE. type Application interface { ID() uuid.UUID Name() string LookupEnv(suffix string) (string, bool) Host() string } // Config AFAIRE. type Config interface { Logger() *data.Logger Server() *data.Server Storage() *data.Storage } // Crypto AFAIRE. type Crypto interface { DecryptString(text string) (string, error) } // Logger AFAIRE. type Logger interface { logger.Logger } // Model AFAIRE. type Model interface { jw.Model } // Router AFAIRE. type Router interface { Handler() http.Handler Get(path string, handler http.Handler) Post(path string, handler http.Handler) } // Storage AFAIRE. type Storage interface { jw.Storage } // Server AFAIRE. type Server interface { Start() error Stop() } /* ######################################################################################################## @(°_°)@ ####### */