This commit is contained in:
boufni95 2025-07-08 18:24:22 +00:00
parent d750db732d
commit 3afdb8bfd6

View file

@ -9,6 +9,8 @@ import * as Types from "../../../proto/autogenerated/ts/types.js";
import { MainSettings } from "./settings.js"; import { MainSettings } from "./settings.js";
import { nofferEncode, OfferPointer, OfferPriceType, NmanageRequest, NmanageResponse, NmanageCreateOffer, NmanageUpdateOffer, NmanageDeleteOffer, NmanageGetOffer, NmanageListOffers, OfferData, OfferFields, NmanageFailure } from "@shocknet/clink-sdk"; import { nofferEncode, OfferPointer, OfferPriceType, NmanageRequest, NmanageResponse, NmanageCreateOffer, NmanageUpdateOffer, NmanageDeleteOffer, NmanageGetOffer, NmanageListOffers, OfferData, OfferFields, NmanageFailure } from "@shocknet/clink-sdk";
import { UnsignedEvent } from "nostr-tools"; import { UnsignedEvent } from "nostr-tools";
import { getLogger, PubLogger } from "../helpers/logger.js";
import { ERROR } from "sqlite3";
type Result<T> = { state: 'success', result: T } | { state: 'error', err: NmanageFailure } | { state: 'authRequired' } type Result<T> = { state: 'success', result: T } | { state: 'error', err: NmanageFailure } | { state: 'authRequired' }
export class ManagementManager { export class ManagementManager {
@ -16,10 +18,11 @@ export class ManagementManager {
private storage: Storage; private storage: Storage;
private settings: MainSettings; private settings: MainSettings;
private awaitingRequests: Record<string, { request: NmanageRequest, event: NostrEvent }> = {} private awaitingRequests: Record<string, { request: NmanageRequest, event: NostrEvent }> = {}
private logger: PubLogger
constructor(storage: Storage, settings: MainSettings) { constructor(storage: Storage, settings: MainSettings) {
this.storage = storage; this.storage = storage;
this.settings = settings; this.settings = settings;
this.logger = getLogger({ component: 'ManagementManager' })
} }
attachNostrSend(f: NostrSend) { attachNostrSend(f: NostrSend) {
@ -80,7 +83,8 @@ export class ManagementManager {
} }
const e = newNmanageResponse(JSON.stringify(r.result), event) const e = newNmanageResponse(JSON.stringify(r.result), event)
this.nostrSend({ type: 'app', appId: event.appId }, { type: 'event', event: e, encrypt: { toPub: event.pub } }) this.nostrSend({ type: 'app', appId: event.appId }, { type: 'event', event: e, encrypt: { toPub: event.pub } })
} catch (err) { } catch (err: any) {
this.logger(ERROR, err.message || err)
this.sendError(event, { res: 'GFY', code: 2, error: 'Temporary Failure' }) this.sendError(event, { res: 'GFY', code: 2, error: 'Temporary Failure' })
} }
} }