Update CHANGELOG.md

This commit is contained in:
Methapon Metanipat 2024-10-30 12:51:39 +07:00
parent df811c90b3
commit 5829c0bb6f
2 changed files with 977 additions and 2 deletions

975
CHANGELOG.md Normal file
View file

@ -0,0 +1,975 @@
# Changelog
All notable changes to this project will be documented in this file.
## [unreleased]
### 🚀 Features
- Upload multiple payment file
- Search now cover workName
- Add installments data
- Add head method
- *(minio)* Add get presigned function
- Add head method for file endpoint
- *(file)* Add head endpoint
- *(util)* Add retry function
- *(service)* Add installments to payload
- Add head to more endpoint
- Use retry function
- Search customer now cover customer name
- Search code of user
- Add more payment status
- Make flow endpoint same response structure
- Search quotation now cover customer name and code
- Workflow permission
- Add util function to include or not include condition
- Add installment no to quotation data
- Search customer now cover more field
- Add attributes to each product in service
- Add more quotation status
- Add more status
- Add toggle on and off status
- Add status filter query string
- Add status filter
- Add relation for agent
- Update now detect already exists step
- Add option to share product inside one group
- Add support for getting relation
- Add more pay condition
- Add notification database structure
- Add endpoint skeleton
### 🐛 Bug Fixes
- File location
- *(employee)* Missing permission check
- *(keycloak)* Now return all roles
- Payment sort
- Wrong sort
- Error when no branch is found
- Dup on update
- Wrong variable used
- Error dup
- Wrong decoration
- Error on update
- Wrong code
- Respect relation
- Payload
- Product was delete on not send list product
- Typo
- Wrong operation
- Auth related error
### 🚜 Refactor
- Rename endpoints
- *(keycloak)* Now only expose role management endpoint
- Remove unused
- Upload now return presigned url instead of redirect
- Separate init user to utils
- List also include relation
- Don't include condition if no query
- [**breaking**] Payment sys
- Remove unused enum
- Accept quotation specific status filter instead
- Change installments data
### ⚙️ Miscellaneous Tasks
- Cleanup
- Deps ver
- Remove unused
- Add migration
- Add tag
- Update tags
- Fix migration
- Update constraits
- Migration
- Update deps
- Add database relation for notification group
### Experimental
- Api doc
## [0.4.0] - 2024-10-18
### 🚀 Features
- Add filter registeredBranch
- Add pay split field
- Add more relation
- Add count by relation
- Add field
- Detect if agent price
- Update structure
- Add payment endpoints (incomplete)
- Add swagger tag
- Add quotation stats by group
- Add workflow template
- Add config endpoint
- Work length not match
- Also return full service back
- Handle running no on delete customer
- Add payment post process
- Update response add relation
- Add view permission
- Also include customer and its registered branch
- Add workflow to service
- Add update status flow
- Add conditional query for customer
- Add conditional company scope query
- Add metadata
- Add payment for split
- Search also cover code
- Add payment remark
- Unlock product code
- Update payload and update endpoint
- Pre create payment data
- Update quotation payment data
- Detect same username / email
- Add vat exclude feature
- Include more relation
- Order passport
- Add query param
- Quotation code running no reset at month
- Search code now case insensitive
- Add remark field
- Payment data pull date from split data
- Add max worker field
- Also return full address
### 🐛 Bug Fixes
- Relation
- System role not get filtered
- Error
- Missing relation
- Calculate price
- Paging
- Vat calc
- Wrong path
- Calc vat after discount only
- Array length not match
- Word case
- Wrong price per unit
- Discount not have effect
- Error relation
- Wrong case
- Fallback for one time payment
- Delete error
- Change running no to custoer branch id instead
- Double payment data on update
- Change to non percent
- Wrong vat excluded
- Make remark accept null
- Calc vat
- Empty payment data on full payment
### 🚜 Refactor
- Include full detail when get by id
- Relation
- Quotation query and relation
- Update quotation structure and endpoint
- Throw common error with util function instead
- [**breaking**] Remove unused field
- Make field optional
- Remove unnecessary join
- Change sort
- Calculate utility
- Update quotation
- Change running no to use parent id
- Add work status and process user
- Adjust field
- [**breaking**] Change branch to registered branch scope
- Bring back vat excluded
- Search case
### ⚙️ Miscellaneous Tasks
- Update deps
- Update constraints
- Clean
- Update field quotation
- Add migration
- Add tag
- Update tsconfig to not truncate error
- Clean up
- Relation constraints
## [0.3.6] - 2024-09-27
### 🚀 Features
- Detect same name of product in the same company
- Also include registered branch for display as options
### ⚙️ Miscellaneous Tasks
- Remove log
## [0.3.5] - 2024-09-26
### 🚀 Features
- Update quotation endpoints with permission
### 🐛 Bug Fixes
- Update sort
## [0.3.4] - 2024-09-25
### 🐛 Bug Fixes
- Delete customer branch hq now also delete parent
### ⚙️ Miscellaneous Tasks
- Migration
## [0.3.3] - 2024-09-25
### 🐛 Bug Fixes
- Branch under headquarter display condition
## [0.3.2] - 2024-09-25
### 🚀 Features
- Add option to get list with head
- Add role that can view another branch
### 🐛 Bug Fixes
- Permission condition
### 🚜 Refactor
- Remove role from allow cross branch
## [0.3.1] - 2024-09-25
### 🐛 Bug Fixes
- User email not save in keycloak
## [0.3.0] - 2024-09-24
### 🚀 Features
- Add flag
- Add permision check
- Filter view by role
- User permission on delete
- Permission control
- Query also search for passport number
- Add branch bank qr
- Return relation
- Multiple profile imagea
- Count stats
- Also remove file when delete data
- Customer branch permission
- Control list view by role
- Scope view by role
- Double check permission customer branch
- Employee permission check
- Permission check employee
- Remove some roles from manage some endpoints
- Scope stats
- Re-add head of sale to be able to manage endpoints
- Add delete image endpoint
- Customer permission
- Product group permission
- Allow sale to manage self branch
- Branch image multi
- Filter branch by status
- Reuse function
- Add field
- Upload and select multiple image
- Deprecate unused endpoints
- Add utility function
- Update field
- Product group permission check
- Add more helper function
- Refactor permission product service
- Image upload product service
- Shared between company
- Add file location for employee
- Add helper function to construct address search
- Add address fields
- Branch attachment
- Add fields customer
- File upload customer branch
- Customer branch citizen
- Include more relation in employee
- Allow company change
- Prevent from change company
### 🐛 Bug Fixes
- Type
- Count by group
- Change role name
- Error updatedAt
- Cannot set role as expected
- Permission failed
- Stats not take scope into account
- Fix no perm
- Error missing var
- Error
- Protect endpoints
- Wrong condition check
- Missing auth
- Missing field input
- Path
- Only return file name
- Backward compat
- Relation
- User in branch not see hq
- Wrong condition
- Condition
- Role missing on edit
- Head branch not listed
- User permission control
- Stats not accurate due to prev commit
- Customer edit not consider related branch perm
- Wrong permission condition
- Wrong position
- Error user
- Error when registered branch is null
- Also prefix runningNo on generate
- Missing selected image field
- Missing field
- Always include from head branch
- Typo
- Case typo
- Conflict endpoints
- Tag
- Wrong payload
- Customer code should not have company code
- Update payload
- Typo and handle delete
- Relation constraits
- Missing fields
- Error required args
- Error on edit
- Tree permission
### 🚜 Refactor
- Use kysely query builder instead
- Roles
- Permission
- [**breaking**] Remove product type
- [**breaking**] Remove unnecessary endpoint
- Permission user
- View condition and permission
- Small adjustment
- Remove unused role
- Adjust function
- Scope view
- Update role
- Move file out
- Separate function
- Change file name
- Move file
- Organize file
- Drop supported presigned url return
- Branch bank delete handle
- Update file path
- Add selectedImage for profile shown
- Structure
- Fix permission for sure
- Use factory function for perm check
- Only query if have
- [**breaking**] Remove deprecated
- Where conditions
- Add helper function
- Use helper function instead for easier fix
- Middleware
- Use helper function
- Separate and use helper function
- Relation
- Relation helper function
- Use relation helper function
- Use utility function
- File upload and image
- Helper function manual throw
- Use helper
- Helper function
- Input fields (branch, user)
- Reduce code
- Customer structure
- Employee
- [**breaking**] Customer (employer) fields
- Combine payload
- Make field optional
- Change payload
### ⚙️ Miscellaneous Tasks
- Format
- Update migration
- Remove unused
- Add migration
- Add helper function
- Add more helper function
- Update swagger tags
- Migration
- Migrations
- Add local build action
- Remove localhots (not working when in container)
- Remove join
- Update endpoints tag
- Update tag
- Database refactor
## [0.2.1] - 2024-08-30
### 🚀 Features
- Insert province district sub-district into db
- Add headoffice as relation
### 🐛 Bug Fixes
- Wrong endpoint
- Build error
- Branch manager cannot create user
- Wrong permission check
- Branch manager must not increase your own role
- Wrong condition
- Wrong field extract
### 🚜 Refactor
- Also return employee count of customer
### Change
- Make user can view only user within branch
## [0.2.0] - 2024-08-29
### 🚀 Features
- Bump deps version
- Add user relation on query
- Add count gender by query
- Include relation
- Permmission branch
- Add product code
- Remove scoped branch (change soon)
- Product related permission
- Customer permission role
- Add more role to each endpoint
- Add user and assign to branch at the same time
- Add product type to service
- Add count of service under group / type
- Query service by product type
- Add more role to endpoints
- Protect endpoints with role
- Scope permission in separated customer branch endpoint
- Add query string
- Order relation
- Add relation to employee
- Add count branch
- Change format
- Add user real name to log
- Add query param to include full detail in service
- Add quotation structure
- Add get quotation by id endpoint
- Add quotation list endpoint (no query)
- Structure input before insert to database
- Create quotation endpoint (test required)
- Add quotation endpoint (complete)
- Exclude some work from service
- Add original service reference
- Delete quotation endpoints
- Update quotation
- Generate quotation code
- Image endpoint get or upload
- Image endpoint (branch endpoint)
- Add bank to branch payload (optional)
- Add bank field
- New gen branch code
- Change code gen of user
- Check code constraints
- [**breaking**] Code gen customer
- Now system do not show system role
- Add endpoint for get branch admin
- Add field middleName and name prefix (optional)
- Add status filter
- Service code now accept any string
- Filter by customerId
- Update code generator
- Remove unused code generator
- Add util function delete folder minio
- Create / update customer branch
- Also consider code from head office
- Add contact name field
- Update status of headoffice so it cannot be delete
- Add code customer field
- Add new endpoint for get or download file
- Add upload file employee endpoint
- Add employee field
- Change uuid to cuid
- Allow disable logger by .env
- Add workflow for local lan deploy
- Add set image endpoints for employee
- Map image
- Add web url
- Check if user exist
### 🐛 Bug Fixes
- Unused field
- Raw query relation
- Wrong key
- Code not return
- Wrong relation included
- Wrong instance used
- Error wrong cond
- Condition
- Sql query
- Add image link
- Typo
- Code always update on customer type CORP
- Error fk on empty payload registeredBranch field
- Error on disable log
- Calculation
- Wrong type
- Error and price calc
- Error dep
- Error update on empty productGroupId
- Condition always true
- Relation ordering
- Condition not cover
- Wrong create value
- Delete unused branch cause error new branch same code
- Update branch status when assign user to branch
- Typo 9 (should be 0)
- Wrong condition
- Wrong field used
- Stat should not count user with system role
- Wrong field
- Error due to structure changed
- Customer code come from wrong data
- Missing zero fill
- Error due top field dropped
- Code not convert to uppercase can't create branch
- Order
- Wrong behaviour
- Wrong length slice
- Update field can be optional
- Add relation when get by id
- Wrong string conversion
- Code case
### 🚜 Refactor
- User relation
- Adjust code
- Accept branchNo instead of auto
- Change field to null able
- Update auth setting
- Update structure
- Structure
- Update constraints
- Reorder endpoints (affect swagger)
- Swap logger
- Do not update parent status to active
- Change relationship
- Change order
- [**breaking**] User code gen
- [**breaking**] Employee code gen
- Filter out system role
- Only filter log api
- Use prisma nested create instead
- Update new employee code gen in quotation endpoint
- Update code gen when change employee branch
- Customer create and update process
- Use nested relation instead
- Dry
- Change datetime field to date only
- Drop field
- Update customer branch file upload endpoint
- Change to response url instead
### ⚙️ Miscellaneous Tasks
- Update upload time
- Add migration
- Remove log
- Remove unnecessary
- Remove unused
- Format
- Make nodemon watch .env file
### Change
- Branch code now have 5 digit
### Feaet
- Protect by roles
## [0.0.3] - 2024-07-01
### 🚀 Features
- Role based permission endpoints
- Can create branch when create customer
- Also delete branch that not sent on update
- Update query to also return branch
- Prepare for dynamic user type
- Sort stats
- Add missing field
- Update keycloak function
- Employee code gen
- Product group endpoints
- Scope customer branch by customer id
- Count customer by type
- Customer branch attachment
- Update customer branch
- Must not delete if status is not CREATED
- Employee work endpoints
- Product type endpoints
- Minio util func
- Return null if no image exist
- Employee with relation on create / update
- Customer type filter
- Update schema
- Add remark field
- Service api endpoint
- Count data
- Also update customer status to active
- Count employee
- Update field
- Relation and auto gen code
- Search branch by customer code
- Add code to customer branch for query purpose
- Prevent empty foreign id
- Work endpoints
- Scope type by productGroupId
- Prevent invalid groupId sent
- Add count of relation(s) to each record
- Return only one record
- Count employee by gender
- Product endpoints
- Service and product with work relation
- Only get url if object exists
- Change some field to optional
- Also customer all related field
- Feat update employee code
- Filter gender
- Add query string
- Filter status created and active treated as same
- Update work endpoints
- Update product fields
- Add productType relation i/o
- Image endpoint
- Add fields
- Update status on used
- Expose image endpoint to public
- Add product stats
- Make field optional
- Update add status
- Change status of product type after used
- Add parameter for base only work
- Separate service image endpoint
- Add order field
- Order by status field
- Add query product service together
- Add relation to service
- Add query
- Inject sessionId for logging purpose
- Add status query string param
- Add security
- Paging group / type product
- Adjust data type
- Add git ignore
- Add user name to log data
- Employee history
- Add user update info to history
- Stats relation
- Add minio util function
### 🐛 Bug Fixes
- Edit should not require telephone no
- Do not remove default role
- Add missing field
- Wrong object delete
- Validate error
- Wrong data type
- Wrong field
- Type
- Change structure
- Type error
- Wrong endpoints
- Typo
- Missing v1 prefix
- Fixed branch no digit
- Input validation
- Wrong table ref
- Missing image url
- Wrong understanding of system
- Wrong relation join
- Wrong cond
- Relation
- Change dev message to code
- Group code
- Product code
- Type code
- Work & service code
- Branch code
- Customer branch code
- Employee code
- Permission & user code
- Auth & role code
- Filter not as expected
- Error not found (wrong table)
- Error productId
- Missing input field
- Update service
- Wrong instance use
- Make optional
- Missing type
- Update status order
- Total count bigint cannot be serialize
- Service not included in result
- Query
- Import
- Missing paging param
- Error relation
- Fk
- Cannot disable user
### 🚜 Refactor
- Branch code gen transaction
- Update code gen strategy (branch user)
- Update code gen strategy (customer)
- [**breaking**] Add v1 prefix to endpoints
- Update isolation level
- Update log
- Move security to route by route
- [**breaking**] Change typo field and reset migration
- Add field to type
### ⚙️ Miscellaneous Tasks
- Db migration add new table
- Format
- Add migration
- Migration
- Update migration
- Reorder swagger endpoints
- Deps ver
- Add bracket
- Add format
- Change swagger order
- Add prisma kysely for query builder
- Bumps deps ver
- Update env example
## [0.0.2] - 2024-04-19
### 🚀 Features
- Also return with contact
- Add field
- Get role list of user
- Edit user role
- Store username
- Add branch image
- Auto gen branch no
- Add hq tel field
- Add more searching field
- Menu and menu component for permission endpoint
- Use role name instead
- Update user code that has no associated branch
- Change to some field to optional
- Update contact to be nullable when request
### 🐛 Bug Fixes
- Also delete user in keycloak when delete user
- Update contact endpoint
- Error when update record not found
- Wrong structure return
- Error when not sent role
- Missing parameter username on edit
- Use role name instead (edit endpoint)
### 🚜 Refactor
- Add head office indicator to stats
- Add user to keycloak on create user
- Move field lineId contact field
- Move field
- Update branch endpoint
- Add more field
- Change field name
### ⚙️ Miscellaneous Tasks
- Add migration
- Cleanup
- Update db
- Db migrate
- Db migration
- Bump deps ver
- Sort tag permission
## [0.0.1] - 2024-04-11
### 🚀 Features
- Keycloak service add other params
- Add minio client
- Add minio dep
- Keycloak user and role management
- Add province, district, sub-district endpoint
- Change database field to enum with default
- Add branch controller
- Get branch endpoint
- Delete branch endpoint
- Add type for create and update endpoint
- Update database field
- Create branch endpoint
- Edit branch endpoint
- Include relation response when create and delete
- Branch contact controller
- Create branch contact endpoint
- Delete branch contact endpoint
- Add type to http error dev message
- Runtime migration
- Add migration
- User endpoints (crud, many-to-many branch)
- Add elasticsearch
- Add log middleware
- Logging data structure and conditioan level
- Use middleware
- Add more dev message
- Check if user in in used
- Add user stat for each branch
- Temporary generate code for branch and user
- Update status when delete user or branch
- Filter by branch type (head/sub) and relation
- Status input on created and update
- Customer create endpoint
- List customer
- List customer by id
- Delete customer
- Edit customer endpoint
- Add update user data endpoint
- Add customer branch controller
- Add type for create and edit
- Create customer branch endpoint
- Edit customer branch endpoint
- List customer branch
- Get employee of customer branch
- Get customer branch by id
- Delete customer branch
- Add gender field to database
- Auto gen branch code
- Auto gen user code
- Employee endpoints
- Stat by userType
- Stats user by user type
- Require user to change password on first login
- Filter out internal roles (3 for now)
- Add attachment to user controller
- Add more user field
- Auto generate customer code
- Check for permission using roles
- Delete user
- Add query param to include user branch
- Detect self reference
- Emplyee checkup & other info endpoints
- Get branch stats by hq or br
- List by headOfficeId & get with contact
### 🐛 Bug Fixes
- Empty user info when crud
- Missing type
- Build script
- Missing package
- Create branch head office condition when not send
- Update condition and response relation
- Missing qr code image url on get
- Error reading variable
- Filter out non-api
- Filter out after finish response
- Image not on delete data
- Remove parent relation
- Delete branch from user wrong body
- Update status once used and must not delete
- Missing auth
- Bad commit 578fc225
- Missing image url
- Error when record not found on update
- Input type not matched with db
- Error when trying to update
- Error on not exist
- Optional query
- Data ordering
- Type error (temporary)
- Migration reset
- Update type should not require customerType
- Missing full stop
- Typo
- Auto gen user code
### 🚜 Refactor
- Change database structure
- Use same function to get img location
- Add devMessage field (useful in front-end)
- Add devMessage to error
- Set status to 201 on create data
- Change method
- Remove suffix from field
- Recreate migration file
- Update schema and migration
- Change from required to not required
- Database fields
- Auto generate code (may change in the future)
- Do not update status if not created
- Customer db
- Update type
- Field name
- Nullable on create
- Change condition order
### ⚙️ Miscellaneous Tasks
- Small code adjustment
- Add dev script
- .env example add elasticsearch and minio
- Change devMessage on error
- Deps elasticsearch
- Reset migration
- Migration
- Move file
- Format
- Add tags to open api spec (for sorting purpose)
- Group two controller together
- Restructure
- Remove user branch tag (merged with branch user)
- Sort tag
- Update package name
- Add migration
### Refacotr
- Change type from object to string instead
<!-- generated by git-cliff -->

View file

@ -15,13 +15,13 @@ All notable changes to this project will be documented in this file.\n
# https://keats.github.io/tera/docs/#introduction # https://keats.github.io/tera/docs/#introduction
body = """ body = """
{% if version %}\ {% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} ## [{{ version | trim_start_matches(pat="version-") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\ {% else %}\
## [unreleased] ## [unreleased]
{% endif %}\ {% endif %}\
{% for group, commits in commits | group_by(attribute="group") %} {% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }} ### {{ group | striptags | trim | upper_first }}
{% for commit in commits %} {% for commit in commits | unique(attribute="message") %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\ - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\ {% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\ {{ commit.message | upper_first }}\