Skip to content

Commit e524668

Browse files
authored
Merge pull request #3438 from SeedCompany/partner-locations
Partner.languageOfReporting / Language.isAvailableForReporting
2 parents 2b50986 + b31a24a commit e524668

17 files changed

+92
-1
lines changed

dbschema/language.gel

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ module default {
4747
required isDialect: bool {
4848
default := false;
4949
}
50-
50+
51+
required isAvailableForReporting: bool {
52+
default := false;
53+
};
54+
5155
registryOfLanguageVarietiesCode: str {
5256
constraint exclusive;
5357
constraint regexp(r'^[0-9]{5}$');

dbschema/migrations/00019-m1w3qgq.edgeql

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dbschema/partner.gel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ module default {
3131

3232
pointOfContact: User;
3333
languageOfWiderCommunication: Language;
34+
languageOfReporting: Language;
3435

3536
required organization: Organization {
3637
readonly := true;

src/components/language/dto/create-language.dto.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
type CalendarDate,
1414
DateField,
1515
NameField,
16+
OptionalField,
1617
Sensitivity,
1718
SensitivityField,
1819
} from '~/common';
@@ -104,6 +105,9 @@ export abstract class CreateLanguage {
104105
@Field(() => [String], { nullable: true })
105106
@Transform(({ value }) => uniq(value))
106107
readonly tags?: string[] = [];
108+
109+
@OptionalField()
110+
readonly isAvailableForReporting?: boolean = false;
107111
}
108112

109113
@InputType()

src/components/language/dto/language.dto.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,9 @@ export class Language extends Interfaces {
169169
@Field()
170170
readonly tags: SecuredTags;
171171

172+
@Field()
173+
readonly isAvailableForReporting: SecuredBoolean;
174+
172175
@Calculated()
173176
@Field({
174177
description: stripIndent`

src/components/language/dto/list-language.dto.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ export abstract class LanguageFilters {
6565

6666
@FilterField(() => EthnologueLanguageFilters)
6767
readonly ethnologue?: EthnologueLanguageFilters & {};
68+
69+
@OptionalField()
70+
readonly isAvailableForReporting?: boolean;
6871
}
6972

7073
@InputType()

src/components/language/dto/update-language.dto.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ export abstract class UpdateLanguage {
110110

111111
@ListField(() => String, { optional: true })
112112
readonly tags?: readonly string[];
113+
114+
@OptionalField()
115+
readonly isAvailableForReporting?: boolean;
113116
}
114117

115118
@InputType()

src/components/language/language.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { LanguageLoader } from './language.loader';
1313
import { LanguageRepository } from './language.repository';
1414
import { LanguageResolver } from './language.resolver';
1515
import { LanguageService } from './language.service';
16+
import { AddLanguageFlagsMigration } from './migrations/add-flags.migration';
1617
import { RegistryOfDialectToRegistryOfLanguageVarietiesMigration } from './migrations/rename-rod-to-rolv.migration';
1718

1819
@Module({
@@ -31,6 +32,7 @@ import { RegistryOfDialectToRegistryOfLanguageVarietiesMigration } from './migra
3132
LanguageLoader,
3233
InternalFirstScriptureResolver,
3334
RegistryOfDialectToRegistryOfLanguageVarietiesMigration,
35+
AddLanguageFlagsMigration,
3436
],
3537
exports: [LanguageService],
3638
})

src/components/language/language.repository.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ export class LanguageRepository extends DtoRepository<
8383
sponsorEstimatedEndDate: input.sponsorEstimatedEndDate,
8484
hasExternalFirstScripture: input.hasExternalFirstScripture,
8585
tags: input.tags,
86+
isAvailableForReporting: input.isAvailableForReporting,
8687
canDelete: true,
8788
};
8889

@@ -301,6 +302,7 @@ export const languageFilters = filter.define(() => LanguageFilters, {
301302
leastOfThese: filter.propVal(),
302303
isSignLanguage: filter.propVal(),
303304
isDialect: filter.propVal(),
305+
isAvailableForReporting: filter.propVal(),
304306
registryOfDialectsCode: filter.propPartialVal(
305307
'registryOfLanguageVarietiesCode',
306308
),
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { BaseMigration, Migration } from '~/core/database';
2+
import { Language } from '../dto';
3+
4+
@Migration('2025-07-04T09:40:00')
5+
export class AddLanguageFlagsMigration extends BaseMigration {
6+
async up() {
7+
await this.addProperty(Language, 'isAvailableForReporting', false);
8+
}
9+
}

0 commit comments

Comments
 (0)