@mxpicture/print-backlog 0.0.4 → 0.0.5

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.
@@ -32,4 +32,99 @@ export interface HookAck {
32
32
  stored: true;
33
33
  id: number;
34
34
  }
35
+ /** One stored file of an item. Versions are never changed, only added. */
36
+ export interface Version {
37
+ n: number;
38
+ filename: string;
39
+ ext: string;
40
+ size: number;
41
+ sha256: string;
42
+ comment: string | null;
43
+ uploadedAt: string;
44
+ uploadedBy: string;
45
+ current: boolean;
46
+ }
47
+ /** A row of the list: the item with its current version. */
48
+ export interface Item {
49
+ id: number;
50
+ queueId: number;
51
+ position: number;
52
+ title: string;
53
+ status: ItemStatus;
54
+ statusChangedAt: string;
55
+ needsConfirm: boolean;
56
+ notes: string | null;
57
+ sourceUrl: string | null;
58
+ versionCount: number;
59
+ current: Version | null;
60
+ /** whether Send to Bambuddy applies to the current version (not STEP) */
61
+ sendable: boolean;
62
+ bambuddyFileId: number | null;
63
+ bambuddySentAt: string | null;
64
+ deletedAt: string | null;
65
+ createdAt: string;
66
+ createdBy: string;
67
+ }
68
+ /** GET /api/v1/items/:id: the item with every version, newest first. */
69
+ export interface ItemDetail extends Item {
70
+ versions: Version[];
71
+ /** other items holding the same content as the current version */
72
+ alsoIn: {
73
+ id: number;
74
+ title: string;
75
+ }[];
76
+ }
77
+ /** POST /api/v1/queues/:id/items (multipart): one new item per file. */
78
+ export interface UploadResult {
79
+ items: Item[];
80
+ }
81
+ /** POST /api/v1/items/:id/versions (multipart, one file). */
82
+ export interface VersionUploadResult {
83
+ item: ItemDetail;
84
+ /** true when the file equals an existing version: nothing new was stored */
85
+ duplicate: boolean;
86
+ version: Version;
87
+ }
88
+ /** One line of an item's history, oldest first. */
89
+ export type HistoryEntry = {
90
+ kind: "status";
91
+ at: string;
92
+ by: string;
93
+ source: "ui" | "webhook";
94
+ from: ItemStatus | null;
95
+ to: ItemStatus;
96
+ detail: Record<string, unknown> | null;
97
+ } | {
98
+ kind: "version";
99
+ at: string;
100
+ by: string;
101
+ n: number;
102
+ filename: string;
103
+ } | {
104
+ kind: "print";
105
+ at: string;
106
+ event: string;
107
+ printer: string | null;
108
+ filename: string | null;
109
+ resolution: string | null;
110
+ };
111
+ /** PATCH /api/v1/items/:id. `move` places the item right after `afterId` (null = top) in `queueId` (default: its queue). */
112
+ export interface ItemPatch {
113
+ title?: string;
114
+ notes?: string | null;
115
+ sourceUrl?: string | null;
116
+ status?: ItemStatus;
117
+ /** why the status changed (kept in the history) */
118
+ reason?: string;
119
+ move?: {
120
+ queueId?: number;
121
+ afterId: number | null;
122
+ };
123
+ }
124
+ /** POST /api/v1/queues, PATCH /api/v1/queues/:id. `afterId` reorders the queue list (null = first). */
125
+ export interface QueueWrite {
126
+ name?: string;
127
+ autoStatus?: boolean;
128
+ afterId?: number | null;
129
+ }
35
130
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AACjE,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAK9C,CAAC;AAEF,oDAAoD;AACpD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC;IACnB,kFAAkF;IAClF,QAAQ,EAAE,IAAI,GAAG,aAAa,GAAG,KAAK,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAqB;AACrB,MAAM,WAAW,EAAE;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,2BAA2B;AAC3B,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,IAAI,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/print-backlog",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "A backlog for unsliced 3D models (STL, 3MF, STEP) next to Bambuddy: queues, one status per item, versions, drag & drop",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -31,12 +31,14 @@
31
31
  "access": "public"
32
32
  },
33
33
  "dependencies": {
34
+ "busboy": "^1.6.0",
34
35
  "dbmate": "2.35.1",
35
36
  "postgres": "^3.4.9",
36
37
  "zod": "^4.3.6"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@preact/preset-vite": "^2.10.6",
41
+ "@types/busboy": "^1.5.5",
40
42
  "@types/node": "^26.6.6",
41
43
  "preact": "^10.29.8",
42
44
  "typescript": "^5.9.3",