Skip to content

Commit

Permalink
converted ProcessTriple to typegoose
Browse files Browse the repository at this point in the history
  • Loading branch information
andrefs committed Oct 18, 2023
1 parent 5cf6fa5 commit 46cd582
Showing 1 changed file with 13 additions and 34 deletions.
47 changes: 13 additions & 34 deletions src/models/ProcessTriple.ts
Original file line number Diff line number Diff line change
@@ -1,41 +1,20 @@
import { Schema, model, Model, Document } from 'mongoose';
import { createLogger } from '@derzis/common';
import { SimpleTriple } from './Triple';
import { TripleClass } from './Triple';
const log = createLogger('Counter');
import { prop, index, getModelForClass } from '@typegoose/typegoose';

export interface IProcessTriple {
processId: String;
triple: SimpleTriple;
}

export interface IProcessTripleDocument extends IProcessTriple, Document {}
@index({ processId: 1, triple: 1 }, { unique: true })
class ProcessTripleClass {
@prop({ required: true })
public processId!: string;

interface IProcessTripleModel extends Model<IProcessTripleDocument> {}

const ProcessTripleSchema: Schema<IProcessTripleDocument> = new Schema(
{
processId: {
type: String,
required: true,
},
triple: {
type: Schema.Types.ObjectId,
ref: 'Triple',
required: true,
},
},
{ timestamps: true }
);
@prop({ required: true, ref: 'Triple' })
public triple!: TripleClass;
}

ProcessTripleSchema.index(
{
processId: 1,
triple: 1,
},
{ unique: true }
);
const ProcessTriple = getModelForClass(ProcessTripleClass, {
schemaOptions: { timestamps: true },
});

export const ProcessTriple = model<IProcessTripleDocument, IProcessTripleModel>(
'ProcessTriple',
ProcessTripleSchema
);
export { ProcessTriple, ProcessTripleClass };

0 comments on commit 46cd582

Please sign in to comment.