feat(oo): catalog scan/match/apply for CRM clients and contacts

Add filesystem inventory (VCF, contact folders, project trees) into a
reviewable YAML catalog, match against live OnlyOffice, and upsert only
rows with approve:true. Includes FindPersonByEmail for email-keyed persons.
This commit is contained in:
2026-07-26 11:10:02 +01:00
parent 1a93579635
commit aa4e71b9d2
8 changed files with 80 additions and 3 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ func TestRootRegistersSubjects(t *testing.T) {
want := []string{
"calendar", "projects", "tasks", "users", "whoami",
"contacts", "persons", "companies",
"opportunities", "cases", "crm-tasks", "applications", "crm", "mails",
"opportunities", "cases", "crm-tasks", "applications", "crm", "mails", "catalog",
}
got := make(map[string]bool, len(rootCmd.Commands()))
for _, c := range rootCmd.Commands() {
+1 -1
View File
@@ -20,7 +20,7 @@ var outputFormat = "table"
var rootCmd = &cobra.Command{
Use: "oo",
Short: "OnlyOffice Workspace CLI — subject-based command tree",
Long: "oo is a thin CLI over github.com/eslider/go-onlyoffice.\nCommands are grouped by OnlyOffice subject (calendar, projects, tasks, users, persons, companies, opportunities, cases, crm-tasks, applications).",
Long: "oo is a thin CLI over github.com/eslider/go-onlyoffice.\nCommands are grouped by OnlyOffice subject (calendar, projects, tasks, users, persons, companies, opportunities, cases, crm-tasks, applications, catalog).",
Version: version,
SilenceUsage: true,
SilenceErrors: false,
+1
View File
@@ -15,6 +15,7 @@
// oo crm cleanup
// oo mails accounts | folders | list | get | delete
// oo applications sync
// oo catalog scan-contacts | scan-projects | merge | match | apply
//
// Every list supports `--output/-o json|table` (table is the default).
//