1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package auth
- import (
- "errors"
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/services/admin"
- "zhiyuan/services/form"
- )
- var Auth models.Auth
- func GetList(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.Auth, error) {
- if page.PageNum > 0 && page.PageSize > 0 {
- where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
- }
- return Auth.GetMulti(where, fields, retVal)
- }
- func Count(where map[string]interface{}) (int64, error) {
- return db.Count(Auth.TableName(), where)
- }
- func GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*models.Auth, error) {
- return Auth.GetOne(where, fields, retVal)
- }
- func GetInfoByID(id int) (*models.Auth, error) {
- return GetOne(map[string]interface{}{"id": id}, nil, nil)
- }
- func Add(form form.AuthAdd) (int64, error) {
- if CheckAuthDuplicate(form.Auth) {
- return 0, errors.New("auth already exists")
- }
- authMap := map[string]interface{}{
- "name": form.Name,
- "auth": form.Auth,
- "pid": form.Pid,
- }
- authID, err := db.InsertOne(Auth.TableName(), authMap)
- if err != nil {
- return 0, nil
- }
- admin.ClearAuthAll()
- return authID, nil
- }
- func EditByID(form form.AuthAdd, id int) error {
- authInfo, err := GetInfoByID(id)
- if authInfo == nil {
- return errors.New("invalid auth id")
- }
- if authInfo.Auth != form.Auth && CheckAuthDuplicate(form.Auth) {
- return errors.New("auth already exists")
- }
- authMap := map[string]interface{}{
- "name": form.Name,
- "auth": form.Auth,
- "pid": form.Pid,
- }
- _, err = db.Update(Auth.TableName(), map[string]interface{}{"id": id}, authMap)
- admin.ClearAuthAll()
- return err
- }
- func CheckAuthDuplicate(auth string) bool {
- authInfo, err := GetOne(map[string]interface{}{"auth": auth}, nil, nil)
- return authInfo != nil && err == nil
- }
- func DeleteByID(id int) error {
- authInfo, _ := GetInfoByID(id)
- if authInfo == nil {
- return errors.New("invalid auth id")
- }
- _, err := db.Delete(Auth.TableName(), map[string]interface{}{"id": id})
- return err
- }
|