# ChangeLog

## :tada:Release

### 1.0.0

#### 2024-04-16&#x20;

### 1.0.0 + 1

* **웹 이미지 최상단 이동 불가 수정**: 웹에서 이미지를 최상단으로 이동하지 못하는 오류 수정.&#x20;

### 1.0.0 + 2

* **lat, lng 없는 이미지 폴더 이동 시 에러 출력 수정**: 위도와 경도가 없는 이미지를 폴더로 이동할 때 발생하던 에러 수정.

#### 2024-04-17&#x20;

### 1.0.0 + 3

* **폴더명이 한글일 때 오름차순, 내림차순 되도록 수정**: 폴더명이 한글일 때 정렬(오름차순, 내림차순) 가능하도록 최종 수정.&#x20;

### 1.0.0 + 4

* **백오피스 유저 인포 엔드포인트 이미지 개수 0일 시 반환하는 상태 코드 변경**: 백오피스 유저 정보 엔드포인트에서 이미지 개수가 0일 경우 '404 에러' 대신 '200 상태 코드'를 반환하도록 변경.&#x20;

### 1.0.0 + 5

* **여러 유저가 root 위치에서 같은 폴더 이름을 가질 수 없는 오류 수정**: 여러 유저가 root 위치에서 같은 폴더 이름을 사용할 수 없었던 문제를 해결.

#### 2024-04-30&#x20;

### 1.0.1

* **리사이징 처리**: 한쪽 면이 1024일 때 리사이징 처리하지 않음으로 설정하여 속도 개선.
* **속도 개선 작업**: 이미지 및 폴더 관련 엔드포인트의 바인딩 및 쿼리 최적화 등 속도 개선 작업 적용.
* **커스텀 에러 적용**: 업로드 파트에서의 에러 핸들링 코드가 적용되어, 에러 발생 시 응답 타입 변경.
* **PUT 이미지 에러 수정**: **`latitude`**&#xC640; **`longitude`** 값은 있으나 **`has_det`**&#xAC00; **`None`**&#xC778; 경우 **`address_sort`** 값의 업데이트가 이루어지지 않던 오류 수정.
* **성능 최적화**: **`GET /platforms/info`**&#xC5D0; 대한 성능 최적화(CPU 사용율 급증 이슈 관련).
* **주소 핸들링 오류 수정**: **`address_sort`** 생성 시 "읍, 면, 동" 이외의 주소(”가”)를 제대로 처리하지 못하던 오류 수정.

#### 2024-05-08&#x20;

### 1.0.2

* **주소 데이터 None 처리**: 주소 관련 값들이 **모두 None일 경우,** 이미지 수정이 불가능했던 오류 수정. (**PUT /images/image\_id**)
* **GPS 값 에러 수정**: 이미지 EXIF에 **GPS 값이 0으로** **설정된 경우,** 업로드 불가능했던 오류 수정. (**POST /images**)
* **WINDOW FUNCTION 적용**: **CPU 사용률 급증 문제 해결**을 위해, WINDOW FUNCTION 적용. (**GET /platforms/info**)
* **더보기 주소별 이미지 미노출 해결**: **더보기 기능**에서, 주소별 일부 이미지가 노출되지 않던 이슈를 해결. (**GET /images**)

#### 2024-05-21

### 1.0.3

* No changes

#### 2024-05-23

### Hotfix

* **폴더 조회 시 휴지통 이미지 처리**: 폴더 안에 폴더 없이 **이미지만 있는 경우**, **휴지통에 있는 이미지**도 **조회**되는 오류 수정

### 1.0.4 (Only DEV Applied)

* 플랫폼일별 통계 엔드포인트 추가
  * GET api/v2/platforms/{platform\_id}/stats
* 플랫폼전체 통계 엔드포인트 추가
  * GET api/v2/platforms/{platform\_id}/stats/total

### :joy:Before Release

### Version 0.0.1 (2024-01-10)

* GIT BOOK INIT

### Version 0.0.2 (2024-01-29)

* Folder Full depth 조회 엔드포인트 추가 (GET <https://service-stage.pic-origin.com/api/v1/users/{user_id}/folders>)
* 특정 유저 특정 이미지(수정본) 여러 건 조회 엔드포인트 추가 (POST <https://service-stage.pic-origin.com/api/v1/users/{user_id}/filedata>)
* 이미지 리스폰스에 파일사이즈, 해상도, 확장자 추가
* GET images 수정
  * 쿼리 파라미터 address -> search 변경
  * 쿼리  파라미터 search\_type 추가

### Version 0.0.3 (2024-02-15)

* filename 형식 수정
  * created\_at 과 image가 같을 시 이미지 덮어쓰기 되는 이슈 해결을 위함
  * 기존 filename : {created\_at}\_{*image\_hash}\_{*&#x69;mage\_version}.{image\_type}\
    &#x20;→ 현재 filename : {server\_time}\_{*created\_at}\_{*&#x69;mage\_hash}\_{image\_version}.{image\_type}
  * server\_time = **연도월일\_시분초\_밀리세컨드 (ex) 20240215\_153045\_123)**
* ~~GET api/v1/platforms/{platform\_id}/users/{user\_id}~~
  * ~~access\_token 재발급되도록 수정~~
  * ~~리스폰스에 access\_token 추가~~
* GET api/v1/platforms/{platform\_id}/users
  * platform\_user\_id의 access\_token 재발급 엔드포인트 요청
  * platform\_user\_id 쿼리파라미터 추가
* ~~GET api/v1/users/{user\_id}/folders~~
  * ~~폴더 위치 확인되도록 수정~~
  * ~~리스폰스에 parent\_title 추가(상위 폴더의 이름)~~
* GET api/v1/users/{user\_id}/folders/{folder\_id}
  * 폴더 위치 확인되도록 수정
  * 리스폰스에 current\_path 추가(folder\_id 에 해당하는 path값)
* POST api/v1/users/{user\_id}/images/share
  * 이미지 공유를 위한 엔드포인트 추가
  * URL 변경 : [https://service-stage.pic-origin.com/api/v1/users/{user\_id}/filedata](https://service-stage.pic-origin.com/api/v1/users/%7Buser_id%7D/filedata) → [https://service-stage.pic-origin.com/api/v1/users/{user\_id}/images/share](https://service-stage.pic-origin.com/api/v1/users/%7Buser_id%7D/images/share)
  * 키 변경 : filedata\_ids → image\_ids

### Version 0.0.4 (2024-02-23)

* GET api/v1/users/{user\_id}/folders/{folder\_id}
  * 리스폰스에 current\_path\_id 추가
* GET api/v1/users/{user\_id}/images/{image\_id}/extrafield
  * 특정 유저의 특정 이미지의 extra\_field를 조회하는 엔드포인트 추가

### Version 0.0.5 (2024-02-27)

* POST api/v1/users/{user\_id}/images
  * is\_shared : bool -> str 수정
  * has\_det : bool -> str 수정
* PUT api/v1/users/{user\_id}/images/{image\_id}
  * has\_det : bool -> str 수정&#x20;
  * delete : bool -> str 수정
* PUT api/v1/users/{user\_id}/folders/{folder\_id}
  * delete : bool -> str 수정

### Version 0.0.6 (2024-03-05)

* 모든 파일사이즈에 대한 리스폰스 변경
  * \*\_filesiz&#x65;*->* \*\_filesize\_mb
* 모든 리스폰스의 extra\_field 삭제
* extra\_field 조회 엔드포인트 삭제
* PUT api/v1/users/{user\_id} 추가
  * max\_storage\_mb 수정 목적
* GET api/v1/users/{user\_id}/info 추가
  * 특정 유저의 정보 조회 목적
* GET api/v1/users/{user\_id}/images/{image\_id} 수정
  * search\_type 에 'days\_range', 'date\_range' 추가
  * search\_type == days\_range 경우, days\_range 전부터 현재까지
  * search\_type == date\_range 경우, start\_date \~ end\_date
  * search\_date\_by \[created\_at, updated\_at]추가 (해당 값을 기준으로 기간 검색 필터링)
* POST api/v1/users/{user\_id}/images/{image\_id}/memo 추가
* POST api/v1/users/{user\_id}/images/{image\_id}/custom 추가

### Version 0.0.7 (2024-03-07)

* view\_type == grid\_sep 의 리스폰스에 total\_images 추가
* Memo
  * POST url 을 ./memo → ./memos 로 수정
  * GET api/v1/users/{user\_id}/images/{image\_id}/memos 추가
  * PUT api/v1/users/{user\_id}/images/{image\_id}/memos/{memo\_id} 추가
  * DELETE api/v1/users/{user\_id}/images/{image\_id}/memos/{memo\_id} 추가
* Custom
  * POST url 을 ./custom → ./customs 로 수정
  * GET api/v1/users/{user\_id}/images/{image\_id}/customs 추가
  * PUT api/v1/users/{user\_id}/images/{image\_id}/customs/{custom\_id} 추가
  * DELETE api/v1/users/{user\_id}/images/{image\_id}/customs/{custom\_id} 추가

### Version 0.0.8 (2024-03-11)

* 이미지 단건,  다건 조회 + 폴더 단건 조회 API "with\_memo", "with\_custom" 쿼리파라미터 추가
* 이미지 단건,  다건 조회 + 폴더 단건 조회 "memos", "customs" 추가
  * "with\_memo", "with\_custom" == False or None -> 이미지 리스폰스의 "memos", "customs" : null
  * "with\_memo", "with\_custom" == True -> 이미지 리스폰스의 "memos", "customs": \[...]
* GET  api/v1/users/{user\_id}/images 수정
  * "search\_type" 의 "days\_range", "date\_range" 삭제
  * "days\_or\_date\_range" == \[days\_range, date\_range] 쿼리 파라미터 추가
  * -> "search\_type" + "days\_or\_date\_range" 를 통해 조건 중첩 가능

### Version 0.0.9 (2024-03-13)

* POST, PUT, DELETE : Memo 리스폰스에 이미지 리스폰스 추가
* GET api/v1/platforms/{platform\_id}/info 수정
  * part\_total\_filesize\_mb, total\_filesize\_mb 리스폰스 추가

### Version 0.1.0 (2024-03-14)

* GET api/v1/users/{user\_id}/folders 수정
  * has\_delete\_at 쿼리 파라미터 추가

### Version 0.1.1 (2024-03-18)

* GET api/v1/users/{user\_id}/folders 수정
  * has\_delete\_at 쿼리 파라미터 default = None 으로 수정
* GET api/v1/users/{user\_id}/images/group 추가
  * 이미지 그루핑 리스폰스 전달 위함
* 모든  이미지 관련 리스폰스에 'address\_land\_number' 추가

### Version 0.1.2 (2024-03-22)

* GET api/v1/users/{user\_id}/images/group 수정
  * latitude, longitude, use\_radius, radius 쿼리 파라미터 추가
  * latitude, longitude, use\_radius 는 반경 조회 시 필수 값 (radius 없을 시,  latitude, longitude 에 대해서 100 미터 반경 조회)

### Version 0.1.3 (2024-03-27)

* POST api/v1/users/{user\_id}/images 수정
  * 이미지 업로드 시 '공유 이미지'의 경우 메모를 붙여서 업로드하기 위함
  * message : str 추가
  * is\_shared : True 일시, message 값 필수
* 인피니티 스크롤 구현
  * GET api/v1/users/{user\_id}/images
    * page 쿼리 파라미터 삭제
    * last\_index 쿼리 파라미터 추가
    * 리스폰스 변경&#x20;
      * page, total\_pages, total\_images 삭제
      * last\_index 추가
  * GET api/v1/users/{user\_id}/images/group
    * page 쿼리 파라미터 삭제
    * last\_index 쿼리 파라미터 추가
    * 리스폰스 변경&#x20;
      * page, total\_pages, total\_images 삭제
      * last\_index 추가
  * GET api/v1/users/{user\_id}/folders/{folder\_id}
    * page 쿼리 파라미터 삭제
    * last\_index 쿼리 파라미터 추가
    * 리스폰스 변경&#x20;
      * page, total\_pages, total\_images 삭제
      * last\_index 추가

### Version 0.1.4 (2024-04-15)

* GET api/v1/users/{user\_id}/images/group/paged 추가

  * 인피니티스크롤로 변경되기 전 페이지네이션 처리 방식과 일치

### Version 0.1.5 (2024-12-11)

* GET api/v1/users/{user\_id}/images/count 추가
  * 해당 유저의 이미지 개수 출력
* DELETE api/v1/users/{user\_id} 추가
  * 해당 유저의 전체 데이터 삭제


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pic-origin.com/read-me/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
