linagora / james-project

Mirror of Apache James Project
Apache License 2.0
72 stars 62 forks source link

[Multitenant] BlobStore API refactoring #5282

Open vttranlina opened 2 months ago

vttranlina commented 2 months ago

Epic: https://github.com/linagora/james-project/issues/5263

How

  1. Refactor BlobStore

Before proceeding with the refactor, we need to introduce the following classes:

For each method in BlobStore, we need to create a new API where the input argument changes from BucketName to Bucket.

Example:

  1. Refactor BlobStoreDAO
  1. Refactor the related class
Arsnael commented 2 months ago

AESBlobStoreDAO, CassandraBlobStoreDAO, MemoryBlobStoreDAO: Consider whether to throw new UnsupportException? or try to adapt with current way (Optional[Tenant] = empty) ?

I personally think Optional[Tenant] = empty for now, until we do proper implementation? That should keep the current behavior then correct?

quantranhong1999 commented 2 weeks ago

https://github.com/apache/james-project/pull/2485

quantranhong1999 commented 1 week ago

I put this on hold.