Feature/role create #5

Merged
lqhoang99 merged 8 commits from feature/RoleCreate into master 2021-11-10 06:43:29 +00:00
lqhoang99 commented 2021-11-10 01:45:00 +00:00 (Migrated from github.com)
No description provided.
namhq1989 (Migrated from github.com) reviewed 2021-11-10 02:04:46 +00:00
namhq1989 (Migrated from github.com) left a comment

review lại các vấn đề sau:

  1. ở hàm main Init, move luôn các func ở init_handle.go vào s luôn
s = &Service{
  config: config, // tắt public luôn, vì không có expose ra ngoài
  db:     db, // tắt public luôn
  collections: {
    user: xxx.getCollectionName(s.TablePrefix, tableUser),
    role: ...
  }
}
  1. tách ra thêm folder model từ internal
  • dùng dạng model.DBUser, ... -> cái này không import package khác vào
  • common query cho vào model luôn

xử lý xong 2 cái trên rồi review lại tiếp

review lại các vấn đề sau: 1. ở hàm main Init, move luôn các func ở init_handle.go vào `s` luôn ```go s = &Service{ config: config, // tắt public luôn, vì không có expose ra ngoài db: db, // tắt public luôn collections: { user: xxx.getCollectionName(s.TablePrefix, tableUser), role: ... } } ``` 2. tách ra thêm folder `model` từ internal - dùng dạng model.DBUser, ... -> cái này không import package khác vào - common query cho vào model luôn ------ xử lý xong 2 cái trên rồi review lại tiếp
namhq1989 (Migrated from github.com) reviewed 2021-11-10 03:24:34 +00:00
namhq1989 (Migrated from github.com) left a comment
  1. move model ra khỏi internal luôn
  2. nếu có 2 loại model ở trong thì nên chia thành 2 file:
  • user_request.go: chứa những thứ liên quan khi client call
  • user_response.go: chưa những thứ liên quan khi trả kết quả
  1. RoleCreateOptions, user.CreateOptions -> đồng bộ 2 cái model này
  2. Không nên truyền col vào handle, nên tạo thêm 1 package database nữa, lúc init thì call vào để khởi tạo các giá trị db. Bỏ luôn db trong s
// main.go
func Init() {
  // ...
  database.Set(db)
}

// package database

var (
  db *mongo.Database
  prefix string
)

func Set(instance *mongo.Database, tablePrefix string) {
  db = instance
  prefix = tablePrefix
}

func GetUserCol() *mongo.Collection {
  return db.Collection(fmt.Sprintf("%s-%s", prefix, constant.tableUser))
}

// package user

// ...
col = database.GetUserCol()
1. move model ra khỏi internal luôn 2. nếu có 2 loại model ở trong thì nên chia thành 2 file: - user_request.go: chứa những thứ liên quan khi client call - user_response.go: chưa những thứ liên quan khi trả kết quả 3. RoleCreateOptions, user.CreateOptions -> đồng bộ 2 cái model này 4. Không nên truyền col vào handle, nên tạo thêm 1 package `database` nữa, lúc init thì call vào để khởi tạo các giá trị db. Bỏ luôn db trong `s` ```go // main.go func Init() { // ... database.Set(db) } // package database var ( db *mongo.Database prefix string ) func Set(instance *mongo.Database, tablePrefix string) { db = instance prefix = tablePrefix } func GetUserCol() *mongo.Collection { return db.Collection(fmt.Sprintf("%s-%s", prefix, constant.tableUser)) } // package user // ... col = database.GetUserCol() ```
namhq1989 (Migrated from github.com) reviewed 2021-11-10 04:16:01 +00:00
namhq1989 (Migrated from github.com) left a comment
  1. (h Handle) -> nếu h không dùng ở đâu thì remove đi
  2. thêm comment lên các func public trong database
  3. check đã cài lint cho Goland chưa:
  • Preferences -> Tools -> File Watchers
  • add thêm 3 cái: go fmt, golint, goimports (level Global)

https://ibb.co/0fqhcGq

1. `(h Handle)` -> nếu `h` không dùng ở đâu thì remove đi 2. thêm comment lên các func public trong `database` 3. check đã cài lint cho Goland chưa: - Preferences -> Tools -> File Watchers - add thêm 3 cái: go fmt, golint, goimports (level Global) [https://ibb.co/0fqhcGq](https://ibb.co/0fqhcGq)
namhq1989 (Migrated from github.com) reviewed 2021-11-10 04:55:03 +00:00
namhq1989 (Migrated from github.com) left a comment
  1. các method của s cũng cần phải sửa lại:
  • Create -> CreateUser (không đặt là UserCreate, fix lại chỗ role luôn)
  • fix luôn các func khác
  • đặt thêm comment để tách phần của User, Role, Permission ra
//
// User
//

// user methods

//
// Role
//

// role methods
  1. constant ở root xem move vào internal luôn được ko
  2. func Set trong database chưa có comment
1. các method của `s` cũng cần phải sửa lại: - Create -> CreateUser (không đặt là UserCreate, fix lại chỗ role luôn) - fix luôn các func khác - đặt thêm comment để tách phần của User, Role, Permission ra ```go // // User // // user methods // // Role // // role methods ``` 2. constant ở root xem move vào internal luôn được ko 3. func Set trong database chưa có comment
namhq1989 (Migrated from github.com) approved these changes 2021-11-10 06:43:24 +00:00
Sign in to join this conversation.
No description provided.