Explorar o código

添加 owner 参数表示拥有存储库的用户

reghao hai 1 ano
pai
achega
471fedf2c0

+ 2 - 2
oss-api/src/main/java/cn/reghao/oss/api/iface/ConsoleService.java

@@ -15,6 +15,6 @@ public interface ConsoleService {
     void registerNode(StoreNodeDto storeNodeDto);
     NodeProperties getNodeProperties(String domain);
     ObjectChannel getChannelById(int owner, int channelId);
-    Integer getChannelIdByUrl(int loginUser, String url);
-    ServerInfo getUploadStore(int loginUser, int channelId);
+    Integer getChannelIdByUrl(int owner, String url);
+    ServerInfo getUploadStore(int channelId);
 }

+ 4 - 4
oss-api/src/main/java/cn/reghao/oss/api/iface/StoreService.java

@@ -18,16 +18,16 @@ import java.util.List;
  * @date 2023-08-01 14:51:50
  */
 public interface StoreService {
-    void createChannel(String channelPrefix, int scope);
-    int countChannelObjects(String channelPrefix, int userId);
+    void createChannel(int owner, String channelPrefix, int scope);
+    int countChannelObjects(String channelPrefix, int owner);
     List<DiskVolume> getDiskVolumes();
-    String getUploadToken(int channelId, int loginUser, int expire);
+    String getUploadToken(int channelId, int owner, int expire);
 
     void setObjectScope(String objectId, int scope);
     void deleteByObjectId(String objectId);
     void deleteByObjectUrl(String objectUrl);
     ObjectInfo getObjectInfo(String objectId);
-    String getSignedUrl(String domain, int loginUser, String objectId, int expire);
+    String getSignedUrl(String domain, int owner, String objectId, int expire);
 
     VideoInfo getVideoInfo(String objectId);
     ImageInfo getImageInfo(String objectId);

+ 2 - 2
oss-store/src/main/java/cn/reghao/oss/store/model/po/FileMeta.java

@@ -29,7 +29,7 @@ public class FileMeta extends BaseObject<Integer> {
     private Integer uploadBy;
 
     // 目录对象
-    public FileMeta(String objectName, String objectId, String filename, String pid, int scope) {
+    public FileMeta(int owner, String objectName, String objectId, String filename, String pid, int scope) {
         this.objectName = objectName;
         this.objectId = objectId;
         this.contentId = "0";
@@ -39,7 +39,7 @@ public class FileMeta extends BaseObject<Integer> {
         this.contentType = "0";
         this.sha256sum = "0";
         this.pid = pid;
-        this.uploadBy = AuthContext.getUserId();
+        this.uploadBy = owner;
         this.scope = scope;
     }
 

+ 8 - 9
oss-store/src/main/java/cn/reghao/oss/store/rpc/StoreServiceImpl.java

@@ -62,17 +62,16 @@ public class StoreServiceImpl implements StoreService {
     }
 
     @Override
-    public void createChannel(String channelPrefix, int scope) {
+    public void createChannel(int owner, String channelPrefix, int scope) {
         ObjectScope objectScope = ObjectScope.getByCode(scope);
         if (objectScope == null) {
         }
-
-        objectNameService.createParentDirs(channelPrefix, scope);
+        objectNameService.createParentDirs(owner, channelPrefix, scope);
     }
 
     @Override
-    public int countChannelObjects(String channelPrefix, int userId) {
-        int total = objectRepository.countByObjectNamePrefix(channelPrefix, userId);
+    public int countChannelObjects(String channelPrefix, int owner) {
+        int total = objectRepository.countByObjectNamePrefix(channelPrefix, owner);
         return total;
     }
 
@@ -93,11 +92,11 @@ public class StoreServiceImpl implements StoreService {
     }
 
     @Override
-    public String getUploadToken(int channelId, int loginUser, int expire) {
+    public String getUploadToken(int channelId, int owner, int expire) {
         String secretKey = RandomString.getString(128);
         String action = ChannelAction.upload.getName();
         long expireAt = System.currentTimeMillis() + expire*1000L;
-        OssPayload ossPayload = new OssPayload(action, channelId, loginUser);
+        OssPayload ossPayload = new OssPayload(action, channelId, owner);
         String uploadToken = JwtUtil.createToken(ossPayload, expireAt, secretKey);
         cache.put(uploadToken, secretKey);
         return uploadToken;
@@ -142,10 +141,10 @@ public class StoreServiceImpl implements StoreService {
     }
 
     @Override
-    public String getSignedUrl(String domain, int loginUser, String objectId, int expire) {
+    public String getSignedUrl(String domain, int owner, String objectId, int expire) {
         ObjectMeta objectMeta = objectRepository.getObjectMetaById(objectId);
         String url = String.format("//%s/%s", domain, objectMeta.getObjectName());
-        return signService.getSignedUrl(loginUser, url, expire);
+        return signService.getSignedUrl(owner, url, expire);
     }
 
     @Override

+ 2 - 2
oss-store/src/main/java/cn/reghao/oss/store/service/ObjectNameService.java

@@ -56,7 +56,7 @@ public class ObjectNameService {
         return prefix + id + suffix;
     }
 
-    public void createParentDirs(String objectName, int scope) {
+    public void createParentDirs(int owner, String objectName, int scope) {
         List<String> list = getSortedParent(objectName);
         for (int i = 0; i < list.size(); i++) {
             String parentName = list.get(i);
@@ -71,7 +71,7 @@ public class ObjectNameService {
                 String objectId = UUID.randomUUID().toString().replace("-", "");
                 String[] names = parentName.split("/");
                 String filename = names[names.length-1];
-                objectRepository.saveFileMeta(new FileMeta(parentName, objectId, filename, pid, scope));
+                objectRepository.saveFileMeta(new FileMeta(owner, parentName, objectId, filename, pid, scope));
             }
         }
     }