Skip to content

Commit

Permalink
Merge pull request #10 from knovator/file-upload-mapping_dal
Browse files Browse the repository at this point in the history
Dal repositories for File, Upload and Mapping
  • Loading branch information
chavda-bhavik authored Oct 7, 2022
2 parents 8fedbc3 + aa738d5 commit 9469f85
Show file tree
Hide file tree
Showing 15 changed files with 177 additions and 0 deletions.
3 changes: 3 additions & 0 deletions libs/dal/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ export * from './repositories/project';
export * from './repositories/common';
export * from './repositories/template';
export * from './repositories/column';
export * from './repositories/file';
export * from './repositories/upload';
export * from './repositories/mapping';
11 changes: 11 additions & 0 deletions libs/dal/src/repositories/file/file.entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export class FileEntity {
_id?: string;

name: string;

originalName: string;

mimeType: string;

path: string;
}
9 changes: 9 additions & 0 deletions libs/dal/src/repositories/file/file.repository.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { BaseRepository } from '../base-repository';
import { FileEntity } from './file.entity';
import { File } from './file.schema';

export class FileRepository extends BaseRepository<FileEntity> {
constructor() {
super(File, FileEntity);
}
}
19 changes: 19 additions & 0 deletions libs/dal/src/repositories/file/file.schema.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Schema, Document, model, models } from 'mongoose';
import { schemaOptions } from '../schema-default.options';
import { FileEntity } from './file.entity';

const fileSchema = new Schema(
{
name: String,
originalName: String,
mimeType: String,
path: String,
},
{ ...schemaOptions }
);

interface IFileDocument extends FileEntity, Document {
_id: never;
}

export const File = models.File || model<IFileDocument>('File', fileSchema);
3 changes: 3 additions & 0 deletions libs/dal/src/repositories/file/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from './file.entity';
export * from './file.repository';
export * from './file.schema';
3 changes: 3 additions & 0 deletions libs/dal/src/repositories/mapping/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from './mapping.entity';
export * from './mapping.repository';
export * from './mapping.schema';
9 changes: 9 additions & 0 deletions libs/dal/src/repositories/mapping/mapping.entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export class MappingEntity {
_id?: string;

_columnId: string;

_uploadId: string;

columnHeading: string;
}
9 changes: 9 additions & 0 deletions libs/dal/src/repositories/mapping/mapping.repository.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { BaseRepository } from '../base-repository';
import { MappingEntity } from './mapping.entity';
import { Mapping } from './mapping.schema';

export class MappingRepository extends BaseRepository<MappingEntity> {
constructor() {
super(Mapping, MappingEntity);
}
}
24 changes: 24 additions & 0 deletions libs/dal/src/repositories/mapping/mapping.schema.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Schema, Document, model, models } from 'mongoose';
import { schemaOptions } from '../schema-default.options';
import { MappingEntity } from './mapping.entity';

const mappingSchema = new Schema(
{
columnHeading: String,
_columnId: {
type: Schema.Types.String,
ref: 'Column',
},
_uploadId: {
type: Schema.Types.String,
ref: 'Upload',
},
},
{ ...schemaOptions }
);

interface IMappingDocument extends MappingEntity, Document {
_id: never;
}

export const Mapping = models.Mapping || model<IMappingDocument>('Mapping', mappingSchema);
3 changes: 3 additions & 0 deletions libs/dal/src/repositories/upload/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from './upload.entity';
export * from './upload.repository';
export * from './upload.schema';
27 changes: 27 additions & 0 deletions libs/dal/src/repositories/upload/upload.entity.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
export class UploadEntity {
_id?: string;

_templateId: string;

_uploadedFileId: string;

_validDataFileId: string;

_invalidDataFileId: string;

headings: string[];

uploadedDate: Date;

totalRecords: number;

validRecords: number;

invalidRecords: number;

authHeaderValue: string;

status: string;

extra: string;
}
9 changes: 9 additions & 0 deletions libs/dal/src/repositories/upload/upload.repository.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { BaseRepository } from '../base-repository';
import { UploadEntity } from './upload.entity';
import { Upload } from './upload.schema';

export class UploadRepository extends BaseRepository<UploadEntity> {
constructor() {
super(Upload, UploadEntity);
}
}
39 changes: 39 additions & 0 deletions libs/dal/src/repositories/upload/upload.schema.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { Schema, Document, model, models } from 'mongoose';
import { schemaOptions } from '../schema-default.options';
import { UploadEntity } from './upload.entity';

const uploadSchema = new Schema(
{
_templateId: {
type: Schema.Types.String,
ref: 'Template',
},
_uploadedFileId: {
type: Schema.Types.String,
ref: 'File',
},
_validDataFileId: {
type: Schema.Types.String,
ref: 'File',
},
_invalidDataFileId: {
type: Schema.Types.String,
ref: 'File',
},
headings: [String],
uploadDate: Date,
totalRecords: Number,
validRecords: String,
invalidRecords: String,
authHeaderValue: String,
status: String,
extra: String,
},
{ ...schemaOptions }
);

interface IUploadDocument extends UploadEntity, Document {
_id: never;
}

export const Upload = models.Upload || model<IUploadDocument>('Upload', uploadSchema);
1 change: 1 addition & 0 deletions libs/shared/src/types/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export * from './column/column.types';
export * from './upload/upload.types';
8 changes: 8 additions & 0 deletions libs/shared/src/types/upload/upload.types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export enum UploadStatusEnum {
'MAPPING' = 'Mapping',
'REVIEWING' = 'Reviewing',
'REVIEWED' = 'Reviewed',
'CONFIRMED' = 'Confirmed',
'PROCESSING' = 'Processing',
'COMPLETED' = 'Completed',
}

0 comments on commit 9469f85

Please sign in to comment.