(ctx context.Context, eid, userID int64, name, description, icon string, spaceID int64, visibility *int, permissions []*model.PermissionData)
| 40 | } |
| 41 | |
| 42 | func (s *LibraryService) CreateLibrary(ctx context.Context, eid, userID int64, name, description, icon string, spaceID int64, visibility *int, permissions []*model.PermissionData) (*model.Library, error) { |
| 43 | permission, err := core.GetUserPermission(eid, model.RESOURCE_TYPE_SPACE, spaceID, userID) |
| 44 | if err != nil || permission < model.PERMISSION_EDIT_KNOWLEDGE { |
| 45 | if err != nil { |
| 46 | return nil, err |
| 47 | } |
| 48 | return nil, errors.New("没有在该空间创建知识库的权限") |
| 49 | } |
| 50 | |
| 51 | libraryVisibility := model.LIBRARY_VISIBILITY_INHERIT |
| 52 | if visibility != nil { |
| 53 | if *visibility < model.LIBRARY_VISIBILITY_INHERIT || *visibility > model.LIBRARY_VISIBILITY_PRIVATE { |
| 54 | return nil, errors.New("无效的可见性设置") |
| 55 | } |
| 56 | libraryVisibility = *visibility |
| 57 | } |
| 58 | |
| 59 | library := &model.Library{ |
| 60 | Name: name, |
| 61 | Description: description, |
| 62 | Icon: icon, |
| 63 | SpaceID: spaceID, |
| 64 | Eid: eid, |
| 65 | CreatorID: userID, |
| 66 | Status: model.LIBRARY_STATUS_ACTIVE, |
| 67 | Sort: 0, |
| 68 | Visibility: libraryVisibility, |
| 69 | } |
| 70 | if err := library.Save(); err != nil { |
| 71 | return nil, err |
| 72 | } |
| 73 | |
| 74 | libraryPermissionService := core.NewLibraryPermissionService(eid) |
| 75 | _ = libraryPermissionService.AddLibraryCreatorPermission(library.ID, userID, permissions) |
| 76 | |
| 77 | return library, nil |
| 78 | } |
| 79 | |
| 80 | func (s *LibraryService) UpdateLibrary(ctx context.Context, eid, userID int64, libraryID int64, name, description, icon string, visibility *int) (*model.Library, error) { |
| 81 | permission, err := core.GetUserPermission(eid, model.RESOURCE_TYPE_LIBRARY, libraryID, userID) |
no test coverage detected