Commit graph

391 commits

Author SHA1 Message Date
Arthur Bassi
1e37fb486c Merge remote-tracking branch 'origin/dev' into feat/SH-186-status-auto-derivation 2026-09-09 17:34:00 -03:00
Arthur Bassi
815e17c56f
Merge pull request #109 from Sea-Haven-Industries/feat/SH-171-wo-documents
feat(work-orders): add authorized Extra Docs content GET
2026-09-09 17:33:04 -03:00
Arthur Bassi
e849991dcf test(work-orders): seed scheduled concurrency scenario 2026-09-09 17:09:26 -03:00
Arthur Bassi
3454125d2d fix(work-orders): address document review feedback 2026-09-09 17:09:26 -03:00
Arthur Bassi
cd34a23e78 Merge remote-tracking branch 'origin/dev' into feat/SH-186-status-auto-derivation 2026-09-09 10:24:15 -03:00
Arthur Bassi
8b4aec300f feat(work-orders): re-derive lifecycle when board status is patched
Scheduled still requires a concrete date, and Incomplete/Pending with a date must promote even when only lifecycleStatus is sent.
2026-09-09 10:23:22 -03:00
Arthur Bassi
a0fdd19934
fix(work-orders): accept image/jpg MIME and expose board MediaCount (#107)
Some checks are pending
Validate and deploy / Validate deployable source bundle (push) Waiting to run
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Blocked by required conditions
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Blocked by required conditions
Co-authored-by: Alexandre Brandizzi <alex_brandizzi@hotmail.com>
2026-09-09 00:10:52 +00:00
Arthur Bassi
12354f9bf7 test(work-orders): cover SH-186 schedule status derivation 2026-09-08 16:24:45 -03:00
Arthur Bassi
f3f9ac1b58 feat(work-orders): derive lifecycle on board create and schedule PATCH 2026-09-08 16:23:13 -03:00
Arthur Bassi
ae9122243d feat(work-orders): run schedule status side-effects on board field mutations 2026-09-08 16:22:11 -03:00
Arthur Bassi
e12b3ea54b feat(work-orders): apply schedule lifecycle promote and demote 2026-09-08 16:21:14 -03:00
Arthur Bassi
335390f746 feat(work-orders): derive Scheduled from date without assignee 2026-09-08 16:19:50 -03:00
Adam Moussa
1bdbc12292
fix(deploy): treat applied HCP runs as success (#108)
Some checks are pending
Validate and deploy / Validate deployable source bundle (push) Waiting to run
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Blocked by required conditions
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Blocked by required conditions
* fix(deploy): treat applied HCP runs as success

* fix(deploy): wait on rollback apply result

* fix(deploy): compare G3 formatting against the PR merge base

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(deploy): fence rollback create-run on unlock success

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 13:26:11 -04:00
Arthur Bassi
143d613547 test(work-orders): expect media content route 2026-09-08 11:25:26 -03:00
Arthur Bassi
9d8ae5ec24 feat(work-orders): add authorized media content GET 2026-09-08 11:23:52 -03:00
Arthur Bassi
b4f2c8b763 feat(work-orders): authorize WO media content reads 2026-09-08 11:19:41 -03:00
Arthur Bassi
a25fd0bd5d feat(work-orders): stream stored WO media safely 2026-09-08 11:09:55 -03:00
Arthur Bassi
bb651bb547 feat(work-orders): add file storage OpenRead port 2026-09-08 11:08:26 -03:00
Arthur Bassi
02df093798 feat(work-orders): align completion-doc size with Extra Docs 2026-09-08 11:07:17 -03:00
Arthur Bassi
b6b8d2e58f feat(work-orders): cap media uploads at 50MB 2026-09-08 11:06:05 -03:00
Arthur Bassi
47022c7761 feat(work-orders): allow Extra Docs PDF/DOC by category 2026-09-08 11:02:40 -03:00
Arthur Bassi
a5d1c85d53
Merge pull request #106 from Sea-Haven-Industries/feat/SH-170-wo-board-severity
Some checks are pending
Validate and deploy / Validate deployable source bundle (push) Waiting to run
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Blocked by required conditions
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Blocked by required conditions
feat(work-orders): persist board severity on create, patch, and search
2026-09-07 12:19:21 -03:00
Arthur Bassi
9a0d3fb74c fix(work-orders): copy persisted severity onto GET detail
EOF
2026-09-07 12:02:23 -03:00
Arthur Bassi
7a0b91bcd6 feat(work-orders): persist board severity on create, patch, and search 2026-09-07 11:46:13 -03:00
Alexandre Brandizzi
6ceb274bfb
feat: add API Sentry tracing (SH-298) (#105)
Some checks failed
Validate and deploy / Validate deployable source bundle (push) Has been cancelled
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Has been cancelled
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Has been cancelled
* feat: add API Sentry tracing

* feat: activate Sentry deployment environments

* fix: allow Sentry-free design-time tooling

* fix: trace background jobs in Sentry

* feat(observability): identify and scrub Sentry transactions

* fix(observability): finish abandoned transactions
2026-09-04 14:11:32 -03:00
Arthur Bassi
6d66737211
Merge pull request #104 from Sea-Haven-Industries/feat/sh-169-board-create-lifecycle
feat(work-orders): persist board create lifecycleStatus (SH-169)
2026-09-04 13:42:42 -03:00
Arthur Bassi
31b3c2bbd1
Merge branch 'dev' into feat/sh-169-board-create-lifecycle 2026-09-04 10:24:52 -03:00
Arthur Bassi
b7df5ef629 feat(work-orders): persist board create lifecycleStatus from the client 2026-09-03 13:36:22 -03:00
Adam Moussa
69ba573315
chore(terraform): remove tf-poc rehearsal (SH-300) (#95)
Some checks are pending
Validate and deploy / Validate deployable source bundle (push) Waiting to run
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Blocked by required conditions
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Blocked by required conditions
* chore(terraform): remove tf-poc rehearsal

* chore(terraform): drop tf-poc from live module and CI

* chore: clean remaining tf-poc reference from `shared_certificate_arn`
2026-09-03 10:40:32 -04:00
Adam Moussa
77c3016c9d
feat(deploy): move dev application CD through Terraform (#102)
Some checks are pending
Validate and deploy / Validate deployable source bundle (push) Waiting to run
Validate and deploy / Deploy shoc-backend-dev through Terraform (push) Blocked by required conditions
Validate and deploy / Deploy shoc-backend-staging to Elastic Beanstalk (push) Blocked by required conditions
* feat(deploy): move dev application CD through Terraform

GitHub creates the immutable Elastic Beanstalk version; HCP Terraform is the only UpdateEnvironment caller via a guarded version_label run.

* fix: add permissions block for dependency-review workflow

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix(terraform): stop pinning the generated dev instance SG

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-09-03 14:12:06 +00:00
Arthur Bassi
a0183fa44c
Merge pull request #103 from Sea-Haven-Industries/feat/sh-167-board-carry-over
feat(work-orders): include unresolved prior-week rows on GET board
2026-09-03 09:59:24 -03:00
Arthur Bassi
d75f78651b feat(work-orders): include unresolved prior-week rows on GET board 2026-09-02 09:49:56 -03:00
Arthur Bassi
5f6069547d
Merge pull request #100 from Sea-Haven-Industries/fix/sh-296-vendor-invalid-dispatch
fix(work-orders): accept linked primary dispatch on vendor board patch
2026-09-01 09:50:40 -03:00
Arthur Bassi
f15dde8b30 Merge branch 'fix/sh-296-vendor-invalid-dispatch' of https://github.com/Sea-Haven-Industries/shoc-backend into fix/sh-296-vendor-invalid-dispatch 2026-09-01 09:43:14 -03:00
Arthur Bassi
03c069d10d fix(work-orders): detach shared dispatch on vendor fork
Keep same-vendor saves idempotent and drop stale DispatchWorkOrders so listing and uplift follow the new primary.
2026-09-01 09:42:41 -03:00
Arthur Bassi
af27186527
Merge branch 'dev' into fix/sh-296-vendor-invalid-dispatch 2026-09-01 09:35:00 -03:00
Adam Moussa
6ef8e9ba2a
feat(terraform): complete dev environment adoption (SH-300) (#99)
* feat(terraform): complete dev environment adoption

* fix(terraform): preserve dev release permissions
2026-08-31 20:18:44 -03:00
Arthur Bassi
ca0404272e fix(work-orders): accept linked primary dispatch on vendor board patch
Vendor PATCH treated a GET-echoed id as foreign when belong-check used only WorkOrderId.
2026-08-31 15:48:33 -03:00
Adam Moussa
e1e547f7d0
fix(terraform): preserve live state during dev import (#98) 2026-08-31 15:05:46 -03:00
Arthur Bassi
9665be0ae5
Merge pull request #97 from Sea-Haven-Industries/fix/sh-131-clear-appt-time
fix(work-orders): persist empty apptTime as null scheduled instants
2026-08-31 14:24:50 -03:00
Arthur Bassi
ddd47f6d37
Merge branch 'dev' into fix/sh-131-clear-appt-time 2026-08-31 13:15:44 -03:00
Arthur Bassi
58dd5ec6ae
Merge pull request #96 from Sea-Haven-Industries/fix/user-list-full-display-name
fix(users): compose full Name on user list
2026-08-31 13:13:48 -03:00
Arthur Bassi
0822b50a82
Merge branch 'dev' into fix/user-list-full-display-name 2026-08-31 13:10:08 -03:00
Arthur Bassi
aca284ee46
Merge branch 'dev' into fix/sh-131-clear-appt-time 2026-08-31 13:02:11 -03:00
Arthur Bassi
a6b3d5d073 test(work-orders): cover date-only dispatch apptTime mapping 2026-08-31 13:01:02 -03:00
Adam Moussa
24f08d3cb1
feat(terraform): adopt live deployment roles safely (#94)
* feat(terraform): add safe backend environment adoption

Introduce import-guarded environment roots and retire temporary bootstrap and POC provisioning after ownership transfer.

* ci(deploy): pause dev and staging deployments

Prevent application releases from racing Terraform adoption while retaining production deployment and validation.

* ci(deploy): require manual environment dispatch

* fix: update `required_version` from `>=1.7.0` to `>=1.9.0`

The deploy-boundary check interpolates `var.aws_account_id` and `var.environment`. Terraform only allows other variables inside `validation` from 1.9.0+.

CI already runs against `1.9.8` so `versions.tf` setting version as `>=1.7.0` is a breaking finding

* chore(deps): add `terraform` to renovate dependency coverage

* ci(deploy): drop unprovisioned prod dispatch path
2026-08-31 11:51:18 -04:00
Arthur Bassi
e45e71d5ac test(work-orders): expect null end for start-only apptTime tokens
EOF
2026-08-31 11:13:40 -03:00
Arthur Bassi
dcb757b404 fix(work-orders): persist empty apptTime as null scheduled instants
EOF
2026-08-31 10:49:54 -03:00
Arthur Bassi
e3a2507908 fix(users): compose full Name on user list 2026-08-31 10:22:27 -03:00
Alexandre Brandizzi
b605d5be02
fix: return vendor duplicate name conflict (#92)
Some checks failed
Validate and deploy dev / Validate deployable source bundle (push) Has been cancelled
Validate and deploy dev / Deploy shoc-backend to Elastic Beanstalk dev (push) Has been cancelled
2026-08-27 14:55:09 -03:00