@coffer-org/plugin-transit 1.1.0

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.
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Розклад маршруту — один запис = один маршрут + напрямок.
3
+ * 4 записи: 47 Кишинів→Чореску, 47 Чореску→Кишинів,
4
+ * 48 Кишинів→Чореску, 48 Чореску→Кишинів.
5
+ * Час відправлень зберігається як JSON-масиви рядків "HH:MM".
6
+ */
7
+ declare const _default: import("@coffer-org/sdk/module").ModuleDef;
8
+ export default _default;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bus_route/index.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;;AACH,wBAoBG"}
@@ -0,0 +1,30 @@
1
+ import { defineModule } from '@coffer-org/sdk/module';
2
+ import { field } from '@coffer-org/sdk/fields';
3
+ /**
4
+ * Розклад маршруту — один запис = один маршрут + напрямок.
5
+ * 4 записи: 47 Кишинів→Чореску, 47 Чореску→Кишинів,
6
+ * 48 Кишинів→Чореску, 48 Чореску→Кишинів.
7
+ * Час відправлень зберігається як JSON-масиви рядків "HH:MM".
8
+ */
9
+ export default defineModule({
10
+ module: 'bus_route',
11
+ vault: 'transit',
12
+ label: 'transit.bus_route.label',
13
+ icon: 'lucide:bus',
14
+ views: {
15
+ table: ['route_number', 'from', 'to'],
16
+ },
17
+ fields: [
18
+ field.title({ key: 'name', label: 'core.fields.name' }),
19
+ field.int({ key: 'route_number', label: 'transit.bus_route.fields.route_number' }),
20
+ field.string({ key: 'from', label: 'transit.bus_route.fields.from', config: { max: 100 } }),
21
+ field.string({ key: 'to', label: 'transit.bus_route.fields.to', config: { max: 100 } }),
22
+ field.string({ key: 'stop', label: 'transit.bus_route.fields.stop', config: { max: 200 } }),
23
+ field.time({ key: 'weekday_times', label: 'transit.bus_route.fields.weekday_times', multiple: true }),
24
+ field.time({ key: 'saturday_times', label: 'transit.bus_route.fields.saturday_times', multiple: true }),
25
+ field.time({ key: 'sunday_times', label: 'transit.bus_route.fields.sunday_times', multiple: true }),
26
+ field.text({ key: 'notes', label: 'transit.bus_route.fields.notes', max: 500 }),
27
+ field.tags({ key: 'tags', label: 'transit.bus_route.fields.tags' }),
28
+ ],
29
+ });
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bus_route/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C;;;;;GAKG;AACH,eAAe,YAAY,CAAC;IAC1B,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,yBAAyB;IAChC,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC;KACtC;IACD,MAAM,EAAE;QACN,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACvD,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;QAClF,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3F,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACvF,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,wCAAwC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,yCAAyC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,uCAAuC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;KACpE;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@coffer-org/sdk/plugin").PluginManifest;
2
+ export default _default;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAMA,wBAoBG"}
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ import { defineVault } from '@coffer-org/sdk/vault';
2
+ import { definePlugin } from '@coffer-org/sdk/plugin';
3
+ import { field } from '@coffer-org/sdk/fields';
4
+ import { defineSettings } from '@coffer-org/sdk/settings';
5
+ import bus_route from './bus_route/index.js';
6
+ export default definePlugin({
7
+ id: 'transit',
8
+ version: '1.0.0',
9
+ dependsOn: [],
10
+ vaults: [
11
+ {
12
+ meta: defineVault({ id: 'transit', label: 'transit.vault.label', icon: 'lucide:bus' }),
13
+ modules: [bus_route],
14
+ },
15
+ ],
16
+ settings: defineSettings({
17
+ label: 'transit.settings.label',
18
+ fields: [
19
+ field.boolean({ key: 'use_nextcloud', label: 'transit.settings.use_nextcloud' }),
20
+ field.string({ key: 'caldav_calendar', label: 'transit.settings.caldav_calendar' }),
21
+ field.string({ key: 'caldav_url', label: 'transit.settings.caldav_url' }),
22
+ field.string({ key: 'caldav_username', label: 'transit.settings.caldav_username' }),
23
+ field.password({ key: 'caldav_password', label: 'transit.settings.caldav_password' }),
24
+ ],
25
+ }),
26
+ });
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,eAAe,YAAY,CAAC;IAC1B,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE;QACN;YACE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACtF,OAAO,EAAE,CAAC,SAAS,CAAC;SACrB;KACF;IACD,QAAQ,EAAE,cAAc,CAAC;QACvB,KAAK,EAAE,wBAAwB;QAC/B,MAAM,EAAE;YACN,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;YAChF,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;YACnF,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;YACzE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;YACnF,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;SACtF;KACF,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { PluginHooks } from '@coffer-org/server/plugin-hooks';
2
+ export { startSync, stopSync } from './sync.js';
3
+ export type { BusRouteRecord } from './sync.js';
4
+ /** Серверні хуки життєвого циклу transit (збирає loadServerHooks через discovery). */
5
+ export declare const serverHooks: PluginHooks;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,sFAAsF;AACtF,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { startSync, stopSync } from './sync.js';
2
+ export { startSync, stopSync } from './sync.js';
3
+ /** Серверні хуки життєвого циклу transit (збирає loadServerHooks через discovery). */
4
+ export const serverHooks = {
5
+ init: () => {
6
+ void startSync().catch((e) => console.warn(`[transit-sync] не стартував: ${e.message}`));
7
+ },
8
+ teardown: () => {
9
+ stopSync();
10
+ },
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGhD,sFAAsF;AACtF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,GAAG,EAAE;QACT,KAAK,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAiC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC;CACF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type IcsFile } from '@coffer-org/dav';
2
+ export interface BusRouteRecord {
3
+ id: string;
4
+ name: string | null;
5
+ route_number: number | null;
6
+ from: string | null;
7
+ to: string | null;
8
+ stop: string | null;
9
+ weekday_times: string | null;
10
+ saturday_times: string | null;
11
+ sunday_times: string | null;
12
+ notes: string | null;
13
+ }
14
+ export declare function buildBusEvents(records: BusRouteRecord[]): IcsFile[];
15
+ export declare function startSync(): Promise<void>;
16
+ export declare function stopSync(): void;
17
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/runtime/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAoCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,CAsBnE;AAuCD,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAS/C;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAK/B"}
@@ -0,0 +1,107 @@
1
+ import { getEm } from '@coffer-org/server/db';
2
+ import { getPluginSettings } from '@coffer-org/server/plugin-runtime';
3
+ import { resolveDavSettings, WebDavClient, CalDavCollection, buildVEvent, buildRRule, } from '@coffer-org/dav';
4
+ // Fixed reference dates: Mon 2024-01-01, Sat 2024-01-06, Sun 2024-01-07
5
+ const REF_DATE = { weekday: '20240101', saturday: '20240106', sunday: '20240107' };
6
+ const BYDAY = {
7
+ weekday: ['MO', 'TU', 'WE', 'TH', 'FR'],
8
+ saturday: ['SA'],
9
+ sunday: ['SU'],
10
+ };
11
+ function parseTimes(json) {
12
+ if (!json)
13
+ return [];
14
+ try {
15
+ return JSON.parse(json);
16
+ }
17
+ catch {
18
+ return [];
19
+ }
20
+ }
21
+ function timeToLocalStr(refDate, time) {
22
+ const [hh = '00', mm = '00'] = time.split(':');
23
+ return `${refDate}T${hh.padStart(2, '0')}${mm.padStart(2, '0')}00`;
24
+ }
25
+ function addMinutes(localStr, mins) {
26
+ const date = localStr.slice(0, 8);
27
+ const h = parseInt(localStr.slice(9, 11), 10);
28
+ const m = parseInt(localStr.slice(11, 13), 10);
29
+ const totalMins = Math.min(h * 60 + m + mins, 23 * 60 + 59);
30
+ const nh = Math.floor(totalMins / 60);
31
+ const nm = totalMins % 60;
32
+ return `${date}T${String(nh).padStart(2, '0')}${String(nm).padStart(2, '0')}00`;
33
+ }
34
+ export function buildBusEvents(records) {
35
+ const files = [];
36
+ for (const r of records) {
37
+ const summary = r.name ?? `Route ${r.route_number ?? r.id}`;
38
+ const groups = [
39
+ { times: parseTimes(r.weekday_times), dayType: 'weekday' },
40
+ { times: parseTimes(r.saturday_times), dayType: 'saturday' },
41
+ { times: parseTimes(r.sunday_times), dayType: 'sunday' },
42
+ ];
43
+ for (const { times, dayType } of groups) {
44
+ times.forEach((time, i) => {
45
+ const ref = REF_DATE[dayType];
46
+ const start = timeToLocalStr(ref, time);
47
+ const end = addMinutes(start, 30);
48
+ const uid = `bus-route-${r.id}-${dayType}-${i}`;
49
+ const rrule = buildRRule({ freq: 'WEEKLY', byDay: BYDAY[dayType] });
50
+ const content = buildVEvent({ uid, summary, start, end, rrule });
51
+ files.push({ name: `${uid}.ics`, content });
52
+ });
53
+ }
54
+ }
55
+ return files;
56
+ }
57
+ async function runOnce() {
58
+ const fork = getEm().fork();
59
+ const rows = (await fork.find('transit__bus_route', {}));
60
+ const icsFiles = buildBusEvents(rows);
61
+ const pluginSettings = await getPluginSettings('transit');
62
+ const calendar = pluginSettings['caldav_calendar'];
63
+ if (!calendar)
64
+ throw new Error('[transit-sync] caldav_calendar is required but not set');
65
+ let principal;
66
+ let password;
67
+ if (pluginSettings['use_nextcloud']) {
68
+ const nc = await getPluginSettings('nextcloud');
69
+ if (!nc['nextcloud_url'])
70
+ throw new Error('[transit-sync] nextcloud_url not configured');
71
+ principal = String(nc['login'] ?? '');
72
+ password = String(nc['password'] ?? '');
73
+ }
74
+ else {
75
+ principal = pluginSettings['caldav_username'] ?? '';
76
+ password = pluginSettings['caldav_password'] ?? '';
77
+ }
78
+ const settings = resolveDavSettings(calendar, { principal, password });
79
+ const ops = new WebDavClient({
80
+ collectionUrl: settings.collectionUrl,
81
+ username: settings.principal,
82
+ password: settings.password,
83
+ });
84
+ const coll = new CalDavCollection(ops);
85
+ const result = await coll.syncEvents('bus-route-', icsFiles);
86
+ console.log(`[transit-sync] synced: ${result.written.length} written, ${result.deleted.length} deleted`);
87
+ }
88
+ const INTERVAL_MS = Number(process.env['TRANSIT_SYNC_INTERVAL_MS'] ?? 0) || 6 * 60 * 60 * 1000;
89
+ let timer;
90
+ export async function startSync() {
91
+ try {
92
+ await runOnce();
93
+ }
94
+ catch (e) {
95
+ console.error(`[transit-sync] initial sync failed: ${e.message}`);
96
+ }
97
+ timer = setInterval(() => {
98
+ void runOnce().catch((e) => console.error(`[transit-sync] sync error: ${e.message}`));
99
+ }, INTERVAL_MS);
100
+ }
101
+ export function stopSync() {
102
+ if (timer !== undefined) {
103
+ clearInterval(timer);
104
+ timer = undefined;
105
+ }
106
+ }
107
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/runtime/sync.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@coffer-org/plugin-transit",
3
+ "version": "1.1.0",
4
+ "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ },
13
+ "./runtime": {
14
+ "types": "./dist/runtime/index.d.ts",
15
+ "default": "./dist/runtime/index.js"
16
+ }
17
+ },
18
+ "scripts": {
19
+ "build": "tsc -b tsconfig.build.json",
20
+ "prepack": "npm run build && node ../../scripts/swap-exports.mjs dist",
21
+ "postpack": "node ../../scripts/swap-exports.mjs src",
22
+ "test": "node --import tsx/esm --test 'src/runtime/*.test.ts'"
23
+ },
24
+ "dependencies": {
25
+ "@coffer-org/sdk": "^1.1.0",
26
+ "@coffer-org/server": "^1.1.0",
27
+ "@coffer-org/dav": "^1.1.0"
28
+ }
29
+ }