📚 Changes to CV model

This commit is contained in:
2024-04-14 00:25:41 -04:00
parent c6651cdd91
commit 94cb95f4bf
5 changed files with 45 additions and 135 deletions

View File

@@ -1,6 +1,5 @@
const paginate = require("mongoose-paginate-v2");
const { Client } = require("@elastic/elasticsearch");
import ComicVineMetadataSchema from "./comicvine.metadata.model";
import { mongoosastic } from "mongoosastic-ts";
const mongoose = require("mongoose");
import {
@@ -56,6 +55,29 @@ const DirectConnectBundleSchema = mongoose.Schema({
size: String,
type: {},
});
const wantedSchema = new mongoose.Schema({
source: { type: String, default: null },
markEntireVolumeWanted: Boolean,
issues: {
type: [
{
id: Number,
url: String,
image: { type: Array, default: [] },
},
],
default: null, // Set default to null for issues
},
volume: {
type: {
id: Number,
url: String,
image: { type: Array, default: [] },
name: String,
},
default: null, // Set default to null for volume
},
});
const ComicSchema = mongoose.Schema(
{
@@ -72,7 +94,7 @@ const ComicSchema = mongoose.Schema(
sourcedMetadata: {
comicInfo: { type: mongoose.Schema.Types.Mixed, default: {} },
comicvine: {
type: ComicVineMetadataSchema,
type: Object,
es_indexed: true,
default: {},
},
@@ -102,11 +124,9 @@ const ComicSchema = mongoose.Schema(
subtitle: { type: String, es_indexed: true },
},
},
wanted: wantedSchema,
acquisition: {
source: {
wanted: Boolean,
name: String,
},
release: {},
directconnect: {
downloads: {

View File

@@ -1,95 +0,0 @@
const mongoose = require("mongoose");
const Things = mongoose.Schema({
_id: false,
api_detail_url: String,
id: Number,
name: String,
site_detail_url: String,
count: String,
});
const Issue = mongoose.Schema({
_id: false,
api_detail_url: String,
id: Number,
name: String,
issue_number: String,
});
const VolumeInformation = mongoose.Schema({
_id: false,
aliases: [String],
api_detail_url: String,
characters: [Things],
concepts: [Things],
count_of_issues: String,
date_added: String,
date_last_updated: String,
deck: String,
description: String,
first_issue: Issue,
id: Number,
image: {
icon_url: String,
medium_url: String,
screen_url: String,
screen_large_url: String,
small_url: String,
super_url: String,
thumb_url: String,
tiny_url: String,
original_url: String,
image_tags: String,
},
issues: [
{
api_detail_url: String,
id: Number,
name: String,
issue_number: String,
site_detail_url: String,
},
],
last_issue: Issue,
locations: [Things],
name: String,
objects: [Things],
people: [Things],
publisher: {
api_detail_url: String,
id: Number,
name: String,
},
site_detail_url: String,
start_year: String,
});
const ComicVineMetadataSchema = mongoose.Schema({
_id: false,
aliases: [String],
api_detail_url: String,
has_staff_review: { type: mongoose.Schema.Types.Mixed },
cover_date: Date,
date_added: String,
date_last_updated: String,
deck: String,
description: String,
image: {
icon_url: String,
medium_url: String,
screen_url: String,
screen_large_url: String,
small_url: String,
super_url: String,
thumb_url: String,
tiny_url: String,
original_url: String,
image_tags: String,
},
id: Number,
name: String,
resource_type: String,
volumeInformation: VolumeInformation,
});
export default ComicVineMetadataSchema;