|
1 | 1 | package community.flock.eco.workday.services |
2 | 2 |
|
3 | | -import com.google.cloud.storage.BlobId |
4 | 3 | import com.google.cloud.storage.BlobInfo |
5 | 4 | import com.google.cloud.storage.StorageOptions |
6 | | -import community.flock.eco.core.utils.toNullable |
7 | | -import community.flock.eco.workday.forms.WorkDayForm |
8 | | -import community.flock.eco.workday.model.CostExpense |
9 | | -import community.flock.eco.workday.model.Document |
10 | | -import community.flock.eco.workday.model.Expense |
11 | | -import community.flock.eco.workday.model.Status |
12 | | -import community.flock.eco.workday.model.TravelExpense |
13 | | -import community.flock.eco.workday.model.WorkDay |
14 | | -import community.flock.eco.workday.model.WorkDaySheet |
15 | | -import community.flock.eco.workday.repository.CostExpenseRepository |
16 | | -import community.flock.eco.workday.repository.ExpenseRepository |
17 | | -import community.flock.eco.workday.repository.TravelExpenseRepository |
18 | | -import community.flock.eco.workday.repository.WorkDayRepository |
| 5 | +import org.slf4j.LoggerFactory |
19 | 6 | import org.springframework.beans.factory.annotation.Value |
20 | | -import org.springframework.data.domain.Page |
21 | | -import org.springframework.data.domain.Pageable |
22 | 7 | import org.springframework.stereotype.Service |
23 | | -import org.springframework.transaction.annotation.Transactional |
24 | | -import java.time.LocalDate |
25 | | -import java.time.temporal.ChronoUnit |
26 | 8 | import java.util.UUID |
27 | | -import javax.persistence.EntityManager |
28 | 9 |
|
29 | 10 |
|
30 | 11 | @Service |
31 | 12 | class DocumentService( |
32 | 13 | @Value("\${flock.eco.workday.bucket.documents}") val bucketName:String |
33 | 14 | ) { |
| 15 | + companion object { |
| 16 | + val storage = StorageOptions.getDefaultInstance().service |
| 17 | + var logger = LoggerFactory.getLogger(DocumentService::class.java) |
| 18 | + |
| 19 | + } |
| 20 | + |
34 | 21 | fun storeDocument(byteArray: ByteArray): UUID { |
| 22 | + logger.debug("Store document to bucket: $bucketName") |
35 | 23 | return UUID.randomUUID() |
36 | 24 | .apply { |
37 | 25 | BlobInfo |
38 | 26 | .newBuilder(bucketName, toString()) |
39 | 27 | .build() |
40 | 28 | .apply { |
41 | | - WorkDayService.storage.create(this, byteArray) |
| 29 | + storage.create(this, byteArray) |
42 | 30 | } |
43 | 31 | } |
44 | 32 | } |
45 | 33 |
|
46 | 34 | fun readDocument(uuid: UUID): ByteArray { |
47 | | - val blob = WorkDayService.storage.get(bucketName, uuid.toString()) |
| 35 | + logger.debug("Read document to bucket: $bucketName") |
| 36 | + val blob = storage.get(bucketName, uuid.toString()) |
48 | 37 | return blob.getContent() |
49 | 38 | } |
50 | 39 |
|
|
0 commit comments