Переглянути джерело

Added checkSharePermission agi api

tobychui 3 роки тому
батько
коміт
a7a5bf0979
1 змінених файлів з 13 додано та 0 видалено
  1. 13 0
      mod/agi/agi.share.go

+ 13 - 0
mod/agi/agi.share.go

@@ -109,6 +109,18 @@ func (g *Gateway) injectShareFunctions(vm *otto.Otto, u *user.User) {
 		return r
 	})
 
+	vm.Set("_share_checkSharePermission", func(call otto.FunctionCall) otto.Value {
+		shareUUID, err := call.Argument(0).ToString()
+		if err != nil {
+			return otto.New().MakeCustomError("Failed to check share permission", "No share UUID given")
+		}
+
+		shareObject := g.Option.ShareManager.GetShareObjectFromUUID(shareUUID)
+
+		r, _ := otto.ToValue(shareObject.Accessibles)
+		return r
+	})
+
 	vm.Set("_share_fileIsShared", func(call otto.FunctionCall) otto.Value {
 		vpath, err := call.Argument(0).ToString()
 		if err != nil {
@@ -133,5 +145,6 @@ func (g *Gateway) injectShareFunctions(vm *otto.Otto, u *user.User) {
 		share.checkShareExists = _share_checkShareExists;
 		share.fileIsShared = _share_fileIsShared;
 		share.getFileShareUUID = _share_getShareUUID;
+		share.checkSharePermission = _share_checkSharePermission;
 	`)
 }