@zlooks.cn/baidu-submit-server 1.0.1
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/dist/command/index.d.ts +3 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +14 -0
- package/dist/command/index.js.map +1 -0
- package/dist/config/config-command.d.ts +20 -0
- package/dist/config/config-command.d.ts.map +1 -0
- package/dist/config/config-command.js +57 -0
- package/dist/config/config-command.js.map +1 -0
- package/dist/contracts.d.ts +502 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +142 -0
- package/dist/contracts.js.map +1 -0
- package/dist/events/blog-subscriptions.d.ts +7 -0
- package/dist/events/blog-subscriptions.d.ts.map +1 -0
- package/dist/events/blog-subscriptions.js +49 -0
- package/dist/events/blog-subscriptions.js.map +1 -0
- package/dist/mcp/provider.d.ts +5 -0
- package/dist/mcp/provider.d.ts.map +1 -0
- package/dist/mcp/provider.js +162 -0
- package/dist/mcp/provider.js.map +1 -0
- package/dist/messages/status/read.msg.d.ts +47 -0
- package/dist/messages/status/read.msg.d.ts.map +1 -0
- package/dist/messages/status/read.msg.js +6 -0
- package/dist/messages/status/read.msg.js.map +1 -0
- package/dist/messages/submissions/read.msg.d.ts +42 -0
- package/dist/messages/submissions/read.msg.d.ts.map +1 -0
- package/dist/messages/submissions/read.msg.js +6 -0
- package/dist/messages/submissions/read.msg.js.map +1 -0
- package/dist/messages/submissions/retry.msg.d.ts +74 -0
- package/dist/messages/submissions/retry.msg.d.ts.map +1 -0
- package/dist/messages/submissions/retry.msg.js +6 -0
- package/dist/messages/submissions/retry.msg.js.map +1 -0
- package/dist/messages/submissions/search.msg.d.ts +52 -0
- package/dist/messages/submissions/search.msg.d.ts.map +1 -0
- package/dist/messages/submissions/search.msg.js +6 -0
- package/dist/messages/submissions/search.msg.js.map +1 -0
- package/dist/models/read-status.model.d.ts +33 -0
- package/dist/models/read-status.model.d.ts.map +1 -0
- package/dist/models/read-status.model.js +11 -0
- package/dist/models/read-status.model.js.map +1 -0
- package/dist/models/read-submission.model.d.ts +6 -0
- package/dist/models/read-submission.model.d.ts.map +1 -0
- package/dist/models/read-submission.model.js +13 -0
- package/dist/models/read-submission.model.js.map +1 -0
- package/dist/models/retry-submission.model.d.ts +7 -0
- package/dist/models/retry-submission.model.d.ts.map +1 -0
- package/dist/models/retry-submission.model.js +17 -0
- package/dist/models/retry-submission.model.js.map +1 -0
- package/dist/models/search-submissions.model.d.ts +31 -0
- package/dist/models/search-submissions.model.d.ts.map +1 -0
- package/dist/models/search-submissions.model.js +13 -0
- package/dist/models/search-submissions.model.js.map +1 -0
- package/dist/persistence/entities.d.ts +32 -0
- package/dist/persistence/entities.d.ts.map +1 -0
- package/dist/persistence/entities.js +49 -0
- package/dist/persistence/entities.js.map +1 -0
- package/dist/persistence/submission-store.d.ts +41 -0
- package/dist/persistence/submission-store.d.ts.map +1 -0
- package/dist/persistence/submission-store.js +266 -0
- package/dist/persistence/submission-store.js.map +1 -0
- package/dist/services/application.service.d.ts +8 -0
- package/dist/services/application.service.d.ts.map +1 -0
- package/dist/services/application.service.js +28 -0
- package/dist/services/application.service.js.map +1 -0
- package/dist/services/baidu-submit.boot.d.ts +3 -0
- package/dist/services/baidu-submit.boot.d.ts.map +1 -0
- package/dist/services/baidu-submit.boot.js +11 -0
- package/dist/services/baidu-submit.boot.js.map +1 -0
- package/dist/services/config.service.d.ts +20 -0
- package/dist/services/config.service.d.ts.map +1 -0
- package/dist/services/config.service.js +44 -0
- package/dist/services/config.service.js.map +1 -0
- package/dist/services/database.service.d.ts +3 -0
- package/dist/services/database.service.d.ts.map +1 -0
- package/dist/services/database.service.js +23 -0
- package/dist/services/database.service.js.map +1 -0
- package/dist/services/logger.service.d.ts +4 -0
- package/dist/services/logger.service.d.ts.map +1 -0
- package/dist/services/logger.service.js +8 -0
- package/dist/services/logger.service.js.map +1 -0
- package/dist/services/mcp-provider.service.d.ts +3 -0
- package/dist/services/mcp-provider.service.d.ts.map +1 -0
- package/dist/services/mcp-provider.service.js +23 -0
- package/dist/services/mcp-provider.service.js.map +1 -0
- package/dist/services/submission-runtime.service.d.ts +8 -0
- package/dist/services/submission-runtime.service.d.ts.map +1 -0
- package/dist/services/submission-runtime.service.js +33 -0
- package/dist/services/submission-runtime.service.js.map +1 -0
- package/dist/submission/baidu-submit-client.d.ts +29 -0
- package/dist/submission/baidu-submit-client.d.ts.map +1 -0
- package/dist/submission/baidu-submit-client.js +132 -0
- package/dist/submission/baidu-submit-client.js.map +1 -0
- package/dist/submission/submission-worker.d.ts +17 -0
- package/dist/submission/submission-worker.d.ts.map +1 -0
- package/dist/submission/submission-worker.js +75 -0
- package/dist/submission/submission-worker.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
declare const _default: import("@hile/micro").MicroContractMessage<{
|
|
2
|
+
readonly path: "/submissions/search";
|
|
3
|
+
readonly input: import("zod").ZodObject<{
|
|
4
|
+
statuses: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
|
|
5
|
+
accepted: "accepted";
|
|
6
|
+
queued: "queued";
|
|
7
|
+
rejected: "rejected";
|
|
8
|
+
skipped: "skipped";
|
|
9
|
+
submitting: "submitting";
|
|
10
|
+
unknown: "unknown";
|
|
11
|
+
}>>>;
|
|
12
|
+
postId: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
13
|
+
createdFrom: import("zod").ZodOptional<import("zod").ZodISODateTime>;
|
|
14
|
+
createdTo: import("zod").ZodOptional<import("zod").ZodISODateTime>;
|
|
15
|
+
cursor: import("zod").ZodOptional<import("zod").ZodUUID>;
|
|
16
|
+
limit: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
17
|
+
}, import("zod/v4/core").$strict>;
|
|
18
|
+
readonly output: import("zod").ZodReadonly<import("zod").ZodObject<{
|
|
19
|
+
items: import("zod").ZodReadonly<import("zod").ZodArray<import("zod").ZodReadonly<import("zod").ZodObject<{
|
|
20
|
+
id: import("zod").ZodUUID;
|
|
21
|
+
eventId: import("zod").ZodUUID;
|
|
22
|
+
postId: import("zod").ZodUUID;
|
|
23
|
+
postVersion: import("zod").ZodNumber;
|
|
24
|
+
trigger: import("zod").ZodEnum<{
|
|
25
|
+
"publication-updated": "publication-updated";
|
|
26
|
+
published: "published";
|
|
27
|
+
}>;
|
|
28
|
+
url: import("zod").ZodURL;
|
|
29
|
+
status: import("zod").ZodEnum<{
|
|
30
|
+
accepted: "accepted";
|
|
31
|
+
queued: "queued";
|
|
32
|
+
rejected: "rejected";
|
|
33
|
+
skipped: "skipped";
|
|
34
|
+
submitting: "submitting";
|
|
35
|
+
unknown: "unknown";
|
|
36
|
+
}>;
|
|
37
|
+
attempts: import("zod").ZodNumber;
|
|
38
|
+
providerAcceptedCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
39
|
+
providerRemaining: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
40
|
+
providerMessage: import("zod").ZodNullable<import("zod").ZodString>;
|
|
41
|
+
lastErrorCode: import("zod").ZodNullable<import("zod").ZodString>;
|
|
42
|
+
retryRequestedBy: import("zod").ZodNullable<import("zod").ZodString>;
|
|
43
|
+
submittedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
|
|
44
|
+
occurredAt: import("zod").ZodISODateTime;
|
|
45
|
+
createdAt: import("zod").ZodISODateTime;
|
|
46
|
+
updatedAt: import("zod").ZodISODateTime;
|
|
47
|
+
}, import("zod/v4/core").$strict>>>>;
|
|
48
|
+
nextCursor: import("zod").ZodNullable<import("zod").ZodUUID>;
|
|
49
|
+
}, import("zod/v4/core").$strict>>;
|
|
50
|
+
}>;
|
|
51
|
+
export default _default;
|
|
52
|
+
//# sourceMappingURL=search.msg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/submissions/search.msg.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { loadModel } from '@hile/model';
|
|
3
|
+
import { baiduSubmitMicroContract } from '../../contracts.js';
|
|
4
|
+
import searchSubmissionsModel from '../../models/search-submissions.model.js';
|
|
5
|
+
export default defineMicroMessage(baiduSubmitMicroContract.operations.search, ({ data, invocation }) => loadModel(searchSubmissionsModel, data, invocation));
|
|
6
|
+
//# sourceMappingURL=search.msg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.msg.js","sourceRoot":"","sources":["../../../src/messages/submissions/search.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,sBAAsB,MAAM,0CAA0C,CAAC;AAE9E,eAAe,kBAAkB,CAC/B,wBAAwB,CAAC,UAAU,CAAC,MAAM,EAC1C,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,UAAU,CAAC,CAC9E,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare const _default: import("@hile/model").ModelDefinition<Record<string, never>, Readonly<Readonly<{
|
|
2
|
+
activatedAt: string;
|
|
3
|
+
counts: Readonly<{
|
|
4
|
+
queued: number;
|
|
5
|
+
submitting: number;
|
|
6
|
+
accepted: number;
|
|
7
|
+
rejected: number;
|
|
8
|
+
unknown: number;
|
|
9
|
+
skipped: number;
|
|
10
|
+
}>;
|
|
11
|
+
lastSubmission: Readonly<{
|
|
12
|
+
id: string;
|
|
13
|
+
eventId: string;
|
|
14
|
+
postId: string;
|
|
15
|
+
postVersion: number;
|
|
16
|
+
trigger: "publication-updated" | "published";
|
|
17
|
+
url: string;
|
|
18
|
+
status: "accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown";
|
|
19
|
+
attempts: number;
|
|
20
|
+
providerAcceptedCount: number | null;
|
|
21
|
+
providerRemaining: number | null;
|
|
22
|
+
providerMessage: string | null;
|
|
23
|
+
lastErrorCode: string | null;
|
|
24
|
+
retryRequestedBy: string | null;
|
|
25
|
+
submittedAt: string | null;
|
|
26
|
+
occurredAt: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
updatedAt: string;
|
|
29
|
+
}> | null;
|
|
30
|
+
indexingStatusAvailable: false;
|
|
31
|
+
}>>>;
|
|
32
|
+
export default _default;
|
|
33
|
+
//# sourceMappingURL=read-status.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-status.model.d.ts","sourceRoot":"","sources":["../../src/models/read-status.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { loadService } from '@hile/core';
|
|
2
|
+
import { defineModel } from '@hile/model';
|
|
3
|
+
import submissionRuntimeService from '../services/submission-runtime.service.js';
|
|
4
|
+
export default defineModel(async (_input, invocation) => {
|
|
5
|
+
invocation.signal.throwIfAborted();
|
|
6
|
+
const { store } = await loadService(submissionRuntimeService);
|
|
7
|
+
const status = await store.status();
|
|
8
|
+
invocation.signal.throwIfAborted();
|
|
9
|
+
return status;
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=read-status.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-status.model.js","sourceRoot":"","sources":["../../src/models/read-status.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;IAC3B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACpC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-submission.model.d.ts","sourceRoot":"","sources":["../../src/models/read-submission.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;;iBAIR,MAAM"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { loadService } from '@hile/core';
|
|
2
|
+
import { defineModel } from '@hile/model';
|
|
3
|
+
import { readSubmissionSchema, } from '../contracts.js';
|
|
4
|
+
import submissionRuntimeService from '../services/submission-runtime.service.js';
|
|
5
|
+
export default defineModel(async (input, invocation) => {
|
|
6
|
+
invocation.signal.throwIfAborted();
|
|
7
|
+
const query = readSubmissionSchema.parse(input);
|
|
8
|
+
const { store } = await loadService(submissionRuntimeService);
|
|
9
|
+
const record = await store.read(query.id);
|
|
10
|
+
invocation.signal.throwIfAborted();
|
|
11
|
+
return record ? { outcome: 'found', record } : { outcome: 'missing' };
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=read-submission.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-submission.model.js","sourceRoot":"","sources":["../../src/models/read-submission.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CAGxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC5B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1C,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACxE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type RetrySubmissionResponse } from '../contracts.js';
|
|
2
|
+
declare const _default: import("@hile/model").ModelDefinition<Readonly<Readonly<{
|
|
3
|
+
id: string;
|
|
4
|
+
actor: string;
|
|
5
|
+
}>>, RetrySubmissionResponse>;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=retry-submission.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-submission.model.d.ts","sourceRoot":"","sources":["../../src/models/retry-submission.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { loadService } from '@hile/core';
|
|
2
|
+
import { defineModel } from '@hile/model';
|
|
3
|
+
import { retrySubmissionCommandSchema, } from '../contracts.js';
|
|
4
|
+
import submissionRuntimeService from '../services/submission-runtime.service.js';
|
|
5
|
+
export default defineModel(async (input, invocation) => {
|
|
6
|
+
invocation.signal.throwIfAborted();
|
|
7
|
+
const command = retrySubmissionCommandSchema.parse(input);
|
|
8
|
+
const { store } = await loadService(submissionRuntimeService);
|
|
9
|
+
const result = await store.retry(command.id, command.actor);
|
|
10
|
+
invocation.signal.throwIfAborted();
|
|
11
|
+
if (!result)
|
|
12
|
+
return { outcome: 'missing' };
|
|
13
|
+
if (!result.retryRequested)
|
|
14
|
+
return { outcome: 'not-retryable', record: result.record };
|
|
15
|
+
return { outcome: 'retry-requested', record: result.record };
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=retry-submission.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-submission.model.js","sourceRoot":"","sources":["../../src/models/retry-submission.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,4BAA4B,GAG7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5D,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACvF,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC/D,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
declare const _default: import("@hile/model").ModelDefinition<Readonly<{
|
|
2
|
+
statuses?: ("accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown")[] | undefined;
|
|
3
|
+
postId?: string | undefined;
|
|
4
|
+
createdFrom?: string | undefined;
|
|
5
|
+
createdTo?: string | undefined;
|
|
6
|
+
cursor?: string | undefined;
|
|
7
|
+
limit?: number | undefined;
|
|
8
|
+
}>, Readonly<Readonly<{
|
|
9
|
+
items: readonly Readonly<{
|
|
10
|
+
id: string;
|
|
11
|
+
eventId: string;
|
|
12
|
+
postId: string;
|
|
13
|
+
postVersion: number;
|
|
14
|
+
trigger: "publication-updated" | "published";
|
|
15
|
+
url: string;
|
|
16
|
+
status: "accepted" | "queued" | "rejected" | "skipped" | "submitting" | "unknown";
|
|
17
|
+
attempts: number;
|
|
18
|
+
providerAcceptedCount: number | null;
|
|
19
|
+
providerRemaining: number | null;
|
|
20
|
+
providerMessage: string | null;
|
|
21
|
+
lastErrorCode: string | null;
|
|
22
|
+
retryRequestedBy: string | null;
|
|
23
|
+
submittedAt: string | null;
|
|
24
|
+
occurredAt: string;
|
|
25
|
+
createdAt: string;
|
|
26
|
+
updatedAt: string;
|
|
27
|
+
}>[];
|
|
28
|
+
nextCursor: string | null;
|
|
29
|
+
}>>>;
|
|
30
|
+
export default _default;
|
|
31
|
+
//# sourceMappingURL=search-submissions.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-submissions.model.d.ts","sourceRoot":"","sources":["../../src/models/search-submissions.model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { loadService } from '@hile/core';
|
|
2
|
+
import { defineModel } from '@hile/model';
|
|
3
|
+
import { searchSubmissionsSchema, } from '../contracts.js';
|
|
4
|
+
import submissionRuntimeService from '../services/submission-runtime.service.js';
|
|
5
|
+
export default defineModel(async (input, invocation) => {
|
|
6
|
+
invocation.signal.throwIfAborted();
|
|
7
|
+
const query = searchSubmissionsSchema.parse(input);
|
|
8
|
+
const { store } = await loadService(submissionRuntimeService);
|
|
9
|
+
const result = await store.search(query);
|
|
10
|
+
invocation.signal.throwIfAborted();
|
|
11
|
+
return result;
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=search-submissions.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-submissions.model.js","sourceRoot":"","sources":["../../src/models/search-submissions.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,uBAAuB,GAGxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,wBAAwB,MAAM,2CAA2C,CAAC;AAEjF,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EntitySchema } from 'typeorm';
|
|
2
|
+
import type { SubmissionStatus, SubmissionTrigger } from '../contracts.js';
|
|
3
|
+
export interface BaiduSubmitActivationRow {
|
|
4
|
+
id: 'service';
|
|
5
|
+
activatedAt: Date;
|
|
6
|
+
}
|
|
7
|
+
export interface BaiduSubmissionRow {
|
|
8
|
+
id: string;
|
|
9
|
+
eventId: string;
|
|
10
|
+
postId: string;
|
|
11
|
+
postVersion: number;
|
|
12
|
+
trigger: SubmissionTrigger;
|
|
13
|
+
url: string;
|
|
14
|
+
status: SubmissionStatus;
|
|
15
|
+
attempts: number;
|
|
16
|
+
providerAcceptedCount: number | null;
|
|
17
|
+
providerRemaining: number | null;
|
|
18
|
+
providerMessage: string | null;
|
|
19
|
+
lastErrorCode: string | null;
|
|
20
|
+
retryRequestedBy: string | null;
|
|
21
|
+
submittedAt: Date | null;
|
|
22
|
+
occurredAt: Date;
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
updatedAt: Date;
|
|
25
|
+
leasedBy: string | null;
|
|
26
|
+
leaseToken: string | null;
|
|
27
|
+
leaseUntil: Date | null;
|
|
28
|
+
}
|
|
29
|
+
export declare const BaiduSubmitActivationEntity: EntitySchema<BaiduSubmitActivationRow>;
|
|
30
|
+
export declare const BaiduSubmissionEntity: EntitySchema<BaiduSubmissionRow>;
|
|
31
|
+
export declare const baiduSubmitEntities: readonly [EntitySchema<BaiduSubmitActivationRow>, EntitySchema<BaiduSubmissionRow>];
|
|
32
|
+
//# sourceMappingURL=entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,2BAA2B,wCAOtC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kCAkChC,CAAC;AAEH,eAAO,MAAM,mBAAmB,qFAGtB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EntitySchema } from 'typeorm';
|
|
2
|
+
export const BaiduSubmitActivationEntity = new EntitySchema({
|
|
3
|
+
name: 'BaiduSubmitActivation',
|
|
4
|
+
tableName: 'baidu_submit_activation',
|
|
5
|
+
columns: {
|
|
6
|
+
id: { type: 'varchar', length: 16, primary: true },
|
|
7
|
+
activatedAt: { name: 'activated_at', type: 'timestamptz', precision: 3 },
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
export const BaiduSubmissionEntity = new EntitySchema({
|
|
11
|
+
name: 'BaiduSubmission',
|
|
12
|
+
tableName: 'baidu_submissions',
|
|
13
|
+
columns: {
|
|
14
|
+
id: { type: 'uuid', primary: true },
|
|
15
|
+
eventId: { name: 'event_id', type: 'uuid', unique: true },
|
|
16
|
+
postId: { name: 'post_id', type: 'uuid' },
|
|
17
|
+
postVersion: { name: 'post_version', type: 'integer' },
|
|
18
|
+
trigger: { type: 'varchar', length: 32 },
|
|
19
|
+
url: { type: 'varchar', length: 2_048 },
|
|
20
|
+
status: { type: 'varchar', length: 16 },
|
|
21
|
+
attempts: { type: 'integer', default: 0 },
|
|
22
|
+
providerAcceptedCount: { name: 'provider_accepted_count', type: 'integer', nullable: true },
|
|
23
|
+
providerRemaining: { name: 'provider_remaining', type: 'integer', nullable: true },
|
|
24
|
+
providerMessage: { name: 'provider_message', type: 'varchar', length: 2_000, nullable: true },
|
|
25
|
+
lastErrorCode: { name: 'last_error_code', type: 'varchar', length: 64, nullable: true },
|
|
26
|
+
retryRequestedBy: { name: 'retry_requested_by', type: 'varchar', length: 256, nullable: true },
|
|
27
|
+
submittedAt: { name: 'submitted_at', type: 'timestamptz', precision: 3, nullable: true },
|
|
28
|
+
occurredAt: { name: 'occurred_at', type: 'timestamptz', precision: 3 },
|
|
29
|
+
createdAt: { name: 'created_at', type: 'timestamptz', precision: 3, createDate: true },
|
|
30
|
+
updatedAt: { name: 'updated_at', type: 'timestamptz', precision: 3, updateDate: true },
|
|
31
|
+
leasedBy: { name: 'leased_by', type: 'varchar', length: 128, nullable: true },
|
|
32
|
+
leaseToken: { name: 'lease_token', type: 'uuid', nullable: true },
|
|
33
|
+
leaseUntil: { name: 'lease_until', type: 'timestamptz', precision: 3, nullable: true },
|
|
34
|
+
},
|
|
35
|
+
checks: [
|
|
36
|
+
{ name: 'chk_baidu_submission_post_version', expression: '"post_version" > 0' },
|
|
37
|
+
{ name: 'chk_baidu_submission_attempts', expression: '"attempts" >= 0' },
|
|
38
|
+
],
|
|
39
|
+
indices: [
|
|
40
|
+
{ columns: ['status', 'createdAt', 'id'] },
|
|
41
|
+
{ columns: ['postId', 'createdAt', 'id'] },
|
|
42
|
+
{ columns: ['createdAt', 'id'] },
|
|
43
|
+
],
|
|
44
|
+
});
|
|
45
|
+
export const baiduSubmitEntities = [
|
|
46
|
+
BaiduSubmitActivationEntity,
|
|
47
|
+
BaiduSubmissionEntity,
|
|
48
|
+
];
|
|
49
|
+
//# sourceMappingURL=entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type SearchSubmissionsInput, type SubmissionPage, type SubmissionRecord, type SubmissionServiceStatus, type SubmissionTrigger } from '../contracts.js';
|
|
2
|
+
import { type DataSource } from 'typeorm';
|
|
3
|
+
type SubmissionChangeListener = (id: string) => void | Promise<void>;
|
|
4
|
+
export interface SubmissionIntent {
|
|
5
|
+
readonly eventId: string;
|
|
6
|
+
readonly postId: string;
|
|
7
|
+
readonly postVersion: number;
|
|
8
|
+
readonly trigger: SubmissionTrigger;
|
|
9
|
+
readonly url: string;
|
|
10
|
+
readonly occurredAt: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ClaimedSubmission extends SubmissionRecord {
|
|
13
|
+
readonly leaseToken: string;
|
|
14
|
+
}
|
|
15
|
+
export type RetrySubmissionStoreResult = Readonly<{
|
|
16
|
+
retryRequested: boolean;
|
|
17
|
+
record: SubmissionRecord;
|
|
18
|
+
}>;
|
|
19
|
+
export declare class SubmissionStore {
|
|
20
|
+
#private;
|
|
21
|
+
private readonly database;
|
|
22
|
+
constructor(database: DataSource, options?: {
|
|
23
|
+
readonly clock?: () => Date;
|
|
24
|
+
});
|
|
25
|
+
activate(at?: Date): Promise<Date>;
|
|
26
|
+
subscribe(listener: SubmissionChangeListener): () => void;
|
|
27
|
+
recordIntent(input: SubmissionIntent): Promise<SubmissionRecord>;
|
|
28
|
+
read(id: string): Promise<SubmissionRecord | null>;
|
|
29
|
+
search(input: SearchSubmissionsInput): Promise<SubmissionPage>;
|
|
30
|
+
claimNext(worker: string, leaseMs: number): Promise<ClaimedSubmission | null>;
|
|
31
|
+
completeAccepted(id: string, leaseToken: string, acceptedCount: number, remaining: number, message: string | null): Promise<boolean>;
|
|
32
|
+
completeRejected(id: string, leaseToken: string, code: string, message: string, acceptedCount: number, remaining: number | null): Promise<boolean>;
|
|
33
|
+
completeUnknown(id: string, leaseToken: string, code: string, message: string): Promise<boolean>;
|
|
34
|
+
recoverExpired(now?: Date): Promise<number>;
|
|
35
|
+
retry(id: string, actor: string): Promise<RetrySubmissionStoreResult | null>;
|
|
36
|
+
status(): Promise<SubmissionServiceStatus>;
|
|
37
|
+
private complete;
|
|
38
|
+
private notifyChanged;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=submission-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submission-store.d.ts","sourceRoot":"","sources":["../../src/persistence/submission-store.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAE5B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAOL,KAAK,UAAU,EAIhB,MAAM,SAAS,CAAC;AAQjB,KAAK,wBAAwB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC,CAAC;AAEH,qBAAa,eAAe;;IAMxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAD3B,YACmB,QAAQ,EAAE,UAAU,EACrC,OAAO,GAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO,EAI9C;IAEY,QAAQ,CAAC,EAAE,OAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvD;IAEM,SAAS,CAAC,QAAQ,EAAE,wBAAwB,GAAG,MAAM,IAAI,CAG/D;IAEY,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuB5E;IAEY,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAG9D;IAEY,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkC1E;IAEY,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA0BzF;IAEM,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,OAAO,CAAC,CASlB;IAEM,gBAAgB,CACrB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,OAAO,CAAC,CASlB;IAEM,eAAe,CACpB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CASlB;IAEY,cAAc,CAAC,GAAG,OAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBhE;IAEY,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CA8BxF;IAEY,MAAM,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAiBtD;YAEa,QAAQ;IAatB,OAAO,CAAC,aAAa;CAStB"}
|