Skip to content

Commit

Permalink
Merge pull request #7729 from ever-co/develop
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
evereq authored Apr 5, 2024
2 parents 7bd2e07 + a4f18d8 commit d46c2cb
Show file tree
Hide file tree
Showing 41 changed files with 213 additions and 127 deletions.
2 changes: 1 addition & 1 deletion apps/desktop-timer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"sqlite3": "^5.1.7",
"squirrelly": "^8.0.8",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"underscore": "^1.13.3",
"undici": "^6.10.2"
},
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop-timer/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@
"squirrelly": "^8.0.8",
"tslib": "^2.3.0",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"underscore": "^1.13.3",
"undici": "^6.10.2"
}
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
"sqlite3": "^5.1.7",
"squirrelly": "^8.0.8",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"typeorm": "^0.3.20",
"undici": "^6.10.2"
},
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@
"squirrelly": "^8.0.8",
"tslib": "^2.3.0",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"underscore": "^1.13.3",
"screenshot-desktop": "^1.15.0",
"mac-screen-capture-permissions": "^2.1.0",
Expand Down
2 changes: 1 addition & 1 deletion apps/gauzy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@
"swiper": "^8.3.1",
"tslib": "^2.3.0",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"typeface-exo": "^0.0.61",
"underscore": "^1.13.3",
"underscore.string": "^3.3.6",
Expand Down
2 changes: 1 addition & 1 deletion apps/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
"sqlite3": "^5.1.7",
"squirrelly": "^8.0.8",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"typeorm": "^0.3.20",
"undici": "^6.10.2"
},
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
"squirrelly": "^8.0.8",
"tslib": "^2.3.0",
"twing": "^5.0.2",
"locutus": "2.0.16",
"locutus": "^2.0.30",
"underscore": "^1.13.3",
"undici": "^6.10.2"
},
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,8 @@
"@angular-devkit/build-angular": "^16.2.11",
"@angular-devkit/core": "^16.2.11",
"rxjs": "^7.4.0",
"autoprefixer": "10.4.14"
"autoprefixer": "10.4.14",
"locutus": "^2.0.30"
},
"dependencies": {
"@angular/animations": "^16.2.12",
Expand Down Expand Up @@ -404,6 +405,9 @@
},
"iconv": {
"node-gyp": "9.3.1"
},
"twing": {
"locutus": "2.0.30"
}
},
"engines": {
Expand Down
8 changes: 7 additions & 1 deletion packages/contracts/src/date-picker.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,10 @@ export interface IDateRangePicker {
startDate: Date;
endDate: Date;
isCustomDate?: boolean;
}
}

//
export type DateRange = {
start: string | Date;
end: string | Date;
};
7 changes: 6 additions & 1 deletion packages/core/src/candidate/candidate.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ import {
MultiORMManyToMany,
MultiORMManyToOne,
MultiORMOneToMany,
MultiORMOneToOne
MultiORMOneToOne,
VirtualMultiOrmColumn
} from './../core/decorators/entity';
import { MikroOrmCandidateRepository } from './repository/mikro-orm-candidate.repository';

Expand Down Expand Up @@ -106,7 +107,11 @@ export class Candidate extends TenantOrganizationBaseEntity implements ICandidat
@MultiORMColumn({ nullable: true })
cvUrl?: string;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
ratings?: number;

@VirtualMultiOrmColumn()
alreadyHired?: boolean;

/*
Expand Down
1 change: 1 addition & 0 deletions packages/core/src/core/decorators/entity/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ export * from './entity.decorator';
export * from './column.decorator';
export * from './column-index.decorator';
export * from './relations';
export * from './virtual-column.decorator';
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { Property as MikroORMColumn, PropertyOptions as MikroORMPropertyOptions } from '@mikro-orm/core';

/**
* Custom decorator to define a non-persistent (virtual) column in a MikroORM entity.
*
* @param options Additional options for the property. Defaults to { persist: false }.
* @returns A property decorator function.
*/
export function VirtualMultiOrmColumn<T extends object>(
options: MikroORMPropertyOptions<T> = {
persist: false
}
): PropertyDecorator {
return (target: any, propertyKey: string) => {
MikroORMColumn(options)(target, propertyKey);
};
}
24 changes: 19 additions & 5 deletions packages/core/src/core/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { sample } from 'underscore';
import * as path from 'path';
import * as fs from 'fs';
import * as os from 'os';
import { IDateRange, IUser } from '@gauzy/contracts';
import { DateRange, IDateRange, IUser } from '@gauzy/contracts';
import { IDBConnectionOptions } from '@gauzy/common';
import { getConfig, DatabaseTypeEnum } from '@gauzy/config';
import { moment } from './../core/moment-extend';
Expand Down Expand Up @@ -214,10 +214,7 @@ export function mergeOverlappingDateRanges(ranges: IDateRange[]): IDateRange[] {
export function getDateRangeFormat(
startDate: moment.Moment,
endDate: moment.Moment
): {
start: string | Date;
end: string | Date;
} {
): DateRange {
let start = moment(startDate);
let end = moment(endDate);

Expand Down Expand Up @@ -494,6 +491,23 @@ export function concatIdToWhere<T>(id: any, where: MikroFilterQuery<T>): MikroFi
return where;
}

/**
* Adds 'tenantId' to a 'where' clause, supporting both objects and arrays.
*
* @param tenantId - The tenant ID to add.
* @param where - The current 'where' clause.
* @returns An updated 'where' clause including the 'tenantId'.
*/
export function enhanceWhereWithTenantId<T>(tenantId: any, where: MikroFilterQuery<T>): MikroFilterQuery<T> {
if (Array.isArray(where)) {
// Merge tenantId into each object of the array
return where.map(condition => ({ ...condition, tenantId }));
} else {
// Merge where with tenantId if where is an object
return { ...where, tenantId };
}
}

/**
* Convert TypeORM's FindManyOptions to MikroORM's equivalent options.
*
Expand Down
4 changes: 3 additions & 1 deletion packages/core/src/email-reset/email-reset.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { IsEmail, IsOptional, IsUUID } from 'class-validator';
import { Exclude } from 'class-transformer';
import { IEmailReset, IUser } from '@gauzy/contracts';
import { TenantBaseEntity, User } from '../core/entities/internal';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne } from './../core/decorators/entity';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmEmailResetRepository } from './repository/mikro-orm-email-reset.repository';

@MultiORMEntity('email_reset', { mikroOrmRepository: () => MikroOrmEmailResetRepository })
Expand Down Expand Up @@ -39,6 +39,8 @@ export class EmailReset extends TenantBaseEntity implements IEmailReset {
@MultiORMColumn({ nullable: true })
expiredAt: Date;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
isExpired: boolean;

/*
Expand Down
4 changes: 3 additions & 1 deletion packages/core/src/email-template/email-template.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ApiProperty } from '@nestjs/swagger';
import { IEmailTemplate } from '@gauzy/contracts';
import { isMySQL } from "@gauzy/config";
import { TenantOrganizationBaseEntity } from '../core/entities/internal';
import { ColumnIndex, MultiORMColumn, MultiORMEntity } from './../core/decorators/entity';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmEmailTemplateRepository } from './repository/mikro-orm-email-template.repository';

@MultiORMEntity('email_template', { mikroOrmRepository: () => MikroOrmEmailTemplateRepository })
Expand All @@ -27,6 +27,8 @@ export class EmailTemplate extends TenantOrganizationBaseEntity
@MultiORMColumn({ ...(isMySQL() ? { type: "longtext" } : {}) })
hbs: string;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
title?: string;

/*
Expand Down
10 changes: 6 additions & 4 deletions packages/core/src/employee/employee.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import {
MultiORMManyToMany,
MultiORMManyToOne,
MultiORMOneToMany,
MultiORMOneToOne
MultiORMOneToOne,
VirtualMultiOrmColumn
} from './../core/decorators/entity';
import {
CurrenciesEnum,
Expand Down Expand Up @@ -326,10 +327,11 @@ export class Employee extends TenantOrganizationBaseEntity implements IEmployee
@MultiORMColumn({ nullable: true })
linkedInId?: string;

/**
* Additional Property
*/
/** Additional virtual columns */
@VirtualMultiOrmColumn()
fullName?: string;

@VirtualMultiOrmColumn()
isDeleted?: boolean;

/*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { IsDate, IsEnum, IsNotEmpty, IsNumber, IsOptional } from 'class-validato
import { Exclude } from 'class-transformer';
import { IImportHistory, ImportStatusEnum } from '@gauzy/contracts';
import { TenantBaseEntity } from '../../core/entities/internal';
import { MultiORMColumn, MultiORMEntity } from '../../core/decorators/entity';
import { MultiORMColumn, MultiORMEntity, VirtualMultiOrmColumn } from '../../core/decorators/entity';
import { MikroOrmImportHistoryRepository } from './repository/mikro-orm-import-history.repository';

@MultiORMEntity('import-history', { mikroOrmRepository: () => MikroOrmImportHistoryRepository })
Expand Down Expand Up @@ -38,5 +38,7 @@ export class ImportHistory extends TenantBaseEntity implements IImportHistory {
@MultiORMColumn({ default: () => 'CURRENT_TIMESTAMP' })
importDate?: Date;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
public fullUrl?: string;
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ApiProperty } from '@nestjs/swagger';
import { IsDate } from 'class-validator';
import { IImportRecord } from '@gauzy/contracts';
import { MultiORMColumn, MultiORMEntity } from './../../core/decorators/entity';
import { MultiORMColumn, MultiORMEntity, VirtualMultiOrmColumn } from './../../core/decorators/entity';
import { TenantBaseEntity } from '../../core/entities/internal';
import { MikroOrmImportRecordRepository } from './repository/mikro-orm-import-record.repository';

Expand All @@ -25,5 +25,7 @@ export class ImportRecord extends TenantBaseEntity implements IImportRecord {
@MultiORMColumn({ nullable: false, default: () => 'CURRENT_TIMESTAMP' })
importDate?: Date;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
wasCreated?: boolean;
}
6 changes: 5 additions & 1 deletion packages/core/src/feature/feature.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
IFeatureOrganization
} from '@gauzy/contracts';
import { BaseEntity, FeatureOrganization } from '../core/entities/internal';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne, MultiORMOneToMany } from './../core/decorators/entity';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne, MultiORMOneToMany, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmFeatureRepository } from './repository/mikro-orm-feature.repository';

@MultiORMEntity('feature', { mikroOrmRepository: () => MikroOrmFeatureRepository })
Expand Down Expand Up @@ -49,7 +49,11 @@ export class Feature extends BaseEntity implements IFeature {
@MultiORMColumn({ nullable: true })
icon: string;

/** Additional virtual columns */
@VirtualMultiOrmColumn()
isEnabled?: boolean;

@VirtualMultiOrmColumn()
imageUrl?: string;

/*
Expand Down
8 changes: 5 additions & 3 deletions packages/core/src/image-asset/image-asset.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
Equipment,
Warehouse
} from './../core/entities/internal';
import { MultiORMColumn, MultiORMEntity, MultiORMManyToMany, MultiORMOneToMany } from './../core/decorators/entity';
import { MultiORMColumn, MultiORMEntity, MultiORMManyToMany, MultiORMOneToMany, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmImageAssetRepository } from './repository/mikro-orm-image-asset.repository';

@MultiORMEntity('image_asset', { mikroOrmRepository: () => MikroOrmImageAssetRepository })
Expand Down Expand Up @@ -75,9 +75,11 @@ export class ImageAsset extends TenantOrganizationBaseEntity implements IImageAs
})
storageProvider?: FileStorageProviderEnum;


/** Additional fields */
/** Additional virtual columns */
@VirtualMultiOrmColumn()
fullUrl?: string;

@VirtualMultiOrmColumn()
thumbUrl?: string;

/*
Expand Down
5 changes: 3 additions & 2 deletions packages/core/src/integration/integration.entity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { IIntegration, IIntegrationType, ITag } from '@gauzy/contracts';
import { ColumnNumericTransformerPipe } from './../shared/pipes';
import { BaseEntity, Tag } from '../core/entities/internal';
import { IntegrationType } from './integration-type.entity';
import { MultiORMColumn, MultiORMEntity, MultiORMManyToMany } from './../core/decorators/entity';
import { MultiORMColumn, MultiORMEntity, MultiORMManyToMany, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmIntegrationRepository } from './repository/mikro-orm-integration.repository';

@MultiORMEntity('integration', { mikroOrmRepository: () => MikroOrmIntegrationRepository })
Expand Down Expand Up @@ -77,7 +77,8 @@ export class Integration extends BaseEntity implements IIntegration {
@MultiORMColumn({ nullable: true })
order: number;

/** Additional fields */
/** Additional virtual columns */
@VirtualMultiOrmColumn()
fullImgUrl?: string;
/*
|--------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
OrganizationTeamJoinRequestStatusEnum
} from '@gauzy/contracts';
import { OrganizationTeam, TenantOrganizationBaseEntity, User } from '../core/entities/internal';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne } from './../core/decorators/entity';
import { ColumnIndex, MultiORMColumn, MultiORMEntity, MultiORMManyToOne, VirtualMultiOrmColumn } from './../core/decorators/entity';
import { MikroOrmOrganizationTeamJoinRequestRepository } from './repository/mikro-orm-organization-team-join-request.repository';

@MultiORMEntity('organization_team_join_request', { mikroOrmRepository: () => MikroOrmOrganizationTeamJoinRequestRepository })
Expand Down Expand Up @@ -58,7 +58,8 @@ export class OrganizationTeamJoinRequest extends TenantOrganizationBaseEntity
@MultiORMColumn({ nullable: true })
expiredAt: Date;

/** Additional fields */
/** Additional virtual columns */
@VirtualMultiOrmColumn()
isExpired: boolean;

/*
Expand Down
Loading

0 comments on commit d46c2cb

Please sign in to comment.