feat: add employee group proto definitions with CRUD, list, and import/export capabilities#20
Merged
ilramdhan merged 1 commit intomutugading:mainfrom Apr 16, 2026
Conversation
…t/export capabilities
There was a problem hiding this comment.
Pull request overview
Adds a new IAM master-data protobuf definition for EmployeeGroup, including a REST-mapped gRPC service for CRUD, listing (search/filter/sort/pagination), and Excel import/export/template download—mirroring existing IAM master-data patterns (e.g., EmployeeLevel).
Changes:
- Introduce
EmployeeGroupentity message with audit metadata. - Add request/response messages for create/get/update/delete and list operations.
- Add Excel export/import and template download messages +
EmployeeGroupServiceHTTP bindings.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Employee group ID to update (UUID format). | ||
| string employee_group_id = 1 [(buf.validate.field).string.uuid = true]; | ||
| // New display name (optional, 1-100 chars if provided). | ||
| optional string name = 2 [(buf.validate.field).string = {max_len: 100}]; |
There was a problem hiding this comment.
UpdateEmployeeGroupRequest.name is documented as "1-100 chars if provided", but the validation only enforces max_len: 100 (so an explicit empty string would be accepted). Either enforce min_len: 1 when set, or adjust the comment to reflect that an empty string is allowed (e.g., to clear the name).
Suggested change
| optional string name = 2 [(buf.validate.field).string = {max_len: 100}]; | |
| optional string name = 2 [(buf.validate.field).string = { | |
| min_len: 1 | |
| max_len: 100 | |
| }]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a new
EmployeeGroupmaster data model and associated CRUD and batch import/export API definitions to the IAM service. The changes add a new protobuf file,employee_group.proto, which defines theEmployeeGroupentity, request/response messages for all operations, and theEmployeeGroupServicewith RESTful HTTP bindings.Change Type
Proto Files Changed
iam/v1/employee_group.protoChanges Made
The most important changes are:
New Entity and Core CRUD API:
EmployeeGroupmessage, representing a department or functional group (e.g., ASM, DYM, MGR), with fields for ID, code, name, active status, and audit info.EmployeeGroupService.Listing, Search, and Filtering:
ListEmployeeGroupsRequestandListEmployeeGroupsResponsemessages and RPC.Excel Import/Export and Template Download:
Validation and Metadata:
Breaking Change Check
Is this a breaking change?
buf breakingpassesPre-merge Checklist
buf format -wappliedbuf lintpassesbuf breakingpassesImpact Assessment