Commit Graph

75 Commits (c818c034cd167e0742649c11e026a8560d5b3c79)

Author SHA1 Message Date
Vernon Keenan c818c034cd
Merge pull request #5 from vernonkeenan/feat/regen-clients-processor-token
regen: refresh all sibling clients (go-swagger v0.35.0)
2026-07-12 00:23:36 -07:00
Vernon Keenan add52157dd regen: refresh all sibling clients (go-swagger v0.35.0)
Runs scripts/release.sh regen against current origin/main specs for
auth, crm, stash, sf-gate, research, members, and plex. Picks up:

- members PaymentMethod: processor_token/tenant_id replace card_* columns
  (go/db v0.7.3, ADR-KV-014 first exercise) — generated model now carries
  ProcessorToken/TenantID with no Card* fields.
- sf-gate: PUT /researchprojectservices now has a tags: entry (sf-gate #3),
  so its operation generates into the research_projects package under
  --client-package instead of falling back to an untagged operations
  package that broke the build.
- members: session handoff endpoints and onboard_request model (current
  members spec); webhooks/clerk endpoints removed (retired upstream).

Also bumps go-openapi/runtime v0.26.2 -> v0.32.4 (go mod tidy) — go-swagger
v0.35.0 client templates reference runtime.ContextualTransport, which
v0.26.2 doesn't have; this is a genuine dependency floor bump, not the
known untagged-operation issue documented in release.sh (that issue is
resolved by sf-gate #3 and no longer reproduces here).

go build ./..., go vet ./..., and go test ./... all pass on the
regenerated tree.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 07:22:01 +00:00
Vernon Keenan e676f0e6b8
Update PaymentMethod swagger def for processor_token migration (#4)
go/db v0.7.3 replaced the card_* columns with processor_token. Drop
CardHolderName/CardNumber/CardType/ExpirationMonth/ExpirationYear and
add ProcessorToken + TenantID to match prod DDL truth (sql/members.sql).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 00:01:14 -07:00
Vernon Keenan 05b7ffcca2
Merge pull request #3 from vernonkeenan/feat/scripted-release
feat: replace manual release ritual with make release (ADR-KV-014)
2026-07-11 23:52:07 -07:00
Vernon Keenan 8ef777c7e6 feat: replace manual release ritual with `make release` (ADR-KV-014)
The README's "Update Procedure" required three web UIs (GitHub branch
defaults, GitHub releases, Gitea "Synchronize Now") and a go-swagger CLI
installed nowhere. Now that lib is main+tags instead of branch-per-version,
replace it with scripts/release.sh driven through the Makefile:

- `make install-swagger` installs a pinned go-swagger (v0.35.0) and
  verifies the version.
- `make regen` copies the sibling service specs and regenerates api/
  clients exactly as the old `make swagger` ritual did, failing fast if
  a sibling spec is missing. Regen output is reviewed/committed as its
  own PR, same as any other change.
- `make release VERSION=vX.Y.Z` / `make release-dry-run VERSION=vX.Y.Z`
  validate semver + monotonicity, require a clean main checkout synced
  with origin/main, tag, push, `gh release create`, and POST to the
  Gitea mirror-sync API for the vernonkeenan/lib and work/lib mirrors
  (skipped with a loud warning if GITEA_TOKEN is unset).

Also scope the CI push trigger to `main` + `v*` tags instead of every
branch, so PRs (which already run via the `pull_request` trigger) stop
double-running.

Verified locally: bash -n + shellcheck clean; install-swagger into a
temp GOBIN across go-swagger v0.33.2-v0.35.0; semver/monotonicity/
tag-exists/branch/origin-sync validation failure paths; a full regen
against the real sibling specs in a scratch dir (never the checked-out
api/swagger). That regen surfaced a real go-swagger limitation --
documented in the README and as a warning in the script -- reproduced
across all four installable versions: an untagged operation in
sf-gate-vernonkeenan.yaml produces a client that doesn't compile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 06:49:23 +00:00
Vernon Keenan a906d56678
Merge pull request #2 from vernonkeenan/test/app-service-helpers
Add unit tests for app/service-helpers.go pure helpers
2026-07-11 23:20:48 -07:00
Vernon Keenan 36d068664d Add table-driven unit tests for app/service-helpers.go pure helpers
GetFieldsAndValues, SqlDateToString, ParseDateTime, and IsZero had zero
test coverage even though they're pure, hermetic logic with several
non-obvious behaviors (e.g. strings always count as "non-zero", arrays
are compared by length only, and the dateTimeFormat's "-0800" suffix is
a Go reference-time artifact that behaves as a literal string rather
than a real timezone offset). Locking these in with tests now, ahead of
any future refactor of this file, so behavior changes are caught
instead of silently shipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 06:07:44 +00:00
Vernon Keenan 48d3f6a97a
Merge pull request #1 from vernonkeenan/ci/first-ci-gitleaks
ci: first-ever build/vet/test + gitleaks CI (ADR-KV-014)
2026-07-11 23:00:40 -07:00
Vernon Keenan c7327fd313 ci: add first-ever build/vet/test + gitleaks CI (ADR-KV-014)
lib is publicly mirrored on code.tnxs.net and had no CI at all. Add
.github/workflows/push.yml gating every push/PR on the private
self-hosted runner (ADR-KV-004): a test job (go build/vet/test) and a
gitleaks secret-scan job using the official docker image directly
(gitleaks/gitleaks-action needs an org license we don't have).

The gitleaks history scan surfaced 6 findings, all illustrative
`example:` JWTs hardcoded by swagger-codegen into the generated Kazoo
API client models and the vendored Kazoo swagger spec — placeholders
from the vendor's public docs, not real credentials. Added a minimal
.gitleaks.toml allowlist scoped to just those four generated files so
CI runs clean without masking real findings elsewhere.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 05:23:59 +00:00
Vernon Keenan a13ad35fe2 feat(api): Generate session management API client and models
- Added `get_me` and `refresh_session` parameters and responses for user session management.
- Implemented `sessions_client` for handling session-related API calls.
- Created models for `Credentials`, `Category`, `Product`, and `Service` with validation.
- Defined Swagger specifications for `Credentials`.
- Ensured all generated files are marked as non-editable to prevent manual changes.
2025-05-27 03:20:36 +00:00
Vernon Keenan 2e3fdeec39 Refactor Swagger definitions to use external references for Address, CompanyProduct, CompanyService, Factor, FinancialStatement, Industry, IndustryCompany, IndustryProduct, IndustryService, Observation, and Topic. This improves modularity and maintainability of the API specification. 2025-05-01 18:45:54 +00:00
Vernon Keenan 7b878f86d5 feat: Replace AccountID with CompanyID in GetIndustryCompaniesParams and update related Swagger definitions 2025-04-30 18:42:56 +00:00
Vernon Keenan 6f44181e08 feat: Add enrichment fields to Account, CompanyProduct, and CompanyService models 2025-04-29 04:48:58 +00:00
Vernon Keenan 18bfdecdbe Refactor code structure for improved readability and maintainability 2025-04-29 04:22:59 +00:00
Vernon Keenan e64482991c feat: Add Channels field to Account and Contact models
The code changes include adding the `Channels` field to the `Account` and `Contact` models in the `crm` and `sfgate` packages. This field is used to store the marketing channels for the respective entities.
2024-06-30 21:03:06 +00:00
Vernon Keenan 7eb2060c65 feat: Add AppExchange URL field to CompanyProduct model 2024-06-29 00:23:11 +00:00
Vernon Keenan 6846446ffa feat: Add AppExchange URL field to CompanyProduct model
The code changes include adding the `AppExchange` field to the `CompanyProduct` model in the `sfgate` package. This field is used to store the Salesforce AppExchange URL.
2024-06-28 23:09:29 +00:00
Vernon Keenan 4d2d5bf861 feat: Add AppExchange URL field to Account and Company models
The code changes include adding the `AppExchange` field to the `Account` and `Company` models in the `sfgate` and `plex` packages. This field is used to store the Salesforce AppExchange URL.
2024-06-28 22:40:38 +00:00
Vernon Keenan 29f3ad980d Add FullDescription field to Account model and related structs 2024-06-27 18:26:58 +00:00
Vernon Keenan 6d0cc3e67d Add FullDescription field to Industry model and related structs 2024-01-22 15:39:53 +00:00
Vernon Keenan c06ed9fdc5 back in gear 2023-08-25 20:59:50 +00:00
Vernon Keenan fce4123f02 members updates tested 2023-06-18 16:39:28 +00:00
Vernon Keenan 302e50b058 prompt again 2023-06-17 21:00:19 +00:00
Vernon Keenan f0a768157c prompt answer response 2023-06-17 16:42:54 +00:00
Vernon Keenan 7f54aa7811 prompt promptanswers 2023-06-17 01:24:46 +00:00
Vernon Keenan b3029bf4f5 prompts 2023-06-05 19:44:18 +00:00
Vernon Keenan 5f6047db4d ExternalAccount 2023-06-05 00:09:35 +00:00
Vernon Keenan 8958a4bc42 prompts 2023-06-04 23:54:48 +00:00
Vernon Keenan 6f7d308ba6 cleanup 2023-05-29 15:13:02 +00:00
Vernon Keenan 4819dfa8a5 services 2023-05-28 16:22:37 +00:00
Vernon Keenan 8e1826b734 Documents 2023-05-19 23:55:12 +00:00
Vernon Keenan de5fff1e75 favorites 2023-05-14 21:32:28 +00:00
Vernon Keenan e9c37cf71d research, favorites, refactor 2023-05-13 16:46:48 +00:00
Vernon Keenan 6c31fd164b eventcategoryid 2023-05-02 03:00:15 +00:00
Vernon Keenan ef55d7cc8d event category 2023-04-30 17:56:32 +00:00
Vernon Keenan 89192c0a79 tweak members 2023-04-30 04:48:40 +00:00
Vernon Keenan a3036b3814 big members update 2023-04-30 02:07:31 +00:00
Vernon Keenan f9df7a0644 new global funcs, email endponts 2023-04-17 22:11:43 +00:00
Vernon Keenan 225db2d70e fix typo 2023-04-15 14:41:16 +00:00
Vernon Keenan 5e5652ec10 now with pointers 2023-04-15 14:27:18 +00:00
Vernon Keenan a7437fcd75 more user fields 2023-04-14 17:01:59 +00:00
Vernon Keenan d24559cfdd add users/sessions 2023-04-12 00:32:15 +00:00
Vernon Keenan 6c7aeec0d4 put sfgate user 2023-04-11 21:22:39 +00:00
Vernon Keenan 4792086677 sf-gate user batchify 2023-04-11 14:59:35 +00:00
Vernon Keenan 0220de3b36 fix sf-gate industryprodut 2023-04-08 03:04:13 +00:00
Vernon Keenan 6f803abd96 clean up research 2023-04-08 02:47:39 +00:00
Vernon Keenan b37836a8f2 moved devops endpoints to members 2023-04-07 18:00:15 +00:00
Vernon Keenan 9a96094d63 fix missing slugs 2023-04-07 00:34:49 +00:00
Vernon Keenan c4d77b493c plex added, accountId params 2023-04-06 01:28:58 +00:00
Vernon Keenan 11a0837923 research microservice added to the platform. The new microservice is called “Research” and it is a powerful tool that allows you to create and manage your own research projects. You can create a research project, add a list of companies, and then run a search on the companies in the list. The results of the search are then saved in the project and can be viewed at any time. You can also export the results to a CSV file. 2023-04-01 23:56:22 +00:00