From 1d15cfb5f3923518a95f1100b02eee338203503e Mon Sep 17 00:00:00 2001
From: Alex <alex.tran1502@gmail.com>
Date: Fri, 26 Apr 2024 01:02:04 -0500
Subject: [PATCH] chore(server): remove unusuned endpoint/service/interface in
 asset-v1 (#9086)

---
 mobile/openapi/.openapi-generator/FILES       |   6 -
 mobile/openapi/README.md                      | Bin 27130 -> 26660 bytes
 mobile/openapi/doc/AssetApi.md                | Bin 51926 -> 46195 bytes
 .../doc/CuratedLocationsResponseDto.md        | Bin 550 -> 0 bytes
 .../openapi/doc/CuratedObjectsResponseDto.md  | Bin 550 -> 0 bytes
 mobile/openapi/lib/api.dart                   | Bin 9411 -> 9313 bytes
 mobile/openapi/lib/api/asset_api.dart         | Bin 52517 -> 47965 bytes
 mobile/openapi/lib/api_client.dart            | Bin 25592 -> 25384 bytes
 .../model/curated_locations_response_dto.dart | Bin 3963 -> 0 bytes
 .../model/curated_objects_response_dto.dart   | Bin 3951 -> 0 bytes
 mobile/openapi/test/asset_api_test.dart       | Bin 5183 -> 4769 bytes
 .../curated_locations_response_dto_test.dart  | Bin 1003 -> 0 bytes
 .../curated_objects_response_dto_test.dart    | Bin 1001 -> 0 bytes
 open-api/immich-openapi-specs.json            | 159 ------------------
 open-api/typescript-sdk/src/fetch-client.ts   |  38 -----
 server/src/controllers/asset-v1.controller.ts |  17 --
 server/src/dtos/asset-v1-response.dto.ts      |  16 --
 server/src/dtos/asset-v1.dto.ts               |  13 --
 server/src/interfaces/asset-v1.interface.ts   |   6 +-
 .../src/repositories/asset-v1.repository.ts   |  53 +-----
 server/src/services/asset-v1.service.spec.ts  |   3 -
 server/src/services/asset-v1.service.ts       |  44 -----
 22 files changed, 2 insertions(+), 353 deletions(-)
 delete mode 100644 mobile/openapi/doc/CuratedLocationsResponseDto.md
 delete mode 100644 mobile/openapi/doc/CuratedObjectsResponseDto.md
 delete mode 100644 mobile/openapi/lib/model/curated_locations_response_dto.dart
 delete mode 100644 mobile/openapi/lib/model/curated_objects_response_dto.dart
 delete mode 100644 mobile/openapi/test/curated_locations_response_dto_test.dart
 delete mode 100644 mobile/openapi/test/curated_objects_response_dto_test.dart

diff --git a/mobile/openapi/.openapi-generator/FILES b/mobile/openapi/.openapi-generator/FILES
index 2fd4fba057..e7cbd570dc 100644
--- a/mobile/openapi/.openapi-generator/FILES
+++ b/mobile/openapi/.openapi-generator/FILES
@@ -60,8 +60,6 @@ doc/CreateLibraryDto.md
 doc/CreateProfileImageResponseDto.md
 doc/CreateTagDto.md
 doc/CreateUserDto.md
-doc/CuratedLocationsResponseDto.md
-doc/CuratedObjectsResponseDto.md
 doc/DeleteUserDto.md
 doc/DownloadApi.md
 doc/DownloadArchiveInfo.md
@@ -297,8 +295,6 @@ lib/model/create_library_dto.dart
 lib/model/create_profile_image_response_dto.dart
 lib/model/create_tag_dto.dart
 lib/model/create_user_dto.dart
-lib/model/curated_locations_response_dto.dart
-lib/model/curated_objects_response_dto.dart
 lib/model/delete_user_dto.dart
 lib/model/download_archive_info.dart
 lib/model/download_info_dto.dart
@@ -485,8 +481,6 @@ test/create_library_dto_test.dart
 test/create_profile_image_response_dto_test.dart
 test/create_tag_dto_test.dart
 test/create_user_dto_test.dart
-test/curated_locations_response_dto_test.dart
-test/curated_objects_response_dto_test.dart
 test/delete_user_dto_test.dart
 test/download_api_test.dart
 test/download_archive_info_test.dart
diff --git a/mobile/openapi/README.md b/mobile/openapi/README.md
index 3059e3dbeffafe5aa01c04b6bcc261ade85b7f68..187d8e8fa9ce92f965805d85bc763c10b1113140 100644
GIT binary patch
delta 23
fcmex$nQ_Sl#tqwqCaVZv*nCA~v*l)f|JPCgjLQo1

delta 279
zcmZ2-f$`U6#tqwqxKa~~k~2b5i*k!6Ckn}O6@&RDK>p;7!Xi8nt}cjQJlRo5X7W~{
zivrH2MTsS;DL(nhi6xo&c_57v{K*i(9H<~jw;)tZ7bXZYLYxn(-9ITSHMs<=nHQ=s
zA1nmY3Nua@A_UgBxlMSpr4dv&-14B*;sT%>Qe8^&V>MFpllAq{RZKQ?7U4m*bn?ak
PG=YavVw){}UrPZ12$N~S

diff --git a/mobile/openapi/doc/AssetApi.md b/mobile/openapi/doc/AssetApi.md
index 297a4cdba6acc41bbc75a567fe81146c74434f2a..826e91a69066ca11d8cc5d44dc27c3d1a3622578 100644
GIT binary patch
delta 28
kcmcaMmHG1vrVS^VCaW^9+1$&LZnpWp<5_{tJc*|=0mPvV5&!@I

delta 793
zcmezTg6Y~+<_#yAI8zggk~2b5i*hGlWRimLN<h4ijKV_t#b8-okU+6QjRIHn<cpSK
zldmu><aaJDN-RlD@ySn4EXmBz18NrGPlkx)z{G$?XzD`+bz!0qbF{S5Q%j&`_$Oth
zCYOLr;DIX62Z>Dnz$hXB*A5mcDc+pTTxezhcXP3p7MGoZPiAq6O>jw3W?s6T0?=H?
z;^NejV1y!#%@dtuStj>Ys!vXE=iot>ncV0e!Hpy^d19o3R!Bx>u|jHIN<n^RUWr0V
zermBoUVe!}UTSKJLSkN}LP26tVs0uhQ1mwY8*F9VeB1JzfH%}LumC}F8M;hRYH>k+
zUU8~RNj})Q=<*2XiXZ|BZmtH<$-x5XdPsEl<O7M)2IyuWyGu(eRs&sr^Szdtj2;Ll
zLE;V5qfl{V<3O<jH4Z9^@T3r?9LS4&sOrh^pcbkL$nHV%9@ssbH#*E?+`Q83R3-o>
C^(*WE

diff --git a/mobile/openapi/doc/CuratedLocationsResponseDto.md b/mobile/openapi/doc/CuratedLocationsResponseDto.md
deleted file mode 100644
index 627bcbf854c004295c3dac6cb3d82280cc404368..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 550
zcma)3!D<3A5WVLs2KHbLWWBeiZP$aKve@24*pN(hsJjWtSg`ctn{0*JQfucjyqP!e
z!Mp;T$6k9XJ7;lUJ{*E(v~y=Plk4LOqfZTMc0v>d%$>HtJA{D_UYi%aMbWmc)qw?d
z-UWuyX?}YWpJanf7~N&+pwxu43``isQg;aN@O1RK)fi16pY0P`I!+9AR%v*Kl)8q6
zl!o{yWg<%X$btIp01{3+i?3v`iV=Bc|0Z4D)5Xhxk>0S;y!%~Stk?JHiNFpPIRV&H
z<jv-$EGMgJRWGJxXAA4hp~IesOw_XrYIuJf!`F4y%>H?s!cf>-@2KZ*5}$@Y%*R5A
E52Mki#{d8T

diff --git a/mobile/openapi/doc/CuratedObjectsResponseDto.md b/mobile/openapi/doc/CuratedObjectsResponseDto.md
deleted file mode 100644
index ee041a821521ee8fe67020c9919bfdb98e5e812f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 550
zcma)3!Ab)$5WVLs2KG=J$o8(M)$O5R>r%ay!p6<mM!T7iOa;Y{H(85Tv1l&g&Aj&p
z-YbASI_+)QlfhkiwGW!n+}uB6$8m|#lZ#k02~iYqP1*o&5e71N-970IineWy4lHc%
zDKLx<^YerCB->}g=ps`GrzWIjV2e>KbdT@`cP~DFHO4Mj&z4+53*y93M=uSJkWznP
zA*I1*+hG+W^2|t?6jI)Dux>Megg;5A_x7ZchOAEc28{L<8_nC_8Dh1%Ofdoz%yR><
zvys>9v$C8lr&T?lmc1zqb^9J2>l}-EprD2V;uyZvRWtjiHr1if8Bf;nH;a#hKaP)u
F5br_Ar=tJ>

diff --git a/mobile/openapi/lib/api.dart b/mobile/openapi/lib/api.dart
index 78f2e9ed5ae317b0b2b096d55da14aeb579b8c06..3e2f23024e8899ff0cec9cbf5623a5cc914b24f6 100644
GIT binary patch
delta 12
TcmX@?`Oss72H)l`K1(qGB<cjV

delta 50
zcmaFpaoBT%2A@E3X;ETHYD#=gesW?-W`5peMnNTBm|%WVR%-GjLFLUFe3oJW>uV9{

diff --git a/mobile/openapi/lib/api/asset_api.dart b/mobile/openapi/lib/api/asset_api.dart
index 10f1c0c10e9a399eafc20916a1f7d7e39437dfbf..c6031f6bdaa6a607b32ed762bb7b8e3e7d9d1489 100644
GIT binary patch
delta 19
bcmZ2Fi}~(1rVS?yHg}nc32a^#R9^)EUls`c

delta 650
zcmccnjcMsD<_#wdxKa~~k~4HmQj2mYUog;~JVjYlrnoq@Bp56n0u(L|&n(ICC@CrM
z%uCDHn7nYMFHbQ-Q}N{Y;)f^ikCvN!e!^KTx6+c*qEs87%;FN8;F6-uymUKzJB9Sr
z5=S&MH74`RYfhFoV-?3?&t^ltdyJFyda5S3YxZtFZXhlokX%}nSdyBeo0FfMSdy8a
z2X(KAtTRNy2P%%~U_o@PD6Y0gb~U<LL8-+B`FX{uE+zR;ub`^{c|`-i8{nQ1K-WAu
z-&+k+uplyRvRyAXAI#bLNm;4MB{2U=Lk;l<i(>kg7e(9T#Ehe`__4;~Q>ZC8{Rx!^
a`x2kca6j^)IuGPSbRnq!Hs5oouL1zBLjXGf

diff --git a/mobile/openapi/lib/api_client.dart b/mobile/openapi/lib/api_client.dart
index ae3b9dadf1290afba8e8d2b31671db7a1bb4cdfc..5db7b8fbef52d3cd057d96a6535f599e10cc19ce 100644
GIT binary patch
delta 14
WcmexyoN>i5#tlX~o0)XKnE?Pa*al1h

delta 86
zcmZ2+jPb{D#tlX~{LZCCi6yBiKKaRsC7JnolP_v2@}UU{+UoE?mH8)Sr6y0lpsB<S
QQ3K&WG}7H{r1Q-T0LLC7y#N3J

diff --git a/mobile/openapi/lib/model/curated_locations_response_dto.dart b/mobile/openapi/lib/model/curated_locations_response_dto.dart
deleted file mode 100644
index 0b54c4807fc408f141469c9de76eba2bfc41940d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3963
zcmbVPZExE)5dQ98aRGwbL0x(4ry-rZ22C=!OX4EU1`I|ZFcKZHlSP%JV|Z!)`|e1+
zu~y`)1?ou0yW{bm=kBP<WH6b)$)7j#H@}}<on4>YoSnk??BZ+;r*pWP-@xVkbawvt
z0jiPa`-CYIz72kUJD^u_pG(D~rBu;UWc(P``C9WN;u&A@+>EPtu_~l8ofa(Hu&s`Y
zwTTq}x)ut}bGE|Yf+_rKxYFoc>2C8_=Gw5_L?Xcr#Zqu(&2{HynaH`0GMV3_nn_t6
z{qj>3r%dU=0Jk$BmmmwCvqA*;|J`5^XH0AOuvX0Q<U+>G2;A|S>jMAqQzPMV05HK^
zTywKlxdsL~-@u~B<Q9YtI_3e|_9%|XH$asaFsaZ%EX;P?Ay4>&i1~@u+{}{a6}s0%
zr-kBL{L4QvlajxuBg_ZDXQM=Z4-`iG-P?Y5VV1OI!h37Bu{!VN16K<1#Le!c%m@)o
zzf=&0qxszz9wSaB<?0B+DLC9?mW?Po<7(yGH}?dhAH7$vY$~lkn_Aq&o(;Se?{uW%
z3p#XXNu!3(o`$e%`0GiVG>~QUwv!Z*8@T5NQl`@nGU1p8dx*LqsSa}<bFG=$QXOGw
zq===qY9oR!sEm)`wUc@$dTx1^?5>CoSrdJuzjKa~Nk+Pdk;QY^Qx6M@JUp}&;3E(o
zdf|`D)mc(4AnlPV;UN;emD=#I3G{Yo1H5F#uPz>Rvc*m$;wc#UQOg_ybOpH-Im_S+
ziXem??Z>BgHltuQ7HUZG4sTJluHWwzyx1E}PuyuTOTO2pI-{OZZ!TIYRCeBCbNa?l
zBXi2i_BDGJ5<F24_|bj`EKk4<0}aAxcwpI@Ygj6|D%~!u2wUV56^7JK7YNDi81i+7
zt$^x&Bed<DExs3uFR`WDX`t3IHVYk58;Ni@7!gM}M^c#(|DB+(>;7iLv4EEZaA8*H
zV`L*6B=r`It&#(Hys#=k%(U5I$jEh4f}+fB59vo3wEIUqI))W1{-UhSmp9vjm%gVX
zVk1)9k?rWf4FIz9ShUyN(;n{nnI$iDfz)hUi~V-U)V4*#!@WB;sx1$gV><qm{Vmf>
z9I8oNGT}lXLOuDPLWUaW$WV_GF5i!KK;0|3VRsoeVpy_F^YK%~3C9SGZ=D(H6@B|G
zZe7I0FY-?GqTp~!*y;;}zLMr_RhVt%9w~=oaa8UiH+ZqIs?B;uN=MkRkM{vpp*<rW
zr_3H@u;KebXsfX8ofu4q3s{o4s%Tld+*cTQNR(Da(g{aZ0*|43vR-VjDPd~&<-ROZ
zeRP6VMeUM>TJ7H5=dtSNZCo&#URW%Cp@Z$Y7Jyx}yg(mAeb<ffx{0@Hx;?vT?LmxE
zwXHx7=uL249gMJYhx=b(Tc3e7X+gIKbWGpE8UDk!G}^4a<1fY0gFKqnC5RcoS8DP$
zVbWdhHo~MRqOzk4c@H*koCP{4M+r`9w4{#|a@@50%hpsU#`PBBlx#_>lSgBCS<$19
zHpBMs`XfAhA%$K-$8yZH8p>X_;Sqfn^gtC5oOME5q#M^Y-&Fs&W}+jK*E(?57J(*k
zlk%D?^`{cjQsaG#ArIC_qdN|GMbNk{RS$!YpXXQf@l`e#dvCx_=Dt7wAlv$4H+{63
haf8*3)uBHnJt5A$@*U?{`Gh-{-%(bA_e1P#{{i2A3+Mm<

diff --git a/mobile/openapi/lib/model/curated_objects_response_dto.dart b/mobile/openapi/lib/model/curated_objects_response_dto.dart
deleted file mode 100644
index 40b6e1789b50e85acb47d4b3263c1fe7fcaf5187..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3951
zcmbVPZExE)5dQ98aRq|L!Blzcry-rZ22C=!YvLiz1`I|ZFcKZHlSP-LVt8r(`|e2U
zEtcY}0V0d!z29?p)MPT6OyK0t>-n4C&MwccPOi^R;e7V#EP&HFT+XlIVtzV1|N9k^
z5#{@oDHFX7e|kHjrMN4k;_*_dcqwvz3}sPjp2j@qD_)qOT8q_MD$~os@(tVScwL%U
z@vo&&$X>7&KG#g)ui;9gaHad%6Ip1(3KNSI6^f<c%ChTTWw|K0j&oVuA(_co5&!&S
zoMcSt(FoNUkV}wjUa++Y@&Daul;lin_)sclcsjrR!V{yfxL%`LerhB<i~uGWi7ReO
zRcK&P@C_^m8E!yWgA*Pi=OEdb<N{O?0h0+Gru<$c{6uSRW@#`;(0?X+Ii&TdPnP0Z
z{LBAfCZp5GBa8*WXQM=M2OUFp4`yk5PjpsJVf(yMWOv`od#)5_6V=^HnNvP6_)<X>
zja>pjnvAO>h^FAOp0IpO5ell4Z{OS-i05+m`n8RrmDUX|>gqZPJ+!m5A;b3$g|KJ%
z?Cd({iOaurPMbgwMYGxoizp1-aRV9C*$0_&41{&0E=a1wf+t*SrnXc^SQ;7TQ(Lle
zCw*Zh<p_RgAJ5X=6VbEhJlUmf>~GF?Jn?uk(!GprP7epGV$rcYI_N9|pRrk59bh3K
zK%xVLz7KeG;LHtL;f)R&Q*REfi5G1Bi?axYZm}DQWC})p)UrSmU1=^w!E*S5TM)qx
z^~2*k8%(ei3w78r_3#FHc1yaKWtKjrrt+fZP|FrA5~{Y&p>w#A;nq)xng}$6&7LDx
zw!>L}XycLk!S{7OU_}aUBxn#u!#&GOu3@R<$_riCEo_!cBsiqDy1=B|1W=SYwgjsG
zjnKA-wot!Te2I<S&IDB^*fexZ?Igw#VMG$+G|6O2Rp2&;`|q#T7@Kep0B2;CeY9(A
zO{5NkmR0)z9b8zFFk#y4AY|-1D&@*Yb`bVsG}!%hP;?9{w*HGkH(y?F*W9a^jtP{A
z@F$o%dga<YNpf;#=?g_52HV_XKOaJ}&EY_|SDVLbo3laTUhampr5mG64nNwb4>Vz@
zhOkG%CxJN{%)k_KJU>T#b|B#b{b0w`ost`Nn`1MECCfDr9xF^ZM4)wLZm3rbYgybl
zYYAN>o4`ee;S{lT7YcnT&Dm;gwv})M9FE4Z*C97}y|ARsc?C%a*Jv2?A=RJt4_)zb
zqu4cAe-+vKYs)6|l4BuDQ&$l!P8anm`kfqjE+fgmaTUB{sNSp;+hcr!+C6zVf>aW{
zX{u~?fkLWw*B+Kv_3?H_(2{2pVlx-HgbkHGc20kJK8E_98{<_IZ`5>ic9Xi3T-;UL
zD!n1C1lN^Ylqcuf|46fy7+Qu_()OeqL$`2@|L`r%G0X38OIAFSb7ZZ{4*ka^HFg^=
zSNX6JCc`Z%HoA%r=H-o}M|M9va5^I&eVmZkromsdCOIMPnc|xgC(-ocCxDlgIm&1w
zYoE^V!Pg6+^AZ^P!P06Wdr^iCcJn`&q>$2B2eSpXpsw<!-h&!}4nUn|fjV2jnZR|%
zYmC&NNC-!bmnwz`C=oul9Pm1zQ7zRBgO8u*m-NZy+ljp+VDEBYoWB!qeT|zw*tk5I
fpKf~kO`M2+jg!v5`RV0XsM~)(*>k)PVmJE_TK@#>

diff --git a/mobile/openapi/test/asset_api_test.dart b/mobile/openapi/test/asset_api_test.dart
index 0c1729e95f7f50cc33336f0bba9d9781ba9ca9bf..e64d3acf5e2408a6a61534252367ba84d5c009aa 100644
GIT binary patch
delta 17
Ycmdn5u~2n`2>a$q>{*PPWw?~N062pMHUIzs

delta 219
zcmZ3ex?f|12>awWtU?0C#i=F1sfk6&86l}fxy2fj1v#Yz9MME4Z{#<e{7-;wvm|>e
zqmgrIQDRAIicfxWVo7FxUU5)raRHD@bt%cWvr|Y<EkRcRF%(@CWT=UaPiAq64OGfM
aDJwO(1gCjWX|QR0s9Hc~ZLZ+Z<N^Ry7Ehf3

diff --git a/mobile/openapi/test/curated_locations_response_dto_test.dart b/mobile/openapi/test/curated_locations_response_dto_test.dart
deleted file mode 100644
index 7529aaf7c89d7dce2f994ad12e86099d2002ba86..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1003
zcmbVJOHbQC5Wf3Y45tJs#gtP8LL$NeMWPtd^uTFZ*%N1kv%8%gQ>BRi&a6{ZDk6e%
z*vClUb2rbkJcsemS^4F1ay_{n&n5+2Os^&*C`!04XYjo&rWbd63QNed+OnJ;9eh2?
z(nyW-jAriH%&Em==v)`EHrV14os3>*S_aRukzw24b`?$N#4!Hqh?VZ_Qukn4PeG0<
z&T%un@-B*XVyIR_niFzQj~mTeau`kPU868rSZBT+nrdM=X4yI;41%p5Y=g%>ptFH;
zT?eW4;N%@dFiM`bS3ojNa|C@7IPcgB)>po=LYngyW6%Q&@!6xN8kUyaa37vB042`J
z*%qkpQz4vw#2@aTWXfvTcVRe4mLH)9Blv668~qR_*FZ(GQVr-6tBCI}APa=R+MZ<v
z_X%{r=G(Y(RUbByH1Mn}%3k1ko#w50jgM5}I7XCdz18JE^zL?_cAD0^n9%kjw39Gn
Xq(69LWwG_8{y{(2Kn45XdCpz{1S>lg

diff --git a/mobile/openapi/test/curated_objects_response_dto_test.dart b/mobile/openapi/test/curated_objects_response_dto_test.dart
deleted file mode 100644
index f71723ab274dd6f7f99bd3b73a4c7f7bcce7fdff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1001
zcmbV}K~Ebo5QXpiE2gIeDP>zu6$pul4JcA!D+q_4jM<%Rrfh68o~24F{yVcyQH2N!
z%3-}8>Am+o+j*YlIgD>+<>&Ls<>YESn-p+1{XQ8%QNm?8gNw45p8fo!vR-*oTbAR4
z{jUdEKT_j7qnUd)b87JrI@d+44Ys&MC!?2{mcg@ZblCQ{T}2Z*F^mr#vD%$o>KZKT
zUy!4QbKGpNyo+L;7^)RWb3#t`xDnQp!)RLX8kNbyI`i#|sTP)FmaRL&AlT~OHhAa*
zIvXh0Z@)kF;OLD+FiPGpFM=N0&k^)W;Iv~aSeJLdu#$L%F=$yV#AlD5YFJuw!#(($
z0jO<G&bC15G!??}`|jc1QKp`TeHVs<9{0X>FoJ)G1i2O_*FcSrRN**AlxeL|kV<Qo
zPaBX0LSVfBmKEH-Qs1r<ZCtr3Rqx$ee^wS{N_twidyD%pX<F|Bq3s8uoq~OOzOA>k
bmhIA<G14FWVP&xu@?ZKfkOrprc*>puQ$acF

diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json
index 5905f2ccfc..d1e0b6aace 100644
--- a/open-api/immich-openapi-specs.json
+++ b/open-api/immich-openapi-specs.json
@@ -1149,76 +1149,6 @@
         ]
       }
     },
-    "/asset/curated-locations": {
-      "get": {
-        "operationId": "getCuratedLocations",
-        "parameters": [],
-        "responses": {
-          "200": {
-            "content": {
-              "application/json": {
-                "schema": {
-                  "items": {
-                    "$ref": "#/components/schemas/CuratedLocationsResponseDto"
-                  },
-                  "type": "array"
-                }
-              }
-            },
-            "description": ""
-          }
-        },
-        "security": [
-          {
-            "bearer": []
-          },
-          {
-            "cookie": []
-          },
-          {
-            "api_key": []
-          }
-        ],
-        "tags": [
-          "Asset"
-        ]
-      }
-    },
-    "/asset/curated-objects": {
-      "get": {
-        "operationId": "getCuratedObjects",
-        "parameters": [],
-        "responses": {
-          "200": {
-            "content": {
-              "application/json": {
-                "schema": {
-                  "items": {
-                    "$ref": "#/components/schemas/CuratedObjectsResponseDto"
-                  },
-                  "type": "array"
-                }
-              }
-            },
-            "description": ""
-          }
-        },
-        "security": [
-          {
-            "bearer": []
-          },
-          {
-            "cookie": []
-          },
-          {
-            "api_key": []
-          }
-        ],
-        "tags": [
-          "Asset"
-        ]
-      }
-    },
     "/asset/device/{deviceId}": {
       "get": {
         "description": "Get all asset of a device that are in the database, ID only.",
@@ -1590,41 +1520,6 @@
         ]
       }
     },
-    "/asset/search-terms": {
-      "get": {
-        "operationId": "getAssetSearchTerms",
-        "parameters": [],
-        "responses": {
-          "200": {
-            "content": {
-              "application/json": {
-                "schema": {
-                  "items": {
-                    "type": "string"
-                  },
-                  "type": "array"
-                }
-              }
-            },
-            "description": ""
-          }
-        },
-        "security": [
-          {
-            "bearer": []
-          },
-          {
-            "cookie": []
-          },
-          {
-            "api_key": []
-          }
-        ],
-        "tags": [
-          "Asset"
-        ]
-      }
-    },
     "/asset/stack/parent": {
       "put": {
         "operationId": "updateStackParent",
@@ -8423,60 +8318,6 @@
         ],
         "type": "object"
       },
-      "CuratedLocationsResponseDto": {
-        "properties": {
-          "city": {
-            "type": "string"
-          },
-          "deviceAssetId": {
-            "type": "string"
-          },
-          "deviceId": {
-            "type": "string"
-          },
-          "id": {
-            "type": "string"
-          },
-          "resizePath": {
-            "type": "string"
-          }
-        },
-        "required": [
-          "city",
-          "deviceAssetId",
-          "deviceId",
-          "id",
-          "resizePath"
-        ],
-        "type": "object"
-      },
-      "CuratedObjectsResponseDto": {
-        "properties": {
-          "deviceAssetId": {
-            "type": "string"
-          },
-          "deviceId": {
-            "type": "string"
-          },
-          "id": {
-            "type": "string"
-          },
-          "object": {
-            "type": "string"
-          },
-          "resizePath": {
-            "type": "string"
-          }
-        },
-        "required": [
-          "deviceAssetId",
-          "deviceId",
-          "id",
-          "object",
-          "resizePath"
-        ],
-        "type": "object"
-      },
       "DeleteUserDto": {
         "properties": {
           "force": {
diff --git a/open-api/typescript-sdk/src/fetch-client.ts b/open-api/typescript-sdk/src/fetch-client.ts
index a517cb6602..2536afe598 100644
--- a/open-api/typescript-sdk/src/fetch-client.ts
+++ b/open-api/typescript-sdk/src/fetch-client.ts
@@ -252,20 +252,6 @@ export type AssetBulkUploadCheckResult = {
 export type AssetBulkUploadCheckResponseDto = {
     results: AssetBulkUploadCheckResult[];
 };
-export type CuratedLocationsResponseDto = {
-    city: string;
-    deviceAssetId: string;
-    deviceId: string;
-    id: string;
-    resizePath: string;
-};
-export type CuratedObjectsResponseDto = {
-    deviceAssetId: string;
-    deviceId: string;
-    id: string;
-    "object": string;
-    resizePath: string;
-};
 export type CheckExistingAssetsDto = {
     deviceAssetIds: string[];
     deviceId: string;
@@ -1363,22 +1349,6 @@ export function checkBulkUpload({ assetBulkUploadCheckDto }: {
         body: assetBulkUploadCheckDto
     })));
 }
-export function getCuratedLocations(opts?: Oazapfts.RequestOpts) {
-    return oazapfts.ok(oazapfts.fetchJson<{
-        status: 200;
-        data: CuratedLocationsResponseDto[];
-    }>("/asset/curated-locations", {
-        ...opts
-    }));
-}
-export function getCuratedObjects(opts?: Oazapfts.RequestOpts) {
-    return oazapfts.ok(oazapfts.fetchJson<{
-        status: 200;
-        data: CuratedObjectsResponseDto[];
-    }>("/asset/curated-objects", {
-        ...opts
-    }));
-}
 /**
  * Get all asset of a device that are in the database, ID only.
  */
@@ -1479,14 +1449,6 @@ export function getRandom({ count }: {
         ...opts
     }));
 }
-export function getAssetSearchTerms(opts?: Oazapfts.RequestOpts) {
-    return oazapfts.ok(oazapfts.fetchJson<{
-        status: 200;
-        data: string[];
-    }>("/asset/search-terms", {
-        ...opts
-    }));
-}
 export function updateStackParent({ updateStackParentDto }: {
     updateStackParentDto: UpdateStackParentDto;
 }, opts?: Oazapfts.RequestOpts) {
diff --git a/server/src/controllers/asset-v1.controller.ts b/server/src/controllers/asset-v1.controller.ts
index 2ba9aa7a03..e83df8d0d1 100644
--- a/server/src/controllers/asset-v1.controller.ts
+++ b/server/src/controllers/asset-v1.controller.ts
@@ -20,8 +20,6 @@ import {
   AssetBulkUploadCheckResponseDto,
   AssetFileUploadResponseDto,
   CheckExistingAssetsResponseDto,
-  CuratedLocationsResponseDto,
-  CuratedObjectsResponseDto,
 } from 'src/dtos/asset-v1-response.dto';
 import {
   AssetBulkUploadCheckDto,
@@ -111,21 +109,6 @@ export class AssetControllerV1 {
     await sendFile(res, next, () => this.service.serveThumbnail(auth, id, dto));
   }
 
-  @Get('/curated-objects')
-  getCuratedObjects(@Auth() auth: AuthDto): Promise<CuratedObjectsResponseDto[]> {
-    return this.service.getCuratedObject(auth);
-  }
-
-  @Get('/curated-locations')
-  getCuratedLocations(@Auth() auth: AuthDto): Promise<CuratedLocationsResponseDto[]> {
-    return this.service.getCuratedLocation(auth);
-  }
-
-  @Get('/search-terms')
-  getAssetSearchTerms(@Auth() auth: AuthDto): Promise<string[]> {
-    return this.service.getAssetSearchTerm(auth);
-  }
-
   /**
    * Get all AssetEntity belong to the user
    */
diff --git a/server/src/dtos/asset-v1-response.dto.ts b/server/src/dtos/asset-v1-response.dto.ts
index 4b1e97b478..687b336428 100644
--- a/server/src/dtos/asset-v1-response.dto.ts
+++ b/server/src/dtos/asset-v1-response.dto.ts
@@ -27,19 +27,3 @@ export class AssetFileUploadResponseDto {
 export class CheckExistingAssetsResponseDto {
   existingIds!: string[];
 }
-
-export class CuratedLocationsResponseDto {
-  id!: string;
-  city!: string;
-  resizePath!: string;
-  deviceAssetId!: string;
-  deviceId!: string;
-}
-
-export class CuratedObjectsResponseDto {
-  id!: string;
-  object!: string;
-  resizePath!: string;
-  deviceAssetId!: string;
-  deviceId!: string;
-}
diff --git a/server/src/dtos/asset-v1.dto.ts b/server/src/dtos/asset-v1.dto.ts
index 50ff3d18b1..5cac6fbe65 100644
--- a/server/src/dtos/asset-v1.dto.ts
+++ b/server/src/dtos/asset-v1.dto.ts
@@ -130,19 +130,6 @@ export class GetAssetThumbnailDto {
   format: GetAssetThumbnailFormatEnum = GetAssetThumbnailFormatEnum.WEBP;
 }
 
-export class SearchPropertiesDto {
-  tags?: string[];
-  objects?: string[];
-  assetType?: string;
-  orientation?: string;
-  lensModel?: string;
-  make?: string;
-  model?: string;
-  city?: string;
-  state?: string;
-  country?: string;
-}
-
 export class ServeFileDto {
   @ValidateBoolean({ optional: true })
   @ApiProperty({ title: 'Is serve thumbnail (resize) file' })
diff --git a/server/src/interfaces/asset-v1.interface.ts b/server/src/interfaces/asset-v1.interface.ts
index 8348bfaeea..799a303ba6 100644
--- a/server/src/interfaces/asset-v1.interface.ts
+++ b/server/src/interfaces/asset-v1.interface.ts
@@ -1,5 +1,4 @@
-import { CuratedLocationsResponseDto, CuratedObjectsResponseDto } from 'src/dtos/asset-v1-response.dto';
-import { AssetSearchDto, CheckExistingAssetsDto, SearchPropertiesDto } from 'src/dtos/asset-v1.dto';
+import { AssetSearchDto, CheckExistingAssetsDto } from 'src/dtos/asset-v1.dto';
 import { AssetEntity } from 'src/entities/asset.entity';
 
 export interface AssetCheck {
@@ -13,10 +12,7 @@ export interface AssetOwnerCheck extends AssetCheck {
 
 export interface IAssetRepositoryV1 {
   get(id: string): Promise<AssetEntity | null>;
-  getLocationsByUserId(userId: string): Promise<CuratedLocationsResponseDto[]>;
-  getDetectedObjectsByUserId(userId: string): Promise<CuratedObjectsResponseDto[]>;
   getAllByUserId(userId: string, dto: AssetSearchDto): Promise<AssetEntity[]>;
-  getSearchPropertiesByUserId(userId: string): Promise<SearchPropertiesDto[]>;
   getAssetsByChecksums(userId: string, checksums: Buffer[]): Promise<AssetCheck[]>;
   getExistingAssets(userId: string, checkDuplicateAssetDto: CheckExistingAssetsDto): Promise<string[]>;
   getByOriginalPath(originalPath: string): Promise<AssetOwnerCheck | null>;
diff --git a/server/src/repositories/asset-v1.repository.ts b/server/src/repositories/asset-v1.repository.ts
index 229e700fd5..4e346d5fdf 100644
--- a/server/src/repositories/asset-v1.repository.ts
+++ b/server/src/repositories/asset-v1.repository.ts
@@ -1,7 +1,6 @@
 import { Injectable } from '@nestjs/common';
 import { InjectRepository } from '@nestjs/typeorm';
-import { CuratedLocationsResponseDto, CuratedObjectsResponseDto } from 'src/dtos/asset-v1-response.dto';
-import { AssetSearchDto, CheckExistingAssetsDto, SearchPropertiesDto } from 'src/dtos/asset-v1.dto';
+import { AssetSearchDto, CheckExistingAssetsDto } from 'src/dtos/asset-v1.dto';
 import { AssetEntity } from 'src/entities/asset.entity';
 import { AssetCheck, AssetOwnerCheck, IAssetRepositoryV1 } from 'src/interfaces/asset-v1.interface';
 import { OptionalBetween } from 'src/utils/database';
@@ -42,56 +41,6 @@ export class AssetRepositoryV1 implements IAssetRepositoryV1 {
     });
   }
 
-  getSearchPropertiesByUserId(userId: string): Promise<SearchPropertiesDto[]> {
-    return this.assetRepository
-      .createQueryBuilder('asset')
-      .where('asset.ownerId = :userId', { userId: userId })
-      .andWhere('asset.isVisible = true')
-      .leftJoin('asset.exifInfo', 'ei')
-      .leftJoin('asset.smartInfo', 'si')
-      .select('si.tags', 'tags')
-      .addSelect('si.objects', 'objects')
-      .addSelect('asset.type', 'assetType')
-      .addSelect('ei.orientation', 'orientation')
-      .addSelect('ei."lensModel"', 'lensModel')
-      .addSelect('ei.make', 'make')
-      .addSelect('ei.model', 'model')
-      .addSelect('ei.city', 'city')
-      .addSelect('ei.state', 'state')
-      .addSelect('ei.country', 'country')
-      .distinctOn(['si.tags'])
-      .getRawMany();
-  }
-
-  getDetectedObjectsByUserId(userId: string): Promise<CuratedObjectsResponseDto[]> {
-    return this.assetRepository.query(
-      `
-        SELECT DISTINCT ON (unnest(si.objects)) a.id, unnest(si.objects) as "object", a."previewPath" AS "resizePath", a."deviceAssetId", a."deviceId"
-        FROM assets a
-        LEFT JOIN smart_info si ON a.id = si."assetId"
-        WHERE a."ownerId" = $1
-        AND a."isVisible" = true
-        AND si.objects IS NOT NULL
-      `,
-      [userId],
-    );
-  }
-
-  getLocationsByUserId(userId: string): Promise<CuratedLocationsResponseDto[]> {
-    return this.assetRepository.query(
-      `
-        SELECT DISTINCT ON (e.city) a.id, e.city, a."previewPath" AS "resizePath", a."deviceAssetId", a."deviceId"
-        FROM assets a
-        LEFT JOIN exif e ON a.id = e."assetId"
-        WHERE a."ownerId" = $1
-        AND a."isVisible" = true
-        AND e.city IS NOT NULL
-        AND a.type = 'IMAGE';
-      `,
-      [userId],
-    );
-  }
-
   get(id: string): Promise<AssetEntity | null> {
     return this.assetRepository.findOne({
       where: { id },
diff --git a/server/src/services/asset-v1.service.spec.ts b/server/src/services/asset-v1.service.spec.ts
index bc088cb30b..40211ee40a 100644
--- a/server/src/services/asset-v1.service.spec.ts
+++ b/server/src/services/asset-v1.service.spec.ts
@@ -76,9 +76,6 @@ describe('AssetService', () => {
     assetRepositoryMockV1 = {
       get: vitest.fn(),
       getAllByUserId: vitest.fn(),
-      getDetectedObjectsByUserId: vitest.fn(),
-      getLocationsByUserId: vitest.fn(),
-      getSearchPropertiesByUserId: vitest.fn(),
       getAssetsByChecksums: vitest.fn(),
       getExistingAssets: vitest.fn(),
       getByOriginalPath: vitest.fn(),
diff --git a/server/src/services/asset-v1.service.ts b/server/src/services/asset-v1.service.ts
index 61fe5bd80b..e7affe1073 100644
--- a/server/src/services/asset-v1.service.ts
+++ b/server/src/services/asset-v1.service.ts
@@ -13,8 +13,6 @@ import {
   AssetRejectReason,
   AssetUploadAction,
   CheckExistingAssetsResponseDto,
-  CuratedLocationsResponseDto,
-  CuratedObjectsResponseDto,
 } from 'src/dtos/asset-v1-response.dto';
 import {
   AssetBulkUploadCheckDto,
@@ -156,48 +154,6 @@ export class AssetServiceV1 {
     });
   }
 
-  async getAssetSearchTerm(auth: AuthDto): Promise<string[]> {
-    const possibleSearchTerm = new Set<string>();
-
-    const rows = await this.assetRepositoryV1.getSearchPropertiesByUserId(auth.user.id);
-
-    for (const row of rows) {
-      // tags
-      row.tags?.map((tag: string) => possibleSearchTerm.add(tag?.toLowerCase()));
-
-      // objects
-      row.objects?.map((object: string) => possibleSearchTerm.add(object?.toLowerCase()));
-
-      // asset's tyoe
-      possibleSearchTerm.add(row.assetType?.toLowerCase() || '');
-
-      // image orientation
-      possibleSearchTerm.add(row.orientation?.toLowerCase() || '');
-
-      // Lens model
-      possibleSearchTerm.add(row.lensModel?.toLowerCase() || '');
-
-      // Make and model
-      possibleSearchTerm.add(row.make?.toLowerCase() || '');
-      possibleSearchTerm.add(row.model?.toLowerCase() || '');
-
-      // Location
-      possibleSearchTerm.add(row.city?.toLowerCase() || '');
-      possibleSearchTerm.add(row.state?.toLowerCase() || '');
-      possibleSearchTerm.add(row.country?.toLowerCase() || '');
-    }
-
-    return [...possibleSearchTerm].filter((x) => x != null && x != '');
-  }
-
-  async getCuratedLocation(auth: AuthDto): Promise<CuratedLocationsResponseDto[]> {
-    return this.assetRepositoryV1.getLocationsByUserId(auth.user.id);
-  }
-
-  async getCuratedObject(auth: AuthDto): Promise<CuratedObjectsResponseDto[]> {
-    return this.assetRepositoryV1.getDetectedObjectsByUserId(auth.user.id);
-  }
-
   async checkExistingAssets(
     auth: AuthDto,
     checkExistingAssetsDto: CheckExistingAssetsDto,