diff --git a/database/entity/0081-introduce_gms_registration/Community.ts b/database/entity/0082-introduce_gms_registration/Community.ts similarity index 88% rename from database/entity/0081-introduce_gms_registration/Community.ts rename to database/entity/0082-introduce_gms_registration/Community.ts index 89c31763f..cc5607e2e 100644 --- a/database/entity/0081-introduce_gms_registration/Community.ts +++ b/database/entity/0082-introduce_gms_registration/Community.ts @@ -5,7 +5,10 @@ import { Column, CreateDateColumn, UpdateDateColumn, + OneToMany, + JoinColumn, } from 'typeorm' +import { User } from '../User' @Entity('communities') export class Community extends BaseEntity { @@ -63,4 +66,8 @@ export class Community extends BaseEntity { nullable: true, }) updatedAt: Date | null + + @OneToMany(() => User, (user) => user.community) + @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) + users: User[] } diff --git a/database/entity/0081-introduce_gms_registration/User.ts b/database/entity/0082-introduce_gms_registration/User.ts similarity index 94% rename from database/entity/0081-introduce_gms_registration/User.ts rename to database/entity/0082-introduce_gms_registration/User.ts index cdbd36441..3dc0dccb6 100644 --- a/database/entity/0081-introduce_gms_registration/User.ts +++ b/database/entity/0082-introduce_gms_registration/User.ts @@ -8,12 +8,14 @@ import { JoinColumn, OneToOne, Geometry, + ManyToOne, } from 'typeorm' import { Contribution } from '../Contribution' import { ContributionMessage } from '../ContributionMessage' import { UserContact } from '../UserContact' import { UserRole } from '../UserRole' import { GeometryTransformer } from '../../src/typeorm/GeometryTransformer' +import { Community } from '../Community' @Entity('users', { engine: 'InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci' }) export class User extends BaseEntity { @@ -40,6 +42,10 @@ export class User extends BaseEntity { }) communityUuid: string + @ManyToOne(() => Community, (community) => community.users) + @JoinColumn({ name: 'community_uuid', referencedColumnName: 'communityUuid' }) + community: Community | null + @Column({ name: 'alias', length: 20, diff --git a/database/entity/0081-introduce_gms_registration/UserContact.ts b/database/entity/0082-introduce_gms_registration/UserContact.ts similarity index 100% rename from database/entity/0081-introduce_gms_registration/UserContact.ts rename to database/entity/0082-introduce_gms_registration/UserContact.ts diff --git a/database/entity/UserContact.ts b/database/entity/UserContact.ts index c938f1312..e91e9a9d3 100644 --- a/database/entity/UserContact.ts +++ b/database/entity/UserContact.ts @@ -1 +1 @@ -export { UserContact } from './0081-introduce_gms_registration/UserContact' +export { UserContact } from './0082-introduce_gms_registration/UserContact' diff --git a/database/migrations/0081-introduce_gms_registration.ts b/database/migrations/0082-introduce_gms_registration.ts similarity index 100% rename from database/migrations/0081-introduce_gms_registration.ts rename to database/migrations/0082-introduce_gms_registration.ts