diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/enums/AccessPolicyType.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/enums/AccessPolicyType.java new file mode 100644 index 00000000..45b13bed --- /dev/null +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/dromara/common/oss/enums/AccessPolicyType.java @@ -0,0 +1,56 @@ +package org.dromara.common.oss.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import software.amazon.awssdk.services.s3.model.BucketCannedACL; +import software.amazon.awssdk.services.s3.model.ObjectCannedACL; + +/** + * 桶访问策略配置 + * + * @author 陈賝 + */ +@Getter +@AllArgsConstructor +public enum AccessPolicyType { + + /** + * private + */ + PRIVATE("0", BucketCannedACL.PRIVATE, ObjectCannedACL.PRIVATE), + + /** + * public + */ + PUBLIC("1", BucketCannedACL.PUBLIC_READ_WRITE, ObjectCannedACL.PUBLIC_READ_WRITE), + + /** + * custom + */ + CUSTOM("2", BucketCannedACL.PUBLIC_READ, ObjectCannedACL.PUBLIC_READ); + + /** + * 桶 权限类型(数据库值) + */ + private final String type; + + /** + * 桶 权限类型 + */ + private final BucketCannedACL bucketCannedACL; + + /** + * 文件对象 权限类型 + */ + private final ObjectCannedACL objectCannedACL; + + public static AccessPolicyType getByType(String type) { + for (AccessPolicyType value : values()) { + if (value.getType().equals(type)) { + return value; + } + } + throw new RuntimeException("'type' not found By " + type); + } + +}