@zougui/furaffinity
Version:
59 lines • 2.31 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.submissionSchema = exports.internalSubmissionSchema = void 0;
const zod_1 = require("zod");
exports.internalSubmissionSchema = zod_1.z.object({
id: zod_1.z.number().min(1).int(),
url: zod_1.z.string().url().min(1),
type: zod_1.z.enum(['image', 'story', 'music', 'flash', 'unknown']),
rating: zod_1.z.enum(['General', 'Mature', 'Adult']),
title: zod_1.z.string().min(1),
thumbnailUrl: zod_1.z.string().url().min(1),
contentUrl: zod_1.z.string().url().min(1),
authorName: zod_1.z.string().min(1),
authorUrl: zod_1.z.string().url().min(1),
authorAvatar: zod_1.z.string().url().min(1),
descriptionText: zod_1.z.string(),
descriptionHtml: zod_1.z.string(),
keywords: zod_1.z.array(zod_1.z.string().min(1)),
postedAt: zod_1.z.date(),
}).transform(submission => {
const publicSubmission = {
id: submission.id,
url: submission.url,
type: submission.type,
rating: submission.rating,
title: submission.title,
thumbnailUrl: submission.thumbnailUrl,
contentUrl: submission.contentUrl,
author: {
name: submission.authorName,
url: submission.authorUrl,
avatar: submission.authorAvatar,
},
descriptionText: submission.descriptionText,
descriptionHtml: submission.descriptionHtml,
keywords: submission.keywords,
postedAt: submission.postedAt,
};
return publicSubmission;
});
exports.submissionSchema = zod_1.z.object({
id: zod_1.z.number().min(1).int(),
url: zod_1.z.string().url().min(1),
type: zod_1.z.enum(['image', 'story', 'music', 'flash', 'unknown']),
rating: zod_1.z.enum(['General', 'Mature', 'Adult']),
title: zod_1.z.string().min(1),
thumbnailUrl: zod_1.z.string().url().min(1),
contentUrl: zod_1.z.string().url().min(1),
author: zod_1.z.object({
name: zod_1.z.string().min(1),
url: zod_1.z.string().url().min(1),
avatar: zod_1.z.string().url().min(1),
}),
descriptionText: zod_1.z.string(),
descriptionHtml: zod_1.z.string(),
keywords: zod_1.z.array(zod_1.z.string().min(1)),
postedAt: zod_1.z.date(),
});
//# sourceMappingURL=schema.js.map