Documentation ¶
Index ¶
- type FirebaseService
- func (s *FirebaseService) ClearNodes() ([]models.Node, []error)
- func (s *FirebaseService) Copy(note models.Note) error
- func (s *FirebaseService) Create(note models.Note) (*models.Note, error)
- func (s *FirebaseService) Cut(note models.Note) (*models.Note, error)
- func (s *FirebaseService) Edit(note models.Note) (*models.Note, error)
- func (s *FirebaseService) Fetch(remote ServiceRepo) ([]models.Node, []error)
- func (s *FirebaseService) GetAll(additional string, ignore []string) ([]models.Node, []string, error)
- func (s *FirebaseService) GetFireDoc(collection firestore.CollectionRef, doc string) (res map[string]interface{}, err error)
- func (s *FirebaseService) Init() error
- func (s *FirebaseService) InitFirebase() error
- func (s *FirebaseService) IsNodeExists(node models.Node) (bool, error)
- func (s *FirebaseService) Migrate(remote ServiceRepo) ([]models.Node, []error)
- func (s *FirebaseService) Mkdir(dir models.Folder) (*models.Folder, error)
- func (s *FirebaseService) MoveNotes(settings models.Settings) error
- func (s *FirebaseService) NotyaCollection() firestore.CollectionRef
- func (s *FirebaseService) Open(node models.Node) error
- func (s *FirebaseService) OpenSettings(settings models.Settings) error
- func (s *FirebaseService) Path() string
- func (s *FirebaseService) Push(remote ServiceRepo) ([]models.Node, []error)
- func (s *FirebaseService) Remove(node models.Node) error
- func (s *FirebaseService) Rename(editNode models.EditNode) error
- func (s *FirebaseService) Settings(p *string) (*models.Settings, error)
- func (s *FirebaseService) StateConfig() models.Settings
- func (s *FirebaseService) Type() string
- func (s *FirebaseService) View(note models.Note) (*models.Note, error)
- func (s *FirebaseService) WriteSettings(settings models.Settings) error
- type LocalService
- func (l *LocalService) ClearNodes() ([]models.Node, []error)
- func (l *LocalService) Copy(note models.Note) error
- func (l *LocalService) Create(note models.Note) (*models.Note, error)
- func (l *LocalService) Cut(note models.Note) (*models.Note, error)
- func (l *LocalService) Edit(note models.Note) (*models.Note, error)
- func (l *LocalService) Fetch(remote ServiceRepo) ([]models.Node, []error)
- func (l *LocalService) GeneratePath(n models.Node) (string, error)
- func (l *LocalService) GetAll(additional string, ignore []string) ([]models.Node, []string, error)
- func (l *LocalService) Init() error
- func (l *LocalService) IsNodeExists(node models.Node) (bool, error)
- func (l *LocalService) Migrate(remote ServiceRepo) ([]models.Node, []error)
- func (l *LocalService) Mkdir(dir models.Folder) (*models.Folder, error)
- func (l *LocalService) MoveNotes(settings models.Settings) error
- func (l *LocalService) Open(node models.Node) error
- func (l *LocalService) OpenSettings(settings models.Settings) error
- func (l *LocalService) Path() string
- func (l *LocalService) Push(remote ServiceRepo) ([]models.Node, []error)
- func (l *LocalService) Remove(node models.Node) error
- func (l *LocalService) Rename(editNode models.EditNode) error
- func (l *LocalService) Settings(p *string) (*models.Settings, error)
- func (l *LocalService) StateConfig() models.Settings
- func (l *LocalService) Type() string
- func (l *LocalService) View(note models.Note) (*models.Note, error)
- func (l *LocalService) WriteSettings(settings models.Settings) error
- type ServiceRepo
- type ServiceType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FirebaseService ¶ added in v0.1.4
type FirebaseService struct { LS ServiceRepo // embedded local service. Stdargs models.StdArgs Config models.Settings // Firebase related. Ctx context.Context FireApp *firebase.App FireAuth *auth.Client FireStore *firestore.Client }
FirebaseService is a class implementation of service repo. Which's methods are based on Firebase client. ...
func NewFirebaseService ¶ added in v0.1.4
func NewFirebaseService(stdargs models.StdArgs, ls ServiceRepo) *FirebaseService
NewFirebaseService creates new firebase service by given arguments.
func (*FirebaseService) ClearNodes ¶ added in v0.1.5
func (s *FirebaseService) ClearNodes() ([]models.Node, []error)
ClearNodes removes all nodes from collection.
func (*FirebaseService) Copy ¶ added in v0.1.4
func (s *FirebaseService) Copy(note models.Note) error
Copy fetches note from [note.Title], and copies its body to machine's clipboard.
func (*FirebaseService) Create ¶ added in v0.1.4
Create, creates a new note element at [note.Title] and sets element-body as json.
func (*FirebaseService) Cut ¶ added in v0.1.5
Cut, copies note data to machine's clipboard and removes it instantly.
func (*FirebaseService) Fetch ¶ added in v0.1.4
func (s *FirebaseService) Fetch(remote ServiceRepo) ([]models.Node, []error)
Fetch creates a clone of nodes(that doesn't exists on [s](firebase-service)) from given [remote] service.
func (*FirebaseService) GetAll ¶ added in v0.1.4
func (s *FirebaseService) GetAll(additional string, ignore []string) ([]models.Node, []string, error)
GetAll returns all elements from notya collection.
func (*FirebaseService) GetFireDoc ¶ added in v0.1.4
func (s *FirebaseService) GetFireDoc(collection firestore.CollectionRef, doc string) (res map[string]interface{}, err error)
GetFireDoc gets concrete collection's concrete data (as map).
func (*FirebaseService) Init ¶ added in v0.1.4
func (s *FirebaseService) Init() error
Init creates notya working directory into current machine.
func (*FirebaseService) InitFirebase ¶ added in v0.1.4
func (s *FirebaseService) InitFirebase() error
Initializes firebase services as [s.FireApp], [s.FireAuth], and [s.FireStore].
func (*FirebaseService) IsNodeExists ¶ added in v0.1.4
func (s *FirebaseService) IsNodeExists(node models.Node) (bool, error)
IsNodeExists checks if an element(given node) exists at notya collection or not. Note: rather than local-service error checking is required.
func (*FirebaseService) Migrate ¶ added in v0.1.5
func (s *FirebaseService) Migrate(remote ServiceRepo) ([]models.Node, []error)
Migrate overwrites all notes of given [remote] service with [s](firebase-service).
func (*FirebaseService) Mkdir ¶ added in v0.1.4
Mkdir does nothing 'cause of firebase document structure. Have to returns assets.FolderingInFirebase.
func (*FirebaseService) MoveNotes ¶ added in v0.1.4
func (s *FirebaseService) MoveNotes(settings models.Settings) error
MoveNote moves all notes from "CURRENT" firebase collection to new collection(given by settings parameter).
func (*FirebaseService) NotyaCollection ¶ added in v0.1.4
func (s *FirebaseService) NotyaCollection() firestore.CollectionRef
notyaCollection generates the main firestore collection refrence.
func (*FirebaseService) Open ¶ added in v0.1.4
func (s *FirebaseService) Open(node models.Node) error
Open, opens note remotly from firebase. caches it on local, makes able to modify after modifing overwrites on db.
func (*FirebaseService) OpenSettings ¶ added in v0.1.4
func (s *FirebaseService) OpenSettings(settings models.Settings) error
OpenSettigns, opens note remotly from firebase. caches it on local, makes able to modify after modifing overwrites on db.
func (*FirebaseService) Path ¶ added in v0.1.4
func (s *FirebaseService) Path() string
Path returns current service'base working directory.
func (*FirebaseService) Push ¶ added in v0.1.4
func (s *FirebaseService) Push(remote ServiceRepo) ([]models.Node, []error)
Push uploads nodes(that doens't exists on given remote) from [s](current) to given [remote].
func (*FirebaseService) Remove ¶ added in v0.1.4
func (s *FirebaseService) Remove(node models.Node) error
Remove deletes given node.
func (*FirebaseService) Rename ¶ added in v0.1.4
func (s *FirebaseService) Rename(editNode models.EditNode) error
Rename changes reference ID of document.
func (*FirebaseService) Settings ¶ added in v0.1.4
func (s *FirebaseService) Settings(p *string) (*models.Settings, error)
Settings gets and returns current settings state data.
func (*FirebaseService) StateConfig ¶ added in v0.1.4
func (s *FirebaseService) StateConfig() models.Settings
StateConfig returns current configuration of state i.e [s.Config].
func (*FirebaseService) Type ¶ added in v0.1.4
func (s *FirebaseService) Type() string
Type returns type of FirebaseService - FIRE.
func (*FirebaseService) WriteSettings ¶ added in v0.1.4
func (s *FirebaseService) WriteSettings(settings models.Settings) error
WriteSettings overwrites settings data by given settings model.
type LocalService ¶
LocalService is a class implementation of service repo. Which is connected to local storage of users machine. Uses ~notya/ as main root folder for notes and configuration files.
func NewLocalService ¶
func NewLocalService(stdargs models.StdArgs) *LocalService
NewLocalService creates new local service by given arguments.
func (*LocalService) ClearNodes ¶ added in v0.1.5
func (l *LocalService) ClearNodes() ([]models.Node, []error)
ClearNodes removes all nodes from local (including folders).
func (*LocalService) Copy ¶ added in v0.1.1
func (l *LocalService) Copy(note models.Note) error
Copy writes given notes' body, to machines main clipboard.
func (*LocalService) Create ¶
Create creates new note file. and fills it's data by given note model.
func (*LocalService) Cut ¶ added in v0.1.5
Cut, copies note data to machine's clipboard and removes it instantly.
func (*LocalService) Fetch ¶ added in v0.1.4
func (l *LocalService) Fetch(remote ServiceRepo) ([]models.Node, []error)
Fetch creates a clone of nodes(that doesn't exists on [l](local-service)) from given [remote] service.
func (*LocalService) GeneratePath ¶ added in v0.1.3
func (l *LocalService) GeneratePath(n models.Node) (string, error)
GeneratePath returns non-zero-valuable string path from given additional sub-path(title of node).
func (*LocalService) Init ¶
func (l *LocalService) Init() error
Init creates notya working directory into current machine.
func (*LocalService) IsNodeExists ¶ added in v0.1.4
func (l *LocalService) IsNodeExists(node models.Node) (bool, error)
IsNodeExists checks for a file or folder at [node.Path] or at generated path from [node.Title]. Note: rather than remote services, error checking is not required.
func (*LocalService) Migrate ¶ added in v0.1.5
func (l *LocalService) Migrate(remote ServiceRepo) ([]models.Node, []error)
Migrate overwrites all notes of given [remote] service with [l](current-service).
func (*LocalService) MoveNotes ¶ added in v0.1.2
func (l *LocalService) MoveNotes(settings models.Settings) error
MoveNote moves all notes from "CURRENT" path to new path(given by settings parameter).
func (*LocalService) Open ¶
func (l *LocalService) Open(node models.Node) error
Open opens given node(file or folder) via editor.
func (*LocalService) OpenSettings ¶ added in v0.1.4
func (l *LocalService) OpenSettings(settings models.Settings) error
OpenSettings opens given settings via editor.
func (*LocalService) Path ¶ added in v0.1.3
func (l *LocalService) Path() string
Path returns current service's base working directory.
func (*LocalService) Push ¶ added in v0.1.4
func (l *LocalService) Push(remote ServiceRepo) ([]models.Node, []error)
Push uploads nodes(that doesn't exists on given remote) from [l](current) to given [remote].
func (*LocalService) Remove ¶
func (l *LocalService) Remove(node models.Node) error
Remove deletes given node.
func (*LocalService) Rename ¶
func (l *LocalService) Rename(editNode models.EditNode) error
Rename changes given note's name.
func (*LocalService) Settings ¶ added in v0.1.2
func (l *LocalService) Settings(p *string) (*models.Settings, error)
Settings gets and returns current settings state data.
func (*LocalService) StateConfig ¶ added in v0.1.4
func (l *LocalService) StateConfig() models.Settings
StateConfig returns current configuration of state i.e [l.Config].
func (*LocalService) Type ¶ added in v0.1.4
func (l *LocalService) Type() string
Type returns type of LocalService - LOCAL
func (*LocalService) View ¶
View opens note-file from given [note.Name], then takes it body, and returns new fully-filled note.
func (*LocalService) WriteSettings ¶ added in v0.1.2
func (l *LocalService) WriteSettings(settings models.Settings) error
WriteSettings overwrites settings data by given settings model.
type ServiceRepo ¶
type ServiceRepo interface { // Type returns the current implementation's type. // - LOCAL, if it's local service implementation. // - FIRE, if it's firebase service implementation. // and etc ... Type() string // Path returns the path of current base service. // In case of local storage implementation, path would be the folder path of the notes. Path() string // Current config data of service implementation. StateConfig() models.Settings // Init setups all kinda minimal services for application. Init() error Settings(p *string) (*models.Settings, error) WriteSettings(settings models.Settings) error OpenSettings(settings models.Settings) error // General functions that used for both [Note]s and [Folder]s IsNodeExists(node models.Node) (bool, error) Open(node models.Node) error Remove(node models.Node) error Rename(editNode models.EditNode) error ClearNodes() ([]models.Node, []error) // Note(file) related functions. GetAll(additional string, ignore []string) ([]models.Node, []string, error) Create(note models.Note) (*models.Note, error) View(note models.Note) (*models.Note, error) Edit(note models.Note) (*models.Note, error) Copy(note models.Note) error Cut(note models.Note) (*models.Note, error) // Folder(directory) related functions. Mkdir(dir models.Folder) (*models.Folder, error) // MoveNotes moves all exiting notes from CURRENT directory // to new one, appropriate by settings which comes from arguments. MoveNotes(settings models.Settings) error // Fetch fetches nodes(that doesn't exists // on current service) from remote service to local service. Fetch(remote ServiceRepo) ([]models.Node, []error) // Push uploads all notes from local service to provided remote. Push(remote ServiceRepo) ([]models.Node, []error) // Migrate clones current service data to [remote] service data. // [remote] service data would be cleared and replaced with current service data. Migrate(remote ServiceRepo) ([]models.Node, []error) }
ServiceRepo is a abstract class for all service implementations.
╭──────╮ ╭────────────────────╮
... │ User │ ──▶ │ Interface Commands │
╰──────╯ ╰────────────────────╯ │ ╭───────────────────────╮ ▼ ▼ ╭───────────────╮ ╭────────────────╮ │ Local Service │ │ Remote Service │ ╰───────────────╯ ╰────────────────╯ Connected to local Connected to user defined storage, and uses key-store remote database, and uses ~notya/ as main root notya/ as base root key map. folder for notes.
type ServiceType ¶ added in v0.1.4
type ServiceType string
Custom string struct to define type of services
var ( LOCAL ServiceType = "LOCAL" FIRE ServiceType = "FIREBASE" Services []string = []string{ LOCAL.ToStr(), FIRE.ToStr(), } )
func (*ServiceType) ToStr ¶ added in v0.1.4
func (s *ServiceType) ToStr() string
ToStr returns exact key value of ServiceType.