Skip to content

feat(finance,iam): introduce fill-assignment services, auth unlock, and notification rules#36

Merged
ilramdhan merged 4 commits into
mutugading:mainfrom
ilramdhan:feat/bi-foundation
Jun 12, 2026
Merged

feat(finance,iam): introduce fill-assignment services, auth unlock, and notification rules#36
ilramdhan merged 4 commits into
mutugading:mainfrom
ilramdhan:feat/bi-foundation

Conversation

@ilramdhan

Copy link
Copy Markdown
Member

Description

PR ini menggabungkan beberapa penambahan fitur pada shared protobuf lintas domain (finance dan iam). Pembaruan utama mencakup pembuatan service baru untuk Cost Fill Assignment, penambahan RPC notifikasi berbasis aturan (RecipientRule) di IAM, endpoint pelacakan riwayat approval pada Cost Product Request (UI Trace A6), serta penyesuaian detail identitas user (AuthUser) dan auth unlock.

Change Type

  • ✨ New service/message
  • ➕ Add field/RPC/enum value
  • 🔄 Modify validation
  • 📝 Documentation update
  • ⚠️ Deprecation
  • 🔧 Config/script changes

Proto Files Changed

  • finance/v1/cost_fill_assignment.proto (New File)
  • finance/v1/cost_product_request.proto
  • iam/v1/auth.proto
  • iam/v1/notification.proto
  • Other: _______________

Changes Made

  • Finance - Cost Fill Assignment: Menambahkan file cost_fill_assignment.proto beserta CostLevelAssignmentConfigService (Upsert, Delete, List) dan CostFillTaskService (List, Claim, Submit, Approve, Reject).
  • Finance - Cost Product Request: Menambahkan field wfl_instance_id (30) untuk integrasi IAM workflow dan RPC GetCostProductRequestHistory beserta message StatusHistoryEntry untuk kebutuhan UI approval trace A6.
  • IAM - Auth: Menambahkan RPC ValidateUnlockPassword untuk konfirmasi ulang identitas via JWT context dan field section_code (12) serta department_code (13) pada message AuthUser untuk validasi kelayakan filler.
  • IAM - Notification: Menambahkan RPC RequestNotification beserta message/enum RecipientRule untuk mekanisme dispatch notifikasi lintas layanan dengan multi-recipient.

Related Issues

Fixes #
Related to # (Task 6 A3), # (A6 Approval Trace UI)

Breaking Change Check

Is this a breaking change?

  • No - buf breaking passes
  • Yes - Requires version bump

Breaking Change Evidence

# Output of buf breaking command
buf breaking --against '.git#branch=main'

Lint Check

# Output of buf lint
buf lint

Generated Code Preview (Optional)

// Menunggu proses pipeline atau local generate.

Pre-merge Checklist

  • I have read and followed RULES.md
  • buf format -w applied
  • buf lint passes
  • buf breaking passes
  • Comments document new messages/fields
  • REST mappings follow conventions
  • Validation rules are complete
  • Field numbers are logical

Impact Assessment

  • Backend code regeneration required
  • Frontend code regeneration required
  • OpenAPI spec regeneration required

Reviewer Notes

Perubahan bersifat murni penambahan (backward-compatible). File cost_fill_assignment.proto adalah file baru, pastikan aturan linting pada penamaan service dan message sudah sesuai dengan standar konvensi. Backend dan Frontend perlu segera melakukan pull dan generate code ulang setelah PR ini di-merge agar dapat menggunakan RPC dan field terbaru.

ilramdhan and others added 4 commits June 6, 2026 21:47
…nstance_id

- New finance/v1/cost_fill_assignment.proto: CostLevelAssignmentConfigService
  (UpsertLevelConfig, DeleteGlobalConfig, ListGlobalConfigs) and
  CostFillTaskService (ListFillTasks, ClaimFillTask, SubmitFillTask,
  ApproveFillTask, RejectFillTask) with FillTask/FillApproval/
  LevelAssignmentConfig messages and FillTaskStatus/FillActorType enums
- iam/v1/auth.proto: add ValidateUnlockPassword RPC + messages for
  re-confirming identity from JWT context without a user_id param
- finance/v1/cost_product_request.proto: add wfl_instance_id field (30)
  to CostProductRequest for IAM workflow instance linkage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tification service

Adds RecipientRuleType enum, RecipientRule message, RequestNotificationRequest/Response
messages, and a RequestNotification RPC to NotificationService for rule-based multi-recipient
cross-service notification dispatch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…y message

Adds the approval trace endpoint for cost product requests. The new RPC
returns the full status-transition timeline, enabling the A6 approval
trace UI on the frontend.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add fields 12 (section_code) and 13 (department_code) to AuthUser
for DEPT filler eligibility checks in fill assignment UI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ilramdhan ilramdhan added this to the Costing Release Milestone milestone Jun 12, 2026
@ilramdhan ilramdhan self-assigned this Jun 12, 2026
@ilramdhan ilramdhan added documentation Improvements or additions to documentation enhancement New feature or request feat labels Jun 12, 2026
@ilramdhan ilramdhan merged commit a27f7af into mutugading:main Jun 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request feat

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant