@groovenet/contracts 0.1.0 → 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.
- package/README.md +122 -5
- package/build/albums.d.ts +692 -0
- package/build/albums.d.ts.map +1 -0
- package/build/albums.js +119 -0
- package/build/albums.js.map +1 -0
- package/build/friends.d.ts +63 -0
- package/build/friends.d.ts.map +1 -0
- package/build/friends.js +37 -0
- package/build/friends.js.map +1 -0
- package/build/index.d.ts +6 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/playlists.d.ts +432 -0
- package/build/playlists.d.ts.map +1 -0
- package/build/playlists.js +149 -0
- package/build/playlists.js.map +1 -0
- package/build/recordCare.d.ts +961 -0
- package/build/recordCare.d.ts.map +1 -0
- package/build/recordCare.js +245 -0
- package/build/recordCare.js.map +1 -0
- package/build/spins.d.ts +1077 -0
- package/build/spins.d.ts.map +1 -0
- package/build/spins.js +261 -0
- package/build/spins.js.map +1 -0
- package/build/tracks.d.ts +476 -0
- package/build/tracks.d.ts.map +1 -0
- package/build/tracks.js +171 -0
- package/build/tracks.js.map +1 -0
- package/package.json +15 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordCare.d.ts","sourceRoot":"","sources":["../src/recordCare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Physical-copy care (#262). A release can stand for several physical copies;
|
|
3
|
+
// cleaning and sleeving belong to one copy. A release with no copy rows has one
|
|
4
|
+
// implicit default copy, made real by the first action logged against it.
|
|
5
|
+
//
|
|
6
|
+
// The sleeve and action enums mirror CHECK constraints in the app's
|
|
7
|
+
// `migrations/1790726400000_add-record-copies-and-actions.js`; widening one
|
|
8
|
+
// needs a migration too.
|
|
9
|
+
export const sleeveTypeSchema = z.enum(["original", "paper", "poly-rice-paper-poly", "poly"]);
|
|
10
|
+
export const recordActionTypeSchema = z.enum(["cleaned", "sleeved", "inspected", "repaired"]);
|
|
11
|
+
export const cleaningMethodSchema = z.enum(["dry-brush", "wet-manual", "vacuum", "ultrasonic", "other"]);
|
|
12
|
+
export const recordCareStatusSchema = z.enum(["never_cleaned", "overdue", "needs_sleeve"]);
|
|
13
|
+
/** A sleeve, or "unknown" for copies with none logged. */
|
|
14
|
+
export const recordSleeveFilterSchema = z.union([sleeveTypeSchema, z.literal("unknown")]);
|
|
15
|
+
// Timestamps are ISO strings on the wire; `format` documents that without
|
|
16
|
+
// making the response parser stricter than it has been.
|
|
17
|
+
const dateTime = () => z.string().meta({ format: "date-time" });
|
|
18
|
+
export const SLEEVE_TYPES = sleeveTypeSchema.options;
|
|
19
|
+
export const RECORD_ACTION_TYPES = recordActionTypeSchema.options;
|
|
20
|
+
export const CLEANING_METHODS = cleaningMethodSchema.options;
|
|
21
|
+
export const RECORD_CARE_STATUSES = recordCareStatusSchema.options;
|
|
22
|
+
/** One physical copy of a release. */
|
|
23
|
+
export const recordCopySchema = z.object({
|
|
24
|
+
id: z.number().int(),
|
|
25
|
+
friend_id: z.number().int(),
|
|
26
|
+
release_id: z.string(),
|
|
27
|
+
is_default: z.boolean().meta({ description: "The copy an action logged against the release lands on" }),
|
|
28
|
+
label: z.string().nullable().meta({ example: "DJ copy" }),
|
|
29
|
+
notes: z.string().nullable().meta({ example: "Light hairline on B2, plays through." }),
|
|
30
|
+
inner_sleeve_type: sleeveTypeSchema
|
|
31
|
+
.nullable()
|
|
32
|
+
.meta({ description: "From the latest sleeved action; null when none is logged" }),
|
|
33
|
+
last_cleaned_at: dateTime()
|
|
34
|
+
.nullable()
|
|
35
|
+
.meta({ description: "From the latest cleaned action; null when never cleaned" }),
|
|
36
|
+
deleted_at: dateTime().nullable().meta({ example: null }),
|
|
37
|
+
created_at: dateTime(),
|
|
38
|
+
updated_at: dateTime(),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* A copy as listed: a real one, or — asked about one release with no copy
|
|
42
|
+
* rows — its implicit default copy, with `id`, `created_at` and `updated_at`
|
|
43
|
+
* null. Labelling it with the default-copy update makes it real.
|
|
44
|
+
*/
|
|
45
|
+
export const recordCopyListItemSchema = recordCopySchema.extend({
|
|
46
|
+
id: z.number().int().nullable().meta({ description: "Null for a release's implicit default copy" }),
|
|
47
|
+
created_at: dateTime().nullable(),
|
|
48
|
+
updated_at: dateTime().nullable(),
|
|
49
|
+
});
|
|
50
|
+
export const recordActionDetailsSchema = z
|
|
51
|
+
.object({ method: cleaningMethodSchema.optional() })
|
|
52
|
+
.strict();
|
|
53
|
+
export const recordActionSchema = z.object({
|
|
54
|
+
id: z.number().int(),
|
|
55
|
+
copy_id: z.number().int(),
|
|
56
|
+
friend_id: z.number().int(),
|
|
57
|
+
action_type: recordActionTypeSchema,
|
|
58
|
+
occurred_at: dateTime(),
|
|
59
|
+
notes: z.string().nullable().meta({ example: "Two passes, air dried overnight." }),
|
|
60
|
+
sleeve_type: sleeveTypeSchema.nullable().meta({ description: "Set only on a sleeved action" }),
|
|
61
|
+
details: recordActionDetailsSchema,
|
|
62
|
+
voided_at: dateTime()
|
|
63
|
+
.nullable()
|
|
64
|
+
.meta({ description: "Set once voided; a voided action stays in the history", example: null }),
|
|
65
|
+
created_at: dateTime(),
|
|
66
|
+
});
|
|
67
|
+
/** One row of the care views; `copy_id` null is an album's implicit default copy. */
|
|
68
|
+
export const recordCareItemSchema = z.object({
|
|
69
|
+
friend_id: z.number().int(),
|
|
70
|
+
release_id: z.string(),
|
|
71
|
+
album_title: z.string(),
|
|
72
|
+
album_artist: z.string(),
|
|
73
|
+
album_thumbnail: z.string().nullable(),
|
|
74
|
+
copy_id: z
|
|
75
|
+
.number()
|
|
76
|
+
.int()
|
|
77
|
+
.nullable()
|
|
78
|
+
.meta({ description: "Null for an album with no copy rows: its implicit default copy" }),
|
|
79
|
+
is_default: z.boolean(),
|
|
80
|
+
label: z.string().nullable().meta({ example: null }),
|
|
81
|
+
inner_sleeve_type: sleeveTypeSchema.nullable(),
|
|
82
|
+
last_cleaned_at: dateTime().nullable(),
|
|
83
|
+
});
|
|
84
|
+
export const recordCopyListResponseSchema = z.object({
|
|
85
|
+
items: z.array(recordCopyListItemSchema),
|
|
86
|
+
// Days since a cleaning before a copy is overdue, so a client can flag one
|
|
87
|
+
// without asking for the whole care summary.
|
|
88
|
+
overdue_days: z.number().int(),
|
|
89
|
+
});
|
|
90
|
+
export const recordCopyResponseSchema = z.object({ copy: recordCopySchema });
|
|
91
|
+
export const recordCopyDeleteResponseSchema = z.object({
|
|
92
|
+
success: z.boolean(),
|
|
93
|
+
copy: recordCopySchema,
|
|
94
|
+
});
|
|
95
|
+
export const recordActionListResponseSchema = z.object({
|
|
96
|
+
items: z.array(recordActionSchema),
|
|
97
|
+
limit: z.number().int(),
|
|
98
|
+
offset: z.number().int(),
|
|
99
|
+
});
|
|
100
|
+
export const recordActionMutationResponseSchema = z.object({
|
|
101
|
+
action: recordActionSchema,
|
|
102
|
+
/** The copy with its care state after the change. */
|
|
103
|
+
copy: recordCopySchema,
|
|
104
|
+
});
|
|
105
|
+
export const recordActionVoidResponseSchema = recordActionMutationResponseSchema.extend({
|
|
106
|
+
success: z.boolean(),
|
|
107
|
+
});
|
|
108
|
+
export const recordCareResponseSchema = z.object({
|
|
109
|
+
items: z.array(recordCareItemSchema),
|
|
110
|
+
total: z.number().int(),
|
|
111
|
+
limit: z.number().int(),
|
|
112
|
+
offset: z.number().int(),
|
|
113
|
+
overdue_days: z.number().int(),
|
|
114
|
+
needs_sleeve_type: sleeveTypeSchema,
|
|
115
|
+
});
|
|
116
|
+
export const recordCareSummarySchema = z.object({
|
|
117
|
+
total: z.number().int(),
|
|
118
|
+
never_cleaned: z.number().int(),
|
|
119
|
+
overdue: z.number().int(),
|
|
120
|
+
needs_sleeve: z.number().int(),
|
|
121
|
+
by_sleeve_type: z.object({
|
|
122
|
+
original: z.number().int(),
|
|
123
|
+
paper: z.number().int(),
|
|
124
|
+
"poly-rice-paper-poly": z.number().int(),
|
|
125
|
+
poly: z.number().int(),
|
|
126
|
+
unknown: z.number().int(),
|
|
127
|
+
}),
|
|
128
|
+
overdue_days: z.number().int(),
|
|
129
|
+
needs_sleeve_type: sleeveTypeSchema,
|
|
130
|
+
});
|
|
131
|
+
// ── Requests ────────────────────────────────────────────────────────────────
|
|
132
|
+
// Bodies are exported twice: the plain object (`*ObjectSchema`), which the
|
|
133
|
+
// app extends with its text-coercing ids, and the refined wire schema. Zod
|
|
134
|
+
// refuses to `.extend()` an object once it carries refinements, so each
|
|
135
|
+
// refinement is exported too and the app reapplies it.
|
|
136
|
+
const copyNoteFields = {
|
|
137
|
+
label: z.string().max(100).nullable().optional(),
|
|
138
|
+
notes: z.string().nullable().optional(),
|
|
139
|
+
};
|
|
140
|
+
export const recordCopyCreateSchema = z.object({
|
|
141
|
+
friend_id: z.number().int(),
|
|
142
|
+
release_id: z.string().min(1),
|
|
143
|
+
...copyNoteFields,
|
|
144
|
+
});
|
|
145
|
+
/** Shared by both copy updates: there must be something to change. */
|
|
146
|
+
export const requireLabelOrNotes = [
|
|
147
|
+
(value) => value.label !== undefined || value.notes !== undefined,
|
|
148
|
+
{ message: "Provide label or notes" },
|
|
149
|
+
];
|
|
150
|
+
/** The sleeve is not editable here: log a `sleeved` action. */
|
|
151
|
+
export const recordCopyUpdateObjectSchema = z.object({
|
|
152
|
+
friend_id: z.number().int(),
|
|
153
|
+
...copyNoteFields,
|
|
154
|
+
});
|
|
155
|
+
export const recordCopyUpdateSchema = recordCopyUpdateObjectSchema.refine(...requireLabelOrNotes);
|
|
156
|
+
/** Label or annotate a release's default copy, real or still implicit. */
|
|
157
|
+
export const recordCopyDefaultUpdateObjectSchema = z.object({
|
|
158
|
+
friend_id: z.number().int(),
|
|
159
|
+
release_id: z.string().min(1),
|
|
160
|
+
...copyNoteFields,
|
|
161
|
+
});
|
|
162
|
+
export const recordCopyDefaultUpdateSchema = recordCopyDefaultUpdateObjectSchema.refine(...requireLabelOrNotes);
|
|
163
|
+
const timestampSchema = z
|
|
164
|
+
.string()
|
|
165
|
+
.min(1)
|
|
166
|
+
.refine((value) => !Number.isNaN(Date.parse(value)), "Must be a date-time");
|
|
167
|
+
export const recordActionCreateObjectSchema = z.object({
|
|
168
|
+
friend_id: z.number().int(),
|
|
169
|
+
copy_id: z.number().int().optional(),
|
|
170
|
+
release_id: z.string().min(1).optional(),
|
|
171
|
+
action_type: recordActionTypeSchema,
|
|
172
|
+
occurred_at: timestampSchema.optional().meta({ format: "date-time", description: "Defaults to now; may be backdated" }),
|
|
173
|
+
notes: z.string().nullable().optional(),
|
|
174
|
+
sleeve_type: sleeveTypeSchema.optional().meta({ description: "Required for a sleeved action, and only for one" }),
|
|
175
|
+
details: recordActionDetailsSchema.optional().meta({ description: "`method` only for a cleaned action" }),
|
|
176
|
+
});
|
|
177
|
+
/** Rules a single JSON Schema cannot state; the route description repeats them. */
|
|
178
|
+
export function refineRecordActionCreate(value, ctx) {
|
|
179
|
+
if ((value.copy_id === undefined) === (value.release_id === undefined)) {
|
|
180
|
+
ctx.addIssue({ code: "custom", message: "Provide exactly one of copy_id or release_id" });
|
|
181
|
+
}
|
|
182
|
+
if ((value.action_type === "sleeved") !== (value.sleeve_type !== undefined)) {
|
|
183
|
+
ctx.addIssue({
|
|
184
|
+
code: "custom",
|
|
185
|
+
path: ["sleeve_type"],
|
|
186
|
+
message: "sleeve_type is required for a sleeved action, and only for one",
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (value.details?.method !== undefined && value.action_type !== "cleaned") {
|
|
190
|
+
ctx.addIssue({
|
|
191
|
+
code: "custom",
|
|
192
|
+
path: ["details", "method"],
|
|
193
|
+
message: "details.method is only for a cleaned action",
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
export const recordActionCreateSchema = recordActionCreateObjectSchema.superRefine(refineRecordActionCreate);
|
|
198
|
+
// Query strings: these describe the coerced wire values. The app's route
|
|
199
|
+
// schemas keep their own text coercion and defaults.
|
|
200
|
+
export const recordActionListQuerySchema = z.object({
|
|
201
|
+
friend_id: z.number().int(),
|
|
202
|
+
action_type: recordActionTypeSchema.optional(),
|
|
203
|
+
include_voided: z.boolean().optional(),
|
|
204
|
+
limit: z.number().int().min(0).optional(),
|
|
205
|
+
offset: z.number().int().min(0).optional(),
|
|
206
|
+
});
|
|
207
|
+
export const recordCareQuerySchema = z.object({
|
|
208
|
+
friend_id: z.number().int(),
|
|
209
|
+
status: recordCareStatusSchema.optional(),
|
|
210
|
+
/** Defaults to the server's RECORD_CLEANING_OVERDUE_DAYS (365). */
|
|
211
|
+
overdue_days: z.number().int().min(1).optional(),
|
|
212
|
+
/** Defaults to poly-rice-paper-poly. */
|
|
213
|
+
needs_sleeve: sleeveTypeSchema.optional(),
|
|
214
|
+
sleeve_type: recordSleeveFilterSchema.optional(),
|
|
215
|
+
limit: z.number().int().min(0).optional(),
|
|
216
|
+
offset: z.number().int().min(0).optional(),
|
|
217
|
+
});
|
|
218
|
+
export const recordCareSummaryQuerySchema = recordCareQuerySchema.pick({
|
|
219
|
+
friend_id: true,
|
|
220
|
+
overdue_days: true,
|
|
221
|
+
needs_sleeve: true,
|
|
222
|
+
});
|
|
223
|
+
export const recordCareJsonSchemas = {
|
|
224
|
+
SleeveType: z.toJSONSchema(sleeveTypeSchema),
|
|
225
|
+
RecordActionType: z.toJSONSchema(recordActionTypeSchema),
|
|
226
|
+
CleaningMethod: z.toJSONSchema(cleaningMethodSchema),
|
|
227
|
+
RecordCareStatus: z.toJSONSchema(recordCareStatusSchema),
|
|
228
|
+
RecordCopy: z.toJSONSchema(recordCopySchema),
|
|
229
|
+
RecordCopyListItem: z.toJSONSchema(recordCopyListItemSchema),
|
|
230
|
+
RecordAction: z.toJSONSchema(recordActionSchema),
|
|
231
|
+
RecordCareItem: z.toJSONSchema(recordCareItemSchema),
|
|
232
|
+
RecordCopyListResponse: z.toJSONSchema(recordCopyListResponseSchema),
|
|
233
|
+
RecordCopyResponse: z.toJSONSchema(recordCopyResponseSchema),
|
|
234
|
+
RecordCopyDeleteResponse: z.toJSONSchema(recordCopyDeleteResponseSchema),
|
|
235
|
+
RecordActionListResponse: z.toJSONSchema(recordActionListResponseSchema),
|
|
236
|
+
RecordActionMutationResponse: z.toJSONSchema(recordActionMutationResponseSchema),
|
|
237
|
+
RecordActionVoidResponse: z.toJSONSchema(recordActionVoidResponseSchema),
|
|
238
|
+
RecordCareResponse: z.toJSONSchema(recordCareResponseSchema),
|
|
239
|
+
RecordCareSummary: z.toJSONSchema(recordCareSummarySchema),
|
|
240
|
+
RecordCopyCreate: z.toJSONSchema(recordCopyCreateSchema, { io: "input" }),
|
|
241
|
+
RecordCopyUpdate: z.toJSONSchema(recordCopyUpdateSchema, { io: "input" }),
|
|
242
|
+
RecordCopyDefaultUpdate: z.toJSONSchema(recordCopyDefaultUpdateSchema, { io: "input" }),
|
|
243
|
+
RecordActionCreate: z.toJSONSchema(recordActionCreateSchema, { io: "input" }),
|
|
244
|
+
};
|
|
245
|
+
//# sourceMappingURL=recordCare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordCare.js","sourceRoot":"","sources":["../src/recordCare.ts"],"names":[],"mappings":"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"}
|