From eb4d576607a6f4df8e7d429edee2a772c47053fe Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Fri, 29 Aug 2025 10:32:31 +0530 Subject: [PATCH] image acces api : GWM --- approve.png | Bin 0 -> 969 bytes main.go | 28 +++++++++++++++++++++++++++- pb_data/data.db-shm | Bin 0 -> 32768 bytes pb_data/data.db-wal | 0 pb_data/logs.db-shm | Bin 0 -> 32768 bytes pb_data/logs.db-wal | Bin 0 -> 61832 bytes pb_public/approve.png | Bin 0 -> 969 bytes pb_public/reject.png | Bin 0 -> 970 bytes reject.png | Bin 0 -> 970 bytes 9 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 approve.png create mode 100755 pb_data/data.db-shm create mode 100755 pb_data/data.db-wal create mode 100644 pb_data/logs.db-shm create mode 100644 pb_data/logs.db-wal create mode 100644 pb_public/approve.png create mode 100644 pb_public/reject.png create mode 100644 reject.png diff --git a/approve.png b/approve.png new file mode 100644 index 0000000000000000000000000000000000000000..c800e6612079d062724c5e4779eab83e76c4d260 GIT binary patch literal 969 zcmV;)12+7LP)@~0drDELIAGL9O(c600d`2O+f$vv5yPi5bEeeRp9-ZNK6hoF9snWgrf`aRf0 zbRP8hpHv!V#_Y_6Akjy#8L5Ax+wYQ58#1^?_#q%saC6(qJ4J{+Zc8iKMhvtx5p2{I zW7kaXhQ`81h{FLRmszI$#@gbD{bQ5!6wJT_Ed=2ASUWUGjSg`IfZrN2HlWL%g&BbUai8X=?l^mbM_MRwpLFQ7bu@u|poC%5Qds>YXXg1o=CE^g;K*jWj<&oKvm zK>sAX$$Gvx{jDeemnydYQIyBCHqutatTvEc5f2B$Y5Hk2hX?O`KmWVw?CIZ5r zHC={|jXTioP@dAsD>@|zSv?{|%EzQ>Q7J-JSCd4FCPYa>j?QwVkpEuUmL_ENvZVYk z+@$4)`@OiO`hvz_y(GKjqS(KE4NW>uXbtQnW^NW;$T)p~< zW`^;B@hh#)kML2>Y{UYDjF0JC1K~rr>cj$s@($e`WufEIJ?b5g9s@p%ucIKG`Y6nE zkZsV>qd@%1!4U-y5)i*lGwuL8VoV@@ImBG-7*&5qzszD}fYO&kJmUw%aj^t<)=?AX z#?xUYXk%q0hHsxuf5idAQ7Z+B+G!g4hsYV_Au)H(iGGQl@L2TB5!z=zuA9CCEbqianetKt00000NkvXXu0mjf72?5r literal 0 HcmV?d00001 diff --git a/main.go b/main.go index 82817f3..c0a9f4d 100755 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( "net/http" "net/mail" "os" - + "path/filepath" "pocketbase/utils" "strings" "time" @@ -587,6 +587,32 @@ func main() { app.OnBeforeServe().Add(func(e *core.ServeEvent) error { + e.Router.GET("/api/getImagePath", func(c echo.Context) error { + + fileName := c.QueryParam("file") + if fileName == "" { + return c.JSON(http.StatusBadRequest, map[string]string{ + "error": "missing file parameter", + }) + } + + // Static files folder + staticPath := "./pb_public" + fullPath := filepath.Join(staticPath, fileName) + + // Check if file exists + if _, err := os.Stat(fullPath); os.IsNotExist(err) { + return c.JSON(http.StatusNotFound, map[string]string{ + "error": "file not found", + }) + } + + // Serve the file directly (browser will show the image) + return c.File(fullPath) + }) + + // e.Router.Static("/static", "./pb_public") + e.Router.GET("/pw/auth/confirm-password-reset/:token", func(c echo.Context) error { return c.File("pb_public/confirm_password_reset.html") }) diff --git a/pb_data/data.db-shm b/pb_data/data.db-shm new file mode 100755 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 zcmeIuAr62r3HkN5r0?(4G1w&i(QZ4RrqV^#d|e)D$y?)7f& z&+G3z(u?#XgUB%Q=viDf1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0tEiGKo(6~ zbQwaR2}S literal 0 HcmV?d00001 diff --git a/pb_data/logs.db-wal b/pb_data/logs.db-wal new file mode 100644 index 0000000000000000000000000000000000000000..f564f68d8bbb3401a66d6fa4d5b9d22ddd5a1c56 GIT binary patch literal 61832 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 literal 0 HcmV?d00001 diff --git a/pb_public/approve.png b/pb_public/approve.png new file mode 100644 index 0000000000000000000000000000000000000000..c800e6612079d062724c5e4779eab83e76c4d260 GIT binary patch literal 969 zcmV;)12+7LP)@~0drDELIAGL9O(c600d`2O+f$vv5yPi5bEeeRp9-ZNK6hoF9snWgrf`aRf0 zbRP8hpHv!V#_Y_6Akjy#8L5Ax+wYQ58#1^?_#q%saC6(qJ4J{+Zc8iKMhvtx5p2{I zW7kaXhQ`81h{FLRmszI$#@gbD{bQ5!6wJT_Ed=2ASUWUGjSg`IfZrN2HlWL%g&BbUai8X=?l^mbM_MRwpLFQ7bu@u|poC%5Qds>YXXg1o=CE^g;K*jWj<&oKvm zK>sAX$$Gvx{jDeemnydYQIyBCHqutatTvEc5f2B$Y5Hk2hX?O`KmWVw?CIZ5r zHC={|jXTioP@dAsD>@|zSv?{|%EzQ>Q7J-JSCd4FCPYa>j?QwVkpEuUmL_ENvZVYk z+@$4)`@OiO`hvz_y(GKjqS(KE4NW>uXbtQnW^NW;$T)p~< zW`^;B@hh#)kML2>Y{UYDjF0JC1K~rr>cj$s@($e`WufEIJ?b5g9s@p%ucIKG`Y6nE zkZsV>qd@%1!4U-y5)i*lGwuL8VoV@@ImBG-7*&5qzszD}fYO&kJmUw%aj^t<)=?AX z#?xUYXk%q0hHsxuf5idAQ7Z+B+G!g4hsYV_Au)H(iGGQl@L2TB5!z=zuA9CCEbqianetKt00000NkvXXu0mjf72?5r literal 0 HcmV?d00001 diff --git a/pb_public/reject.png b/pb_public/reject.png new file mode 100644 index 0000000000000000000000000000000000000000..c5165e6b537987ab29fad3263feb3de750b52e5f GIT binary patch literal 970 zcmV;*12z1KP)@~0drDELIAGL9O(c600d`2O+f$vv5yPXg=2UZ7i2T3X*9r#iK>A>#b9Sq!@4lQ3H$!})Io`Gd~ zu)qp-M+*SJLH)E!zAMrH_aphhe=BcF{^{S{Zudsd1VyA(a#31a(XNXCU!(&Y4QN10Ft^tyOaat>5`kXb8#=yTmX)S7vW+GxnEG3{zU$gIJApv_+C z|D@W`BW6d=2LUsK`@;5*N`BRxwV1&J{F{J4#l>w0?;0RB-=_Ey|u*=%bzjp2As>i(#p^_J;a)vM)sbmf2ED!AtsYO1|~Xq8bYIf zal|euiVdUK(~|)F8f#-pvUrMD0QjXLLJD2>C~N?j?LMuas^I2S9Oy}bY3wPuO5B;$ zBpNuuY_U@Rr%aUSd-~hDl?JE6Z%PEFKAubr(}?Asp(`BSKGw11Pz3xT9VG@n1e25q zOxMy;3zL1@&L@R4#4v@;bTg;-5O zw!JSCLO!;baW;jBp)w(B@8}~X9V4?o!~(>s60)`$A1N2J!=glD9nA#HW)UYvl@KA; zQ6-EU{YJ|Jg=G~iPY=%;?sq~Q*&!8U$LoI5G1kxwBoeAZ3{K!ME^wps;@g@4p$-L+ zM}oc9N9yVrDLs5oK0>29Rf!>R__|?|C}{i?BeVoD1j3|AK#Ppc0tJymEn@Hmv|J%F zLM8CmXw=M^sA>00q1kWq6;Yqr?SNJUuMdf5;t4%`|6bd{+_={QRMEc zUua|KJ}~`CyXS}hDQ7cc9zwd0=}QCtN4M39c?jh_x{Vt1J&#_n-t*|-=|lNF3j8se z#5NDv8Xe6A!YKy>D&{vJoJ~{qfE_T_Ae8Ks=m9#~Is)@~0drDELIAGL9O(c600d`2O+f$vv5yPXg=2UZ7i2T3X*9r#iK>A>#b9Sq!@4lQ3H$!})Io`Gd~ zu)qp-M+*SJLH)E!zAMrH_aphhe=BcF{^{S{Zudsd1VyA(a#31a(XNXCU!(&Y4QN10Ft^tyOaat>5`kXb8#=yTmX)S7vW+GxnEG3{zU$gIJApv_+C z|D@W`BW6d=2LUsK`@;5*N`BRxwV1&J{F{J4#l>w0?;0RB-=_Ey|u*=%bzjp2As>i(#p^_J;a)vM)sbmf2ED!AtsYO1|~Xq8bYIf zal|euiVdUK(~|)F8f#-pvUrMD0QjXLLJD2>C~N?j?LMuas^I2S9Oy}bY3wPuO5B;$ zBpNuuY_U@Rr%aUSd-~hDl?JE6Z%PEFKAubr(}?Asp(`BSKGw11Pz3xT9VG@n1e25q zOxMy;3zL1@&L@R4#4v@;bTg;-5O zw!JSCLO!;baW;jBp)w(B@8}~X9V4?o!~(>s60)`$A1N2J!=glD9nA#HW)UYvl@KA; zQ6-EU{YJ|Jg=G~iPY=%;?sq~Q*&!8U$LoI5G1kxwBoeAZ3{K!ME^wps;@g@4p$-L+ zM}oc9N9yVrDLs5oK0>29Rf!>R__|?|C}{i?BeVoD1j3|AK#Ppc0tJymEn@Hmv|J%F zLM8CmXw=M^sA>00q1kWq6;Yqr?SNJUuMdf5;t4%`|6bd{+_={QRMEc zUua|KJ}~`CyXS}hDQ7cc9zwd0=}QCtN4M39c?jh_x{Vt1J&#_n-t*|-=|lNF3j8se z#5NDv8Xe6A!YKy>D&{vJoJ~{qfE_T_Ae8Ks=m9#~Is)