@phosart/devtool 0.2.34 → 0.2.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/{CCpTyc2V.js → 6A-1YxbO.js} +2 -2
- package/build/client/_app/immutable/chunks/6A-1YxbO.js.br +0 -0
- package/build/client/_app/immutable/chunks/6A-1YxbO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B0wafx7r.js → DIN7OHhp.js} +1 -1
- package/build/client/_app/immutable/chunks/DIN7OHhp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIN7OHhp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{IqRq0SNw.js → DNNtt9F0.js} +1 -1
- package/build/client/_app/immutable/chunks/DNNtt9F0.js.br +0 -0
- package/build/client/_app/immutable/chunks/DNNtt9F0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BEZ4BwEV.js → UNrzuVQp.js} +1 -1
- package/build/client/_app/immutable/chunks/UNrzuVQp.js.br +1 -0
- package/build/client/_app/immutable/chunks/UNrzuVQp.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.PoJNINhw.js → app.CYlT5fhH.js} +2 -2
- package/build/client/_app/immutable/entry/app.CYlT5fhH.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CYlT5fhH.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Dg4PVBdr.js +1 -0
- package/build/client/_app/immutable/entry/start.Dg4PVBdr.js.br +2 -0
- package/build/client/_app/immutable/entry/start.Dg4PVBdr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.DCzg76Qe.js → 0.CJnYDRau.js} +1 -1
- package/build/client/_app/immutable/nodes/0.CJnYDRau.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CJnYDRau.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.ClgiyYll.js → 1.CN2FJ_rB.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CN2FJ_rB.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CN2FJ_rB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.C7teRzrj.js → 2.CatNs93x.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CatNs93x.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CatNs93x.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.sKteAMND.js → 3.ACYrA_cl.js} +1 -1
- package/build/client/_app/immutable/nodes/3.ACYrA_cl.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.ACYrA_cl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.CPQMLUHZ.js → 4.Lj5NPz8d.js} +1 -1
- package/build/client/_app/immutable/nodes/4.Lj5NPz8d.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Lj5NPz8d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.N_zF592T.js → 5.Cnbwt0Yf.js} +1 -1
- package/build/client/_app/immutable/nodes/5.Cnbwt0Yf.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Cnbwt0Yf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DenFMpHj.js +1 -0
- package/build/client/_app/immutable/nodes/6.DenFMpHj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DenFMpHj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.BJFxlTn2.js → 7.Cju636h3.js} +1 -1
- package/build/client/_app/immutable/nodes/7.Cju636h3.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Cju636h3.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-DhRNco_L.js → 0-Db-3CVz6.js} +25 -4
- package/build/server/chunks/0-Db-3CVz6.js.map +1 -0
- package/build/server/chunks/{1-BKryxqI3.js → 1-DuB9Tb7M.js} +2 -2
- package/build/server/chunks/{1-BKryxqI3.js.map → 1-DuB9Tb7M.js.map} +1 -1
- package/build/server/chunks/{2-DhpJoOvO.js → 2-DWuX-HYe.js} +32 -10
- package/build/server/chunks/2-DWuX-HYe.js.map +1 -0
- package/build/server/chunks/{3-CJrNENYa.js → 3-Dk00WOvb.js} +12 -3
- package/build/server/chunks/3-Dk00WOvb.js.map +1 -0
- package/build/server/chunks/{4-C67qM_o9.js → 4-Diy7Za7p.js} +21 -4
- package/build/server/chunks/4-Diy7Za7p.js.map +1 -0
- package/build/server/chunks/{5-Pn0OLSS6.js → 5-ALUQvS-h.js} +28 -3
- package/build/server/chunks/5-ALUQvS-h.js.map +1 -0
- package/build/server/chunks/{6-CV402NdJ.js → 6-WSd-31h6.js} +9 -6
- package/build/server/chunks/6-WSd-31h6.js.map +1 -0
- package/build/server/chunks/{7-CoIOnWs-.js → 7-BIDGS9J9.js} +28 -6
- package/build/server/chunks/7-BIDGS9J9.js.map +1 -0
- package/build/server/chunks/Artist-DO_o4cdV.js +19 -0
- package/build/server/chunks/Artist-DO_o4cdV.js.map +1 -0
- package/build/server/chunks/{TextBox-C3S0hJ__.js → TextBox-D09ycG7i.js} +3 -3
- package/build/server/chunks/TextBox-D09ycG7i.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BohS7rrY.js → _page.svelte-CX3ypdy4.js} +25 -16
- package/build/server/chunks/_page.svelte-CX3ypdy4.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CSUOqbhb.js → _page.svelte-Cx14LXUf.js} +31 -6
- package/build/server/chunks/_page.svelte-Cx14LXUf.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BmTpqcII.js → _page.svelte-DEoZetlD.js} +4 -4
- package/build/server/chunks/{_page.svelte-BmTpqcII.js.map → _page.svelte-DEoZetlD.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DU5g6zzB.js → _page.svelte-DqMBIEYR.js} +2 -2
- package/build/server/chunks/_page.svelte-DqMBIEYR.js.map +1 -0
- package/build/server/chunks/{_server.ts-HN2ayIwi.js → _server.ts-2Ft5JVtj.js} +8 -4
- package/build/server/chunks/_server.ts-2Ft5JVtj.js.map +1 -0
- package/build/server/chunks/{_server.ts-oLkwtpyY.js → _server.ts-B_dOpyal.js} +24 -5
- package/build/server/chunks/_server.ts-B_dOpyal.js.map +1 -0
- package/build/server/chunks/{_server.ts-DbamEmru.js → _server.ts-Bh3p907P.js} +7 -6
- package/build/server/chunks/_server.ts-Bh3p907P.js.map +1 -0
- package/build/server/chunks/{_server.ts-CwlbssxP.js → _server.ts-C5MDZCgG.js} +33 -15
- package/build/server/chunks/_server.ts-C5MDZCgG.js.map +1 -0
- package/build/server/chunks/{_server.ts-DMGTsh97.js → _server.ts-COposMXg.js} +21 -8
- package/build/server/chunks/_server.ts-COposMXg.js.map +1 -0
- package/build/server/chunks/{_server.ts-BrqT_2HC.js → _server.ts-CS23SeUt.js} +11 -4
- package/build/server/chunks/_server.ts-CS23SeUt.js.map +1 -0
- package/build/server/chunks/{_server.ts-C2U0cCog.js → _server.ts-CrtaC0hY.js} +27 -12
- package/build/server/chunks/_server.ts-CrtaC0hY.js.map +1 -0
- package/build/server/chunks/_server.ts-D_j0gH9R.js +41 -0
- package/build/server/chunks/_server.ts-D_j0gH9R.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dql5jGEn.js → _server.ts-DfjuHXS5.js} +10 -2
- package/build/server/chunks/_server.ts-DfjuHXS5.js.map +1 -0
- package/build/server/chunks/{_server.ts-D8TszUMI.js → _server.ts-Dqv7yDcz.js} +11 -4
- package/build/server/chunks/{_server.ts-D8TszUMI.js.map → _server.ts-Dqv7yDcz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co_H4e3-.js → _server.ts-DxeSnWDg.js} +6 -5
- package/build/server/chunks/_server.ts-DxeSnWDg.js.map +1 -0
- package/build/server/chunks/{_server.ts-DY6A2fS3.js → _server.ts-EAlB0_5W.js} +19 -4
- package/build/server/chunks/_server.ts-EAlB0_5W.js.map +1 -0
- package/build/server/chunks/{_server.ts-DCWa9uDh.js → _server.ts-PEmL6kUs.js} +12 -11
- package/build/server/chunks/_server.ts-PEmL6kUs.js.map +1 -0
- package/build/server/chunks/{_server.ts-oUZBPZtX.js → _server.ts-xRxSzZ-g.js} +7 -6
- package/build/server/chunks/_server.ts-xRxSzZ-g.js.map +1 -0
- package/build/server/chunks/artist2-CxkL2s89.js +27 -0
- package/build/server/chunks/artist2-CxkL2s89.js.map +1 -0
- package/build/server/chunks/{cache-DMIdk3dZ.js → cache-BNAVbmcu.js} +3 -3
- package/build/server/chunks/cache-BNAVbmcu.js.map +1 -0
- package/build/server/chunks/character-BiUPL14p.js +75 -0
- package/build/server/chunks/character-BiUPL14p.js.map +1 -0
- package/build/server/chunks/directories-MyCzDoxa.js +41 -0
- package/build/server/chunks/directories-MyCzDoxa.js.map +1 -0
- package/build/server/chunks/{fileutil-DypIDpac.js → fileutil-CQgueTPh.js} +7 -7
- package/build/server/chunks/fileutil-CQgueTPh.js.map +1 -0
- package/build/server/chunks/gallery-DaCm2MYV.js +6817 -0
- package/build/server/chunks/gallery-DaCm2MYV.js.map +1 -0
- package/build/server/chunks/{galleryutil-BkuoU13t.js → galleryutil-BJIRuqer.js} +4 -4
- package/build/server/chunks/galleryutil-BJIRuqer.js.map +1 -0
- package/build/server/chunks/imageprocess-CXFT4aVl.js +278 -0
- package/build/server/chunks/imageprocess-CXFT4aVl.js.map +1 -0
- package/build/server/chunks/pack-Bk3t1T7h.js +30 -0
- package/build/server/chunks/pack-Bk3t1T7h.js.map +1 -0
- package/build/server/chunks/paths-Bv7gDCfT.js +11 -0
- package/build/server/chunks/paths-Bv7gDCfT.js.map +1 -0
- package/build/server/chunks/schema-Xy3yc0Rx.js +178 -0
- package/build/server/chunks/schema-Xy3yc0Rx.js.map +1 -0
- package/build/server/chunks/util-FQbl4xCz.js +69 -0
- package/build/server/chunks/util-FQbl4xCz.js.map +1 -0
- package/build/server/chunks/{util-tN3TRq5K.js → util3-tN3TRq5K.js} +1 -1
- package/build/server/chunks/util3-tN3TRq5K.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +23 -23
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/B0wafx7r.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0wafx7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEZ4BwEV.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEZ4BwEV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCpTyc2V.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCpTyc2V.js.gz +0 -0
- package/build/client/_app/immutable/chunks/IqRq0SNw.js.br +0 -0
- package/build/client/_app/immutable/chunks/IqRq0SNw.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.PoJNINhw.js.br +0 -0
- package/build/client/_app/immutable/entry/app.PoJNINhw.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B4uoplFo.js +0 -1
- package/build/client/_app/immutable/entry/start.B4uoplFo.js.br +0 -2
- package/build/client/_app/immutable/entry/start.B4uoplFo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DCzg76Qe.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DCzg76Qe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.ClgiyYll.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ClgiyYll.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C7teRzrj.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C7teRzrj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.sKteAMND.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.sKteAMND.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CPQMLUHZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CPQMLUHZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.N_zF592T.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.N_zF592T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js +0 -1
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BJFxlTn2.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BJFxlTn2.js.gz +0 -0
- package/build/server/chunks/0-DhRNco_L.js.map +0 -1
- package/build/server/chunks/2-DhpJoOvO.js.map +0 -1
- package/build/server/chunks/3-CJrNENYa.js.map +0 -1
- package/build/server/chunks/4-C67qM_o9.js.map +0 -1
- package/build/server/chunks/5-Pn0OLSS6.js.map +0 -1
- package/build/server/chunks/6-CV402NdJ.js.map +0 -1
- package/build/server/chunks/7-CoIOnWs-.js.map +0 -1
- package/build/server/chunks/TextBox-C3S0hJ__.js.map +0 -1
- package/build/server/chunks/_page.svelte-BohS7rrY.js.map +0 -1
- package/build/server/chunks/_page.svelte-CSUOqbhb.js.map +0 -1
- package/build/server/chunks/_page.svelte-DU5g6zzB.js.map +0 -1
- package/build/server/chunks/_server.ts-BKog1rxr.js +0 -15
- package/build/server/chunks/_server.ts-BKog1rxr.js.map +0 -1
- package/build/server/chunks/_server.ts-BrqT_2HC.js.map +0 -1
- package/build/server/chunks/_server.ts-C2U0cCog.js.map +0 -1
- package/build/server/chunks/_server.ts-Co_H4e3-.js.map +0 -1
- package/build/server/chunks/_server.ts-CwlbssxP.js.map +0 -1
- package/build/server/chunks/_server.ts-DCWa9uDh.js.map +0 -1
- package/build/server/chunks/_server.ts-DMGTsh97.js.map +0 -1
- package/build/server/chunks/_server.ts-DY6A2fS3.js.map +0 -1
- package/build/server/chunks/_server.ts-DbamEmru.js.map +0 -1
- package/build/server/chunks/_server.ts-Dql5jGEn.js.map +0 -1
- package/build/server/chunks/_server.ts-HN2ayIwi.js.map +0 -1
- package/build/server/chunks/_server.ts-oLkwtpyY.js.map +0 -1
- package/build/server/chunks/_server.ts-oUZBPZtX.js.map +0 -1
- package/build/server/chunks/cache-DMIdk3dZ.js.map +0 -1
- package/build/server/chunks/fileutil-DypIDpac.js.map +0 -1
- package/build/server/chunks/galleryutil-BkuoU13t.js.map +0 -1
- package/build/server/chunks/paths-COyPzvhX.js +0 -11
- package/build/server/chunks/paths-COyPzvhX.js.map +0 -1
- package/build/server/chunks/util-tN3TRq5K.js.map +0 -1
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from 'node:path';
|
|
1
|
+
import path__default__default from 'node:path';
|
|
3
2
|
import { j as json } from './index-CoD1IJuy.js';
|
|
4
3
|
import { stringify } from 'yaml';
|
|
5
4
|
import { writeFile } from 'node:fs/promises';
|
|
6
5
|
import z from 'zod';
|
|
7
6
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
7
|
+
import { A as Artist } from './Artist-DO_o4cdV.js';
|
|
8
|
+
import { c as clearCache } from './util-FQbl4xCz.js';
|
|
9
|
+
import { $ as $DATA } from './directories-MyCzDoxa.js';
|
|
8
10
|
import 'tslog';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:fs';
|
|
9
13
|
|
|
10
14
|
const logger = createLogger();
|
|
11
15
|
const Artists = z.record(z.string(), Artist);
|
|
@@ -18,7 +22,7 @@ const POST = async ({ request }) => {
|
|
|
18
22
|
return json({ ok: true });
|
|
19
23
|
};
|
|
20
24
|
async function saveArtists(newArtists) {
|
|
21
|
-
const galleryFullPath =
|
|
25
|
+
const galleryFullPath = path__default__default.join($DATA(), "artists.yaml");
|
|
22
26
|
logger.debug("Writing artists yaml @", galleryFullPath, "...");
|
|
23
27
|
const yaml = stringify(newArtists, {
|
|
24
28
|
blockQuote: true,
|
|
@@ -32,4 +36,4 @@ async function saveArtists(newArtists) {
|
|
|
32
36
|
}
|
|
33
37
|
|
|
34
38
|
export { POST };
|
|
35
|
-
//# sourceMappingURL=_server.ts-
|
|
39
|
+
//# sourceMappingURL=_server.ts-2Ft5JVtj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-2Ft5JVtj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/artists/save/_server.ts.js"],"sourcesContent":["import path__default from \"node:path\";\nimport { json } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { writeFile } from \"node:fs/promises\";\nimport z from \"zod\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { A as Artist } from \"../../../../../chunks/Artist.js\";\nimport { c as clearCache } from \"../../../../../chunks/util.js\";\nimport { $ as $DATA } from \"../../../../../chunks/directories.js\";\nconst logger = createLogger();\nconst Artists = z.record(z.string(), Artist);\nconst POST = async ({ request }) => {\n const artists = await Artists.parseAsync(await request.json());\n logger.info(\"Saving artists:\", Object.keys(artists).length, \"entries...\");\n await saveArtists(artists);\n clearCache();\n logger.info(\"Saved artists\");\n return json({ ok: true });\n};\nasync function saveArtists(newArtists) {\n const galleryFullPath = path__default.join($DATA(), \"artists.yaml\");\n logger.debug(\"Writing artists yaml @\", galleryFullPath, \"...\");\n const yaml = stringify(newArtists, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(galleryFullPath, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote artists yaml @\", galleryFullPath);\n}\nexport {\n POST\n};\n"],"names":["path__default"],"mappings":";;;;;;;;;;;;;AASA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC;AACvC,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AAChE,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC;AAC3E,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC;AAC5B,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;AAC9B,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACA,eAAe,WAAW,CAAC,UAAU,EAAE;AACvC,EAAE,MAAM,eAAe,GAAGA,sBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC;AACrE,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,eAAe,EAAE,KAAK,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE;AACrC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,iBAAiB,EAAE,OAAO;AAC9B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/D,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,eAAe,CAAC;AACvD;;;;"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { open } from 'node:fs/promises';
|
|
2
|
-
import { a as asWebStream } from './fileutil-
|
|
3
|
-
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-
|
|
2
|
+
import { a as asWebStream } from './fileutil-CQgueTPh.js';
|
|
3
|
+
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-BJIRuqer.js';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
-
import { rawGalleries, $ART } from 'phosart-common/server';
|
|
6
5
|
import { e as error } from './index-CoD1IJuy.js';
|
|
7
6
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
7
|
+
import { r as rawGalleries } from './gallery-DaCm2MYV.js';
|
|
8
|
+
import { $ as $DATA } from './directories-MyCzDoxa.js';
|
|
8
9
|
import 'node:stream';
|
|
9
10
|
import 'tslog';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'fs';
|
|
13
|
+
import 'node:fs';
|
|
14
|
+
import 'node:events';
|
|
15
|
+
import 'node:string_decoder';
|
|
16
|
+
import 'yaml';
|
|
17
|
+
import 'zod';
|
|
18
|
+
import './imageprocess-CXFT4aVl.js';
|
|
19
|
+
import 'sharp';
|
|
20
|
+
import './util-FQbl4xCz.js';
|
|
21
|
+
import 'node:crypto';
|
|
22
|
+
import './pack-Bk3t1T7h.js';
|
|
23
|
+
import 'msgpackr';
|
|
24
|
+
import 'node:stream/promises';
|
|
25
|
+
import 'node:zlib';
|
|
26
|
+
import 'sharp-phash';
|
|
27
|
+
import 'async-sema';
|
|
28
|
+
import 'node:os';
|
|
10
29
|
|
|
11
30
|
const logger$1 = createLogger();
|
|
12
31
|
async function getOriginalImagePath(galleryPath, pieceSlug, {
|
|
@@ -48,7 +67,7 @@ async function getOriginalImagePath(galleryPath, pieceSlug, {
|
|
|
48
67
|
logger$1.warn("Resource not found for original image @", galleryPath, "piece", pieceSlug);
|
|
49
68
|
return error(404, "resourceUrl not found pt 2.");
|
|
50
69
|
}
|
|
51
|
-
const fullPath = join($
|
|
70
|
+
const fullPath = join($DATA(), getGalleryDir(galleryPath), resourceUrl);
|
|
52
71
|
logger$1.silly("Resolved original image @", fullPath);
|
|
53
72
|
return fullPath;
|
|
54
73
|
}
|
|
@@ -95,4 +114,4 @@ const GET = async ({ params, url }) => {
|
|
|
95
114
|
};
|
|
96
115
|
|
|
97
116
|
export { GET };
|
|
98
|
-
//# sourceMappingURL=_server.ts-
|
|
117
|
+
//# sourceMappingURL=_server.ts-B_dOpyal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-B_dOpyal.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/_piece_/original-image/_server.ts.js"],"sourcesContent":["import { open } from \"node:fs/promises\";\nimport { a as asWebStream } from \"../../../../../../../chunks/fileutil.js\";\nimport { a as isBaseGallery, g as getGalleryDir, n as normalizeGalleryPath } from \"../../../../../../../chunks/galleryutil.js\";\nimport { join } from \"node:path\";\nimport { error } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nimport { r as rawGalleries } from \"../../../../../../../chunks/gallery.js\";\nimport { $ as $DATA } from \"../../../../../../../chunks/directories.js\";\nconst logger$1 = createLogger();\nasync function getOriginalImagePath(galleryPath, pieceSlug, {\n video,\n thumb,\n alt,\n altIndex\n} = {}) {\n const gallery = (await rawGalleries())[galleryPath];\n if (!isBaseGallery(gallery)) {\n logger$1.warn(\"Gallery not found for original image @\", galleryPath);\n return error(404, \"gallery not found\");\n }\n const piece = gallery.pieces.find((p) => p.slug === pieceSlug);\n if (!piece) {\n logger$1.warn(\"Piece not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"piece not found\");\n }\n const getResource = (resource) => {\n if (!video) {\n return resource.image;\n }\n return (thumb ? resource.video?.thumb ?? resource.video?.full : resource.video?.full) ?? null;\n };\n let resourceUrl = getResource(piece);\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resource not found pt. 1\");\n }\n if (alt || (altIndex ?? -1) >= 0) {\n const altPei = piece?.alts?.find((a) => a.name === alt) ?? piece?.alts?.[altIndex ?? -1];\n if (!altPei) {\n logger$1.warn(\"Alt not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"alt not found\");\n }\n resourceUrl = getResource(altPei);\n }\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resourceUrl not found pt 2.\");\n }\n const fullPath = join($DATA(), getGalleryDir(galleryPath), resourceUrl);\n logger$1.silly(\"Resolved original image @\", fullPath);\n return fullPath;\n}\nconst logger = createLogger();\nconst GET = async ({ params, url }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const pieceSlug = params.piece;\n const video = url.searchParams.get(\"video\") === \"true\";\n const thumb = url.searchParams.get(\"thumb\") === \"true\";\n const alt = url.searchParams.get(\"alt\") ?? void 0;\n let altIndex = -1;\n const altIndexS = url.searchParams.get(\"altIndex\");\n if (altIndexS) {\n try {\n altIndex = parseInt(altIndexS);\n } catch {\n }\n }\n logger.silly(\n \"Fetching original image\",\n \"gallery\",\n galleryPath,\n \"piece\",\n pieceSlug,\n \"video?\",\n video,\n \"thumb?\",\n thumb,\n \"alt?\",\n alt ?? \"none\",\n \"altIndex\",\n altIndex\n );\n const path = await getOriginalImagePath(galleryPath, pieceSlug, { video, thumb, alt, altIndex });\n if (typeof path !== \"string\") {\n return path;\n }\n logger.silly(\"Serving original image @\", path);\n const file = await open(path);\n return new Response(asWebStream(file.createReadStream({ autoClose: true })), {\n status: 200,\n headers: {}\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from 'node:path';
|
|
1
|
+
import path__default__default from 'node:path';
|
|
3
2
|
import { e as error, j as json } from './index-CoD1IJuy.js';
|
|
4
|
-
import { n as normalizeGalleryPath } from './galleryutil-
|
|
3
|
+
import { n as normalizeGalleryPath } from './galleryutil-BJIRuqer.js';
|
|
5
4
|
import { mkdir } from 'node:fs/promises';
|
|
6
5
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
7
|
-
import { r as resolveWithinArt } from './fileutil-
|
|
6
|
+
import { r as resolveWithinArt } from './fileutil-CQgueTPh.js';
|
|
7
|
+
import { $ as $DATA } from './directories-MyCzDoxa.js';
|
|
8
8
|
import 'tslog';
|
|
9
9
|
import 'node:stream';
|
|
10
|
+
import 'node:fs';
|
|
10
11
|
|
|
11
12
|
const logger = createLogger();
|
|
12
13
|
const PATCH = async ({ params }) => {
|
|
13
14
|
const folderPath = normalizeGalleryPath(params.folderpath);
|
|
14
|
-
const fullPath = resolveWithinArt(
|
|
15
|
+
const fullPath = resolveWithinArt(path__default__default.join($DATA(), folderPath));
|
|
15
16
|
if (!fullPath) {
|
|
16
17
|
logger.warn("Refusing to create folder outside art root @", folderPath);
|
|
17
18
|
throw error(400, "invalid folder path");
|
|
@@ -23,4 +24,4 @@ const PATCH = async ({ params }) => {
|
|
|
23
24
|
};
|
|
24
25
|
|
|
25
26
|
export { PATCH };
|
|
26
|
-
//# sourceMappingURL=_server.ts-
|
|
27
|
+
//# sourceMappingURL=_server.ts-Bh3p907P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Bh3p907P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/folder/_...folderpath_/_server.ts.js"],"sourcesContent":["import path__default from \"node:path\";\nimport { error, json } from \"@sveltejs/kit\";\nimport { n as normalizeGalleryPath } from \"../../../../../chunks/galleryutil.js\";\nimport { mkdir } from \"node:fs/promises\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { r as resolveWithinArt } from \"../../../../../chunks/fileutil.js\";\nimport { $ as $DATA } from \"../../../../../chunks/directories.js\";\nconst logger = createLogger();\nconst PATCH = async ({ params }) => {\n const folderPath = normalizeGalleryPath(params.folderpath);\n const fullPath = resolveWithinArt(path__default.join($DATA(), folderPath));\n if (!fullPath) {\n logger.warn(\"Refusing to create folder outside art root @\", folderPath);\n throw error(400, \"invalid folder path\");\n }\n logger.debug(\"Creating folder @\", fullPath, \"...\");\n await mkdir(fullPath, { recursive: true });\n logger.info(\"Created folder @\", fullPath);\n return json({ ok: true });\n};\nexport {\n PATCH\n};\n"],"names":["path__default"],"mappings":";;;;;;;;;;;AAOA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACpC,EAAE,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,gBAAgB,CAACA,sBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5E,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,UAAU,CAAC;AAC3E,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAC3C,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,CAAC;AACpD,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC5C,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AAC3C,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1,13 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from 'node:path';
|
|
1
|
+
import path__default__default from 'node:path';
|
|
3
2
|
import { e as error, j as json } from './index-CoD1IJuy.js';
|
|
4
3
|
import { stringify } from 'yaml';
|
|
5
4
|
import { unlink, writeFile } from 'node:fs/promises';
|
|
6
|
-
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-
|
|
5
|
+
import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-BJIRuqer.js';
|
|
7
6
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
8
|
-
import { r as resolveWithinArt, d as deleteResources } from './fileutil-
|
|
7
|
+
import { r as resolveWithinArt, d as deleteResources } from './fileutil-CQgueTPh.js';
|
|
8
|
+
import { r as rawGalleries, R as RawGallery } from './gallery-DaCm2MYV.js';
|
|
9
|
+
import { c as clearCache } from './util-FQbl4xCz.js';
|
|
10
|
+
import { $ as $DATA } from './directories-MyCzDoxa.js';
|
|
9
11
|
import 'tslog';
|
|
10
12
|
import 'node:stream';
|
|
13
|
+
import 'node:url';
|
|
14
|
+
import 'fs';
|
|
15
|
+
import 'node:fs';
|
|
16
|
+
import 'node:events';
|
|
17
|
+
import 'node:string_decoder';
|
|
18
|
+
import 'zod';
|
|
19
|
+
import './imageprocess-CXFT4aVl.js';
|
|
20
|
+
import 'sharp';
|
|
21
|
+
import './pack-Bk3t1T7h.js';
|
|
22
|
+
import 'msgpackr';
|
|
23
|
+
import 'node:crypto';
|
|
24
|
+
import 'node:stream/promises';
|
|
25
|
+
import 'node:zlib';
|
|
26
|
+
import 'sharp-phash';
|
|
27
|
+
import 'async-sema';
|
|
28
|
+
import 'node:os';
|
|
11
29
|
|
|
12
30
|
const logger = createLogger();
|
|
13
31
|
const POST = async ({ request, params }) => {
|
|
@@ -43,21 +61,21 @@ function getReferences(gcache) {
|
|
|
43
61
|
}
|
|
44
62
|
function getGalleryReferences(galleryPath, gallery) {
|
|
45
63
|
const references = /* @__PURE__ */ new Set();
|
|
46
|
-
const basePath =
|
|
47
|
-
|
|
64
|
+
const basePath = path__default__default.resolve(
|
|
65
|
+
path__default__default.join($DATA(), getGalleryDir(normalizeGalleryPath(galleryPath)))
|
|
48
66
|
);
|
|
49
67
|
for (const piece of gallery.pieces) {
|
|
50
|
-
references.add(
|
|
68
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, piece.image)));
|
|
51
69
|
if (piece.video) {
|
|
52
|
-
references.add(
|
|
53
|
-
references.add(
|
|
70
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, piece.video.full)));
|
|
71
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, piece.video.thumb)));
|
|
54
72
|
}
|
|
55
73
|
if (piece.alts) {
|
|
56
74
|
for (const alt of piece.alts) {
|
|
57
|
-
references.add(
|
|
75
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, alt.image)));
|
|
58
76
|
if (alt.video) {
|
|
59
|
-
references.add(
|
|
60
|
-
references.add(
|
|
77
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, alt.video.full)));
|
|
78
|
+
references.add(path__default__default.resolve(path__default__default.join(basePath, alt.video.thumb)));
|
|
61
79
|
}
|
|
62
80
|
}
|
|
63
81
|
}
|
|
@@ -70,7 +88,7 @@ async function saveGallery(galleryPath, newGallery) {
|
|
|
70
88
|
delete p.slug;
|
|
71
89
|
}
|
|
72
90
|
}
|
|
73
|
-
const galleryFullPath = resolveWithinArt(
|
|
91
|
+
const galleryFullPath = resolveWithinArt(path__default__default.join($DATA(), galleryPath));
|
|
74
92
|
if (!galleryFullPath) {
|
|
75
93
|
logger.warn("Refusing to write gallery outside art root @", galleryPath);
|
|
76
94
|
throw error(400, "invalid gallery path");
|
|
@@ -88,7 +106,7 @@ async function saveGallery(galleryPath, newGallery) {
|
|
|
88
106
|
}
|
|
89
107
|
const DELETE = async ({ params }) => {
|
|
90
108
|
const galleryPath = normalizeGalleryPath(params.gallerypath);
|
|
91
|
-
const gpath = resolveWithinArt(
|
|
109
|
+
const gpath = resolveWithinArt(path__default__default.join($DATA(), galleryPath));
|
|
92
110
|
if (!gpath) {
|
|
93
111
|
logger.warn("Refusing to delete gallery outside art root @", galleryPath);
|
|
94
112
|
throw error(400, "invalid gallery path");
|
|
@@ -112,4 +130,4 @@ const DELETE = async ({ params }) => {
|
|
|
112
130
|
};
|
|
113
131
|
|
|
114
132
|
export { DELETE, POST };
|
|
115
|
-
//# sourceMappingURL=_server.ts-
|
|
133
|
+
//# sourceMappingURL=_server.ts-C5MDZCgG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-C5MDZCgG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/save/_server.ts.js"],"sourcesContent":["import path__default from \"node:path\";\nimport { json, error } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { unlink, writeFile } from \"node:fs/promises\";\nimport { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from \"../../../../../../chunks/galleryutil.js\";\nimport { c as createLogger } from \"../../../../../../chunks/log.js\";\nimport { d as deleteResources, r as resolveWithinArt } from \"../../../../../../chunks/fileutil.js\";\nimport { R as RawGallery, r as rawGalleries } from \"../../../../../../chunks/gallery.js\";\nimport { c as clearCache } from \"../../../../../../chunks/util.js\";\nimport { $ as $DATA } from \"../../../../../../chunks/directories.js\";\nconst logger = createLogger();\nconst POST = async ({ request, params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gallery = await RawGallery.parseAsync(await request.json());\n const oldGalleries = await rawGalleries();\n logger.info(\"Saving gallery @\", galleryPath, \"...\");\n await saveGallery(galleryPath, gallery);\n clearCache();\n logger.info(\"Saved gallery @\", galleryPath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nfunction getDiffedReferences(oldGallery, newGallery) {\n return getReferences(oldGallery).difference(getReferences(newGallery));\n}\nfunction getReferences(gcache) {\n let refs = /* @__PURE__ */ new Set();\n for (const [gpath, gallery] of Object.entries(gcache)) {\n if (!isBaseGallery(gallery)) continue;\n refs = refs.union(getGalleryReferences(gpath, gallery));\n }\n return refs;\n}\nfunction getGalleryReferences(galleryPath, gallery) {\n const references = /* @__PURE__ */ new Set();\n const basePath = path__default.resolve(\n path__default.join($DATA(), getGalleryDir(normalizeGalleryPath(galleryPath)))\n );\n for (const piece of gallery.pieces) {\n references.add(path__default.resolve(path__default.join(basePath, piece.image)));\n if (piece.video) {\n references.add(path__default.resolve(path__default.join(basePath, piece.video.full)));\n references.add(path__default.resolve(path__default.join(basePath, piece.video.thumb)));\n }\n if (piece.alts) {\n for (const alt of piece.alts) {\n references.add(path__default.resolve(path__default.join(basePath, alt.image)));\n if (alt.video) {\n references.add(path__default.resolve(path__default.join(basePath, alt.video.full)));\n references.add(path__default.resolve(path__default.join(basePath, alt.video.thumb)));\n }\n }\n }\n }\n return references;\n}\nasync function saveGallery(galleryPath, newGallery) {\n if (isBaseGallery(newGallery)) {\n for (const p of newGallery.pieces) {\n delete p.slug;\n }\n }\n const galleryFullPath = resolveWithinArt(path__default.join($DATA(), galleryPath));\n if (!galleryFullPath) {\n logger.warn(\"Refusing to write gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n logger.silly(\"Writing gallery yaml @\", galleryFullPath, \"...\");\n const yaml = stringify(newGallery, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(galleryFullPath, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote gallery yaml @\", galleryFullPath);\n}\nconst DELETE = async ({ params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gpath = resolveWithinArt(path__default.join($DATA(), galleryPath));\n if (!gpath) {\n logger.warn(\"Refusing to delete gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n const oldGalleries = await rawGalleries();\n logger.info(\"Deleting gallery @\", gpath, \"...\");\n await unlink(gpath);\n clearCache();\n logger.info(\"Deleted gallery @\", gpath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nexport {\n DELETE,\n POST\n};\n"],"names":["path__default"],"mappings":"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"}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from 'node:path';
|
|
1
|
+
import path__default__default from 'node:path';
|
|
3
2
|
import { j as json } from './index-CoD1IJuy.js';
|
|
4
3
|
import { stringify } from 'yaml';
|
|
5
4
|
import { writeFile } from 'node:fs/promises';
|
|
6
5
|
import z from 'zod';
|
|
7
6
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
8
|
-
import { d as deleteResources } from './fileutil-
|
|
7
|
+
import { d as deleteResources } from './fileutil-CQgueTPh.js';
|
|
8
|
+
import { r as rawCharacters, R as RawCharacter } from './character-BiUPL14p.js';
|
|
9
|
+
import { c as clearCache } from './util-FQbl4xCz.js';
|
|
10
|
+
import { $ as $DATA } from './directories-MyCzDoxa.js';
|
|
9
11
|
import 'tslog';
|
|
10
12
|
import 'node:stream';
|
|
13
|
+
import './imageprocess-CXFT4aVl.js';
|
|
14
|
+
import 'sharp';
|
|
15
|
+
import './pack-Bk3t1T7h.js';
|
|
16
|
+
import 'msgpackr';
|
|
17
|
+
import 'node:crypto';
|
|
18
|
+
import 'node:fs';
|
|
19
|
+
import 'node:stream/promises';
|
|
20
|
+
import 'node:zlib';
|
|
21
|
+
import 'sharp-phash';
|
|
22
|
+
import 'async-sema';
|
|
23
|
+
import 'node:os';
|
|
11
24
|
|
|
12
25
|
const logger = createLogger();
|
|
13
26
|
const ZCharacters = z.array(RawCharacter);
|
|
@@ -26,7 +39,7 @@ const POST = async ({ request }) => {
|
|
|
26
39
|
return json({ ok: true });
|
|
27
40
|
};
|
|
28
41
|
async function saveCharacters(characters) {
|
|
29
|
-
const charactersYaml =
|
|
42
|
+
const charactersYaml = path__default__default.join($DATA(), "characters", "characters.yaml");
|
|
30
43
|
logger.silly("Writing characters yaml @", charactersYaml, "...");
|
|
31
44
|
const yaml = stringify(characters, {
|
|
32
45
|
blockQuote: true,
|
|
@@ -50,13 +63,13 @@ function getAllReferences(characters) {
|
|
|
50
63
|
}
|
|
51
64
|
function getReferences(character) {
|
|
52
65
|
const references = [];
|
|
53
|
-
const basePath =
|
|
54
|
-
references.push(
|
|
66
|
+
const basePath = path__default__default.resolve(path__default__default.join($DATA(), "characters"));
|
|
67
|
+
references.push(path__default__default.resolve(path__default__default.join(basePath, character.picture.image)));
|
|
55
68
|
if (character.thumbnail) {
|
|
56
|
-
references.push(
|
|
69
|
+
references.push(path__default__default.resolve(path__default__default.join(basePath, character.thumbnail.image)));
|
|
57
70
|
}
|
|
58
71
|
return references;
|
|
59
72
|
}
|
|
60
73
|
|
|
61
74
|
export { POST };
|
|
62
|
-
//# sourceMappingURL=_server.ts-
|
|
75
|
+
//# sourceMappingURL=_server.ts-COposMXg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-COposMXg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/save/_server.ts.js"],"sourcesContent":["import path__default from \"node:path\";\nimport { json } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { writeFile } from \"node:fs/promises\";\nimport z from \"zod\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { d as deleteResources } from \"../../../../../chunks/fileutil.js\";\nimport { R as RawCharacter, r as rawCharacters } from \"../../../../../chunks/character.js\";\nimport { c as clearCache } from \"../../../../../chunks/util.js\";\nimport { $ as $DATA } from \"../../../../../chunks/directories.js\";\nconst logger = createLogger();\nconst ZCharacters = z.array(RawCharacter);\nconst POST = async ({ request }) => {\n const characters = await ZCharacters.parseAsync(await request.json());\n const old = await rawCharacters();\n logger.info(\"Saving characters:\", characters.length, \"entries...\");\n await saveCharacters(characters);\n const deletedRefs = getDiffedReferences(Object.values(old), characters);\n if (deletedRefs.size > 0) {\n logger.warn(\"Found\", deletedRefs.size, \"deleted image reference(s). Deleting them\");\n await deleteResources([...deletedRefs]);\n }\n clearCache();\n logger.info(\"Saved characters\");\n return json({ ok: true });\n};\nasync function saveCharacters(characters) {\n const charactersYaml = path__default.join($DATA(), \"characters\", \"characters.yaml\");\n logger.silly(\"Writing characters yaml @\", charactersYaml, \"...\");\n const yaml = stringify(characters, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(charactersYaml, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote characters yaml @\", charactersYaml);\n}\nfunction getDiffedReferences(oldCharacters, newCharacters) {\n const oldRefs = getAllReferences(oldCharacters);\n const newRefs = getAllReferences(newCharacters);\n return oldRefs.difference(newRefs);\n}\nfunction getAllReferences(characters) {\n const refs = /* @__PURE__ */ new Set();\n characters.flatMap(getReferences).forEach(refs.add.bind(refs));\n return refs;\n}\nfunction getReferences(character) {\n const references = [];\n const basePath = path__default.resolve(path__default.join($DATA(), \"characters\"));\n references.push(path__default.resolve(path__default.join(basePath, character.picture.image)));\n if (character.thumbnail) {\n references.push(path__default.resolve(path__default.join(basePath, character.thumbnail.image)));\n }\n return references;\n}\nexport {\n POST\n};\n"],"names":["path__default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE;AACnC,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;AACpE,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC;AAClC,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;AACzE,EAAE,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,2CAA2C,CAAC;AACvF,IAAI,MAAM,eAAe,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAC3C,EAAE;AACF,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACjC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACA,eAAe,cAAc,CAAC,UAAU,EAAE;AAC1C,EAAE,MAAM,cAAc,GAAGA,sBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC;AACrF,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,cAAc,EAAE,KAAK,CAAC;AAClE,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE;AACrC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,iBAAiB,EAAE,OAAO;AAC9B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC9D,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,cAAc,CAAC;AACzD;AACA,SAAS,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE;AAC3D,EAAE,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC;AACjD,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AACpC;AACA,SAAS,gBAAgB,CAAC,UAAU,EAAE;AACtC,EAAE,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACxC,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,EAAE,OAAO,IAAI;AACb;AACA,SAAS,aAAa,CAAC,SAAS,EAAE;AAClC,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,QAAQ,GAAGA,sBAAa,CAAC,OAAO,CAACA,sBAAa,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC;AACnF,EAAE,UAAU,CAAC,IAAI,CAACA,sBAAa,CAAC,OAAO,CAACA,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/F,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE;AAC3B,IAAI,UAAU,CAAC,IAAI,CAACA,sBAAa,CAAC,OAAO,CAACA,sBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACnG,EAAE;AACF,EAAE,OAAO,UAAU;AACnB;;;;"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import { r as readSkipSet, w as writeSkipSet } from './cache-
|
|
2
|
+
import { r as readSkipSet, w as writeSkipSet } from './cache-BNAVbmcu.js';
|
|
3
3
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
4
|
-
import 'phosart-common/server';
|
|
5
4
|
import 'fs/promises';
|
|
6
|
-
import './paths-
|
|
5
|
+
import './paths-Bv7gDCfT.js';
|
|
7
6
|
import 'node:path';
|
|
7
|
+
import './directories-MyCzDoxa.js';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import './pack-Bk3t1T7h.js';
|
|
10
|
+
import 'msgpackr';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:fs/promises';
|
|
13
|
+
import 'node:stream/promises';
|
|
14
|
+
import 'node:zlib';
|
|
8
15
|
import 'tslog';
|
|
9
16
|
|
|
10
17
|
const logger = createLogger();
|
|
@@ -49,4 +56,4 @@ const DELETE = async ({ url }) => {
|
|
|
49
56
|
};
|
|
50
57
|
|
|
51
58
|
export { DELETE, PATCH };
|
|
52
|
-
//# sourceMappingURL=_server.ts-
|
|
59
|
+
//# sourceMappingURL=_server.ts-CS23SeUt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-CS23SeUt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst PATCH = async ({ url, request }) => {\n const body = await request.json();\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\n \"Adding\",\n body.length,\n \"skipset entries for gallery @\",\n gpath,\n \"...\"\n );\n const ss = await readSkipSet();\n ss[gpath] = /* @__PURE__ */ new Set([...body, ...ss[gpath] ?? []]);\n await writeSkipSet(ss);\n logger.info(\"Updated skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.debug(\"Replacing entire skipset...\");\n await writeSkipSet(Object.fromEntries(Object.entries(body).map(([k, v]) => [k, new Set(v)])));\n logger.info(\"Replaced entire skipset\");\n return json({ ok: true });\n};\nconst DELETE = async ({ url }) => {\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\"Removing skipset for gallery @\", gpath, \"...\");\n const ss = await readSkipSet();\n if (gpath in ss) {\n delete ss[gpath];\n }\n await writeSkipSet(ss);\n logger.info(\"Removed skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.info(\"Clearing entire skipset...\");\n await writeSkipSet({});\n logger.info(\"Cleared entire skipset\");\n return json({ ok: true });\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AAC1C,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK;AAChB,MAAM,QAAQ;AACd,MAAM,IAAI,CAAC,MAAM;AACjB,MAAM,+BAA+B;AACrC,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACtE,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC;AAC7C,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,EAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;AACxC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,CAAC;AAChE,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE;AACrB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC;AACtB,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAC3C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACvC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import { j as json, e as error } from './index-CoD1IJuy.js';
|
|
2
|
-
import { a as readCache, b as readPerceptualHashCache, c as writeCache, f as flushPerceptualHashCache } from './cache-
|
|
3
|
-
import
|
|
4
|
-
import crypto from 'node:crypto';
|
|
2
|
+
import { a as readCache, b as readPerceptualHashCache, c as writeCache, f as flushPerceptualHashCache } from './cache-BNAVbmcu.js';
|
|
3
|
+
import crypto__default from 'node:crypto';
|
|
5
4
|
import { readFile, rename } from 'node:fs/promises';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
5
|
+
import path__default__default from 'node:path';
|
|
6
|
+
import sharpPhash from 'sharp-phash';
|
|
8
7
|
import dist from 'sharp-phash/distance.js';
|
|
9
8
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
10
9
|
import { stat, mkdir } from 'fs/promises';
|
|
11
10
|
import { createWriteStream } from 'node:fs';
|
|
12
11
|
import { pipeline } from 'node:stream/promises';
|
|
13
12
|
import https from 'node:https';
|
|
14
|
-
import { a as $CACHEFILE, $ as $IMGDIR } from './paths-
|
|
13
|
+
import { a as $CACHEFILE, $ as $IMGDIR } from './paths-Bv7gDCfT.js';
|
|
15
14
|
import { RateLimit } from 'async-sema';
|
|
16
|
-
import { i as isExtendsGallery } from './galleryutil-
|
|
15
|
+
import { i as isExtendsGallery } from './galleryutil-BJIRuqer.js';
|
|
16
|
+
import { g as galleries, r as rawGalleries } from './gallery-DaCm2MYV.js';
|
|
17
17
|
import { Agent, AtpAgent } from '@atproto/api';
|
|
18
|
+
import './pack-Bk3t1T7h.js';
|
|
19
|
+
import 'msgpackr';
|
|
20
|
+
import 'node:zlib';
|
|
18
21
|
import 'tslog';
|
|
22
|
+
import './directories-MyCzDoxa.js';
|
|
23
|
+
import 'node:url';
|
|
24
|
+
import 'fs';
|
|
25
|
+
import 'node:events';
|
|
26
|
+
import 'node:stream';
|
|
27
|
+
import 'node:string_decoder';
|
|
28
|
+
import 'yaml';
|
|
29
|
+
import 'zod';
|
|
30
|
+
import './imageprocess-CXFT4aVl.js';
|
|
31
|
+
import 'sharp';
|
|
32
|
+
import './util-FQbl4xCz.js';
|
|
33
|
+
import 'node:os';
|
|
19
34
|
|
|
20
35
|
const DEFAULT_AGE_MS = 1e3 * 60 * 10;
|
|
21
36
|
const DEFAULT_MAX_POSTS_FROM_BSKY = 50;
|
|
@@ -95,7 +110,7 @@ const sema = RateLimit(3);
|
|
|
95
110
|
async function downloadAndWrite(h, uri) {
|
|
96
111
|
await sema();
|
|
97
112
|
await mkdir($IMGDIR(), { recursive: true });
|
|
98
|
-
const p =
|
|
113
|
+
const p = path__default__default.join($IMGDIR(), h + ".jpg");
|
|
99
114
|
const tmp = p + ".tmp." + Date.now();
|
|
100
115
|
const ws = createWriteStream(tmp);
|
|
101
116
|
logger$2.debug("Downloading image", h, "@", uri, "to", p, "...");
|
|
@@ -178,8 +193,8 @@ async function getImages(posts, fileset) {
|
|
|
178
193
|
return withImages;
|
|
179
194
|
}
|
|
180
195
|
async function phashImage(h) {
|
|
181
|
-
const p =
|
|
182
|
-
return await
|
|
196
|
+
const p = path__default__default.join($IMGDIR(), h + ".jpg");
|
|
197
|
+
return await sharpPhash(await readFile(p));
|
|
183
198
|
}
|
|
184
199
|
async function getImage(post, fileset) {
|
|
185
200
|
return {
|
|
@@ -217,7 +232,7 @@ async function doPhashImage(uri, fileset) {
|
|
|
217
232
|
return hash;
|
|
218
233
|
}
|
|
219
234
|
function imageId(uri) {
|
|
220
|
-
const h =
|
|
235
|
+
const h = crypto__default.createHash("md5");
|
|
221
236
|
h.update(uri);
|
|
222
237
|
return h.digest("base64url");
|
|
223
238
|
}
|
|
@@ -296,4 +311,4 @@ const POST = async ({ request }) => {
|
|
|
296
311
|
};
|
|
297
312
|
|
|
298
313
|
export { POST };
|
|
299
|
-
//# sourceMappingURL=_server.ts-
|
|
314
|
+
//# sourceMappingURL=_server.ts-CrtaC0hY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-CrtaC0hY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/sync/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { a as readCache, b as readPerceptualHashCache, c as writeCache, f as flushPerceptualHashCache } from \"../../../../../chunks/cache.js\";\nimport crypto__default from \"node:crypto\";\nimport { rename, readFile } from \"node:fs/promises\";\nimport path__default from \"node:path\";\nimport sharpPhash from \"sharp-phash\";\nimport dist from \"sharp-phash/distance.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { mkdir, stat } from \"fs/promises\";\nimport { createWriteStream } from \"node:fs\";\nimport { pipeline } from \"node:stream/promises\";\nimport https from \"node:https\";\nimport { $ as $IMGDIR, a as $CACHEFILE } from \"../../../../../chunks/paths.js\";\nimport { RateLimit } from \"async-sema\";\nimport { i as isExtendsGallery } from \"../../../../../chunks/galleryutil.js\";\nimport { g as galleries, r as rawGalleries } from \"../../../../../chunks/gallery.js\";\nimport { AtpAgent, Agent } from \"@atproto/api\";\nconst DEFAULT_AGE_MS = 1e3 * 60 * 10;\nconst DEFAULT_MAX_POSTS_FROM_BSKY = 50;\nclass PostsClient {\n #agent;\n #backend;\n #maxAgeMs;\n #did;\n #didLogIn = false;\n #config;\n constructor(config) {\n this.#agent = new AtpAgent({\n service: \"https://bsky.social\"\n });\n this.#config = config;\n this.#backend = config.cache?.backend ?? null;\n this.#maxAgeMs = config.cache?.maxAgeMs ?? DEFAULT_AGE_MS;\n this.#did = config.bskyDid;\n }\n async getPosts(limit = DEFAULT_MAX_POSTS_FROM_BSKY) {\n if (!this.#didLogIn) {\n await this.#agent.login({\n identifier: this.#config.bskyUsername,\n password: this.#config.bskyPassword\n });\n }\n let cached = [];\n if (this.#backend) {\n cached = await this.#backend.getCachedPosts(limit);\n const lastCachedAt = await this.#backend.postsLastCachedAt();\n if (Date.now() - lastCachedAt.getTime() < this.#maxAgeMs) {\n return cached;\n }\n }\n const out = [];\n const mostRecent = cached[0] ?? null;\n let cursor = void 0;\n do {\n const resp = await this.#agent.getAuthorFeed({\n actor: this.#did,\n filter: \"posts_no_replies\",\n limit: 50,\n cursor\n });\n cursor = resp.data.cursor ?? void 0;\n console.log(resp.data.feed[0]);\n const next = this.#transformFeed(resp.data.feed);\n const toAdd = next.filter((nx) => !mostRecent || nx.date.localeCompare(mostRecent.date) > 0);\n out.splice(0, 0, ...toAdd);\n if (next.length !== toAdd.length) {\n break;\n }\n } while (cursor);\n if (this.#backend) {\n await this.#backend.cachePosts(out);\n }\n return [...out, ...cached].sort((p1, p2) => p2.date.localeCompare(p1.date)).slice(0, limit);\n }\n #transformFeed(fvps) {\n return fvps.filter((fvp) => fvp.post.author.did === this.#did && fvp.reason?.$type !== \"app.bsky.feed.defs#reasonRepost\" && !fvp.reply && (fvp.post.embed?.$type?.startsWith(\"app.bsky.embed.images#view\") || fvp.post.embed?.$type.startsWith(\"app.bsky.embed.video#view\"))).map((fvp) => ({\n uri: fvp.post.uri,\n date: fvp.post.indexedAt,\n text: fvp.post.record.text,\n likes: fvp.post.likeCount || 0,\n reposts: fvp.post.repostCount || 0,\n image_details: fvp.post.embed?.images?.map((img) => ({\n full_url: img.fullsize,\n alt_text: img.alt,\n thumb_url: img.thumb\n })) ?? [],\n video_thumb_url: fvp.post.embed?.thumbnail ?? null\n }));\n }\n}\nconst logger$2 = createLogger();\nconst sema = RateLimit(3);\nasync function downloadAndWrite(h, uri) {\n await sema();\n await mkdir($IMGDIR(), { recursive: true });\n const p = path__default.join($IMGDIR(), h + \".jpg\");\n const tmp = p + \".tmp.\" + Date.now();\n const ws = createWriteStream(tmp);\n logger$2.debug(\"Downloading image\", h, \"@\", uri, \"to\", p, \"...\");\n await new Promise((resolve, reject) => {\n https.get(uri, (res) => {\n res.on(\"error\", (err) => {\n logger$2.warn(\"Download failed; error:\", err);\n reject(err);\n });\n const pipe = pipeline(res, ws);\n pipe.then((_) => {\n if (res.statusCode && res.statusCode > 299) {\n logger$2.warn(\"Download failed; bluesky responded with status\", res.statusCode);\n reject(res.statusCode);\n } else {\n resolve(_);\n }\n }).catch(reject);\n });\n });\n logger$2.info(\"Finished downloading image\", h, \"@\", uri);\n await rename(tmp, p);\n}\nconst logger$1 = createLogger();\nasync function findMatches(posts) {\n logger$1.debug(\"Finding matches for\", posts.length, \"posts...\");\n const gcache = await galleries();\n const rgcache = await rawGalleries();\n const matches = posts.map((p) => findMatch(p, gcache, rgcache));\n const numMatches = matches.flatMap((p) => p.image_details).flatMap((d) => d.matches).length;\n logger$1.silly(\"Found\", numMatches, \"matches\");\n return matches;\n}\nfunction matchesForPhash(postPhash, galleries2, rawGalleries2, threshold) {\n const matches = [];\n for (const [galpath, gallery] of Object.entries(galleries2)) {\n if (isExtendsGallery(rawGalleries2[galpath])) {\n continue;\n }\n for (const piece of gallery.pieces) {\n const d = dist(piece.image.phash, postPhash);\n if (d <= threshold) {\n matches.push([{ gallery: galpath, piece: piece.slug }, d]);\n }\n for (const alt of piece.alts ?? []) {\n const d2 = dist(alt.image.phash, postPhash);\n if (d2 <= threshold) {\n matches.push([\n { gallery: galpath, piece: piece.slug, alt: alt.name },\n dist(alt.image.phash, postPhash)\n ]);\n }\n }\n }\n }\n return matches.toSorted(([, d1], [, d2]) => d1 - d2).map(([up]) => up);\n}\nfunction findMatch(post, galleries2, rawGalleries2, threshold = 5) {\n return {\n ...post,\n image_details: post.image_details.map((v) => ({\n ...v,\n matches: matchesForPhash(v.phash, galleries2, rawGalleries2, threshold)\n }))\n };\n}\nasync function getImages(posts, fileset) {\n logger$1.debug(\"Getting images for\", posts.length, \"posts...\");\n const withImages = (await Promise.all(\n posts.map(async (post) => {\n try {\n return await getImage(post, fileset);\n } catch (e) {\n console.warn(\"getting image failed: \", e);\n return null;\n }\n })\n )).filter((p) => !!p);\n logger$1.debug(\"Finished getting images\");\n return withImages;\n}\nasync function phashImage(h) {\n const p = path__default.join($IMGDIR(), h + \".jpg\");\n return await sharpPhash(await readFile(p));\n}\nasync function getImage(post, fileset) {\n return {\n ...post,\n image_details: await Promise.all(\n post.image_details.map(\n (v) => doPhashImage(v.full_url, fileset).then((phash2) => ({\n ...v,\n phash: phash2,\n id: imageId(v.full_url)\n }))\n )\n )\n };\n}\nasync function doPhashImage(uri, fileset) {\n const id = imageId(uri);\n if (id in fileset) {\n return fileset[id];\n }\n let hash;\n try {\n hash = await phashImage(id);\n } catch (e) {\n logger$1.debug(\n \"Failed to hash image\",\n id,\n \"trying to download the image then will hash again. Error:\",\n e\n );\n await downloadAndWrite(id, uri);\n hash = await phashImage(id);\n }\n fileset[id] = hash;\n return hash;\n}\nfunction imageId(uri) {\n const h = crypto__default.createHash(\"md5\");\n h.update(uri);\n return h.digest(\"base64url\");\n}\nfunction mergePosts(cache, posts) {\n for (const post of posts) {\n if (!cache.find((p) => p.uri === post.uri)) {\n cache.push(post);\n }\n }\n cache.sort((a, b) => b.date.localeCompare(a.date));\n return cache;\n}\nconst logger = createLogger();\nasync function sync(cfg) {\n logger.info(\"Syncing bluesky posts & images...\");\n try {\n const [cache, fileset] = await Promise.all([readCache(), readPerceptualHashCache()]);\n const bskyDid = process.env.BSKY_DID ?? cfg?.bskyDid ?? (cfg?.bskyUsername ? await getDid(cfg.bskyUsername) : void 0);\n const bskyPassword = process.env.BSKY_PASSWORD ?? cfg?.bskyPassword;\n const bskyUsername = process.env.BSKY_LOGIN ?? cfg?.bskyUsername;\n if (!bskyDid || !bskyPassword || !bskyUsername) {\n const errTxt = `Can't sync bluesky; missing information. Missing username? ${!bskyUsername} password? ${!bskyPassword} did? ${!bskyDid}`;\n logger.warn(errTxt);\n return error(400, \"Failed... \" + errTxt);\n }\n const client = new PostsClient({\n bskyDid,\n bskyPassword,\n bskyUsername,\n cache: {\n backend: {\n async cachePosts(posts) {\n await writeCache(mergePosts(cache, posts));\n },\n async getCachedPosts(_limit) {\n return cache;\n },\n async postsLastCachedAt() {\n try {\n return (await stat($CACHEFILE())).mtime;\n } catch {\n return /* @__PURE__ */ new Date(0);\n }\n }\n }\n }\n });\n const allPosts = mergePosts(cache, await client.getPosts(void 0));\n const withImages = await getImages(allPosts, fileset);\n await flushPerceptualHashCache(fileset);\n if (withImages.length !== allPosts.length) {\n return error(\n 500,\n `Failed to load ${allPosts.length - withImages.length} image(s); try again`\n );\n }\n const matches = await findMatches(withImages);\n logger.info(\"Done syncing\");\n return matches;\n } catch (err) {\n logger.warn(\"Failed to sync bluesky posts:\", err);\n throw err;\n }\n}\nasync function getDid(username) {\n const agent = new Agent({ service: \"https://bsky.social\" });\n const res = await agent.resolveHandle({ handle: username });\n return res.data.did;\n}\nconst POST = async ({ request }) => {\n const result = await sync(await request.json());\n if (Array.isArray(result)) {\n return json(result);\n }\n return result;\n};\nexport {\n POST\n};\n"],"names":["path__default"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
+
import { c as clearCache } from './util-FQbl4xCz.js';
|
|
3
|
+
import { g as galleries } from './gallery-DaCm2MYV.js';
|
|
4
|
+
import { c as characters } from './character-BiUPL14p.js';
|
|
5
|
+
import { a as artists } from './artist2-CxkL2s89.js';
|
|
6
|
+
import { c as cleanUnusedHashes, a as clearProcessedHashes } from './imageprocess-CXFT4aVl.js';
|
|
7
|
+
import 'node:fs/promises';
|
|
8
|
+
import 'node:crypto';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import './directories-MyCzDoxa.js';
|
|
11
|
+
import 'node:fs';
|
|
12
|
+
import 'node:url';
|
|
13
|
+
import 'fs';
|
|
14
|
+
import 'node:events';
|
|
15
|
+
import 'node:stream';
|
|
16
|
+
import 'node:string_decoder';
|
|
17
|
+
import 'yaml';
|
|
18
|
+
import 'tslog';
|
|
19
|
+
import 'zod';
|
|
20
|
+
import './Artist-DO_o4cdV.js';
|
|
21
|
+
import 'sharp';
|
|
22
|
+
import './pack-Bk3t1T7h.js';
|
|
23
|
+
import 'msgpackr';
|
|
24
|
+
import 'node:stream/promises';
|
|
25
|
+
import 'node:zlib';
|
|
26
|
+
import 'sharp-phash';
|
|
27
|
+
import 'async-sema';
|
|
28
|
+
import 'node:os';
|
|
29
|
+
|
|
30
|
+
const POST = async () => {
|
|
31
|
+
clearProcessedHashes();
|
|
32
|
+
clearCache();
|
|
33
|
+
await galleries();
|
|
34
|
+
await characters();
|
|
35
|
+
await artists();
|
|
36
|
+
await cleanUnusedHashes();
|
|
37
|
+
return json({ ok: true });
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { POST };
|
|
41
|
+
//# sourceMappingURL=_server.ts-D_j0gH9R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-D_j0gH9R.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/reload/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { c as clearCache } from \"../../../../chunks/util.js\";\nimport { g as galleries } from \"../../../../chunks/gallery.js\";\nimport { c as characters } from \"../../../../chunks/character.js\";\nimport { a as artists } from \"../../../../chunks/artist2.js\";\nimport { c as cleanUnusedHashes, a as clearProcessedHashes } from \"../../../../chunks/imageprocess.js\";\nconst POST = async () => {\n clearProcessedHashes();\n clearCache();\n await galleries();\n await characters();\n await artists();\n await cleanUnusedHashes();\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMK,MAAC,IAAI,GAAG,YAAY;AACzB,EAAE,oBAAoB,EAAE;AACxB,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,SAAS,EAAE;AACnB,EAAE,MAAM,UAAU,EAAE;AACpB,EAAE,MAAM,OAAO,EAAE;AACjB,EAAE,MAAM,iBAAiB,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import { writeThemeConfig, readThemeSchema, clearCache } from 'phosart-common/server';
|
|
2
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
3
2
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
3
|
+
import { w as writeThemeConfig, r as readThemeSchema } from './schema-Xy3yc0Rx.js';
|
|
4
|
+
import { c as clearCache } from './util-FQbl4xCz.js';
|
|
4
5
|
import 'tslog';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import 'node:fs/promises';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'zod';
|
|
10
|
+
import './directories-MyCzDoxa.js';
|
|
11
|
+
import 'yaml';
|
|
12
|
+
import 'node:crypto';
|
|
5
13
|
|
|
6
14
|
const logger = createLogger();
|
|
7
15
|
const POST = async ({ request }) => {
|
|
@@ -13,4 +21,4 @@ const POST = async ({ request }) => {
|
|
|
13
21
|
};
|
|
14
22
|
|
|
15
23
|
export { POST };
|
|
16
|
-
//# sourceMappingURL=_server.ts-
|
|
24
|
+
//# sourceMappingURL=_server.ts-DfjuHXS5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DfjuHXS5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/config/save/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { w as writeThemeConfig, r as readThemeSchema } from \"../../../../../chunks/schema.js\";\nimport { c as clearCache } from \"../../../../../chunks/util.js\";\nconst logger = createLogger();\nconst POST = async ({ request }) => {\n logger.debug(\"Saving theme config...\");\n await writeThemeConfig(await readThemeSchema(), await request.json());\n clearCache();\n logger.info(\"Saved theme config\");\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAIA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACxC,EAAE,MAAM,gBAAgB,CAAC,MAAM,eAAe,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACnC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import { r as readSkipSet, w as writeSkipSet } from './cache-
|
|
2
|
+
import { r as readSkipSet, w as writeSkipSet } from './cache-BNAVbmcu.js';
|
|
3
3
|
import { c as createLogger } from './log-Dgdg632G.js';
|
|
4
|
-
import 'phosart-common/server';
|
|
5
4
|
import 'fs/promises';
|
|
6
|
-
import './paths-
|
|
5
|
+
import './paths-Bv7gDCfT.js';
|
|
7
6
|
import 'node:path';
|
|
7
|
+
import './directories-MyCzDoxa.js';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import './pack-Bk3t1T7h.js';
|
|
10
|
+
import 'msgpackr';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:fs/promises';
|
|
13
|
+
import 'node:stream/promises';
|
|
14
|
+
import 'node:zlib';
|
|
8
15
|
import 'tslog';
|
|
9
16
|
|
|
10
17
|
const logger = createLogger();
|
|
@@ -28,4 +35,4 @@ const PUT = async ({ params }) => {
|
|
|
28
35
|
};
|
|
29
36
|
|
|
30
37
|
export { DELETE, PUT };
|
|
31
|
-
//# sourceMappingURL=_server.ts-
|
|
38
|
+
//# sourceMappingURL=_server.ts-Dqv7yDcz.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-Dqv7yDcz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_...gallerypath_/_hash_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst DELETE = async ({ params }) => {\n logger.debug(\"Removing skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].delete(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Removed skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nconst PUT = async ({ params }) => {\n logger.debug(\"Adding skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].add(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Added skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nexport {\n DELETE,\n PUT\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACrC,EAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AACpF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AAC3E,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AAClF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AACzE,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|