35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { InputType, ArgsType, Field } from 'type-graphql';
|
|
|
|
import { GetManyArgs } from '@seed/graphql/Request';
|
|
import { CountryBaseSchema } from './country.schema';
|
|
import { CountryCodesComponentEnum } from '@seed/services/geolocation/components/countries';
|
|
import { TranslatableComponent } from '@src/__components/components';
|
|
import { CurrencyCodesComponentEnum } from '../country.components';
|
|
|
|
@InputType()
|
|
export class CountryNewInputSchema extends CountryBaseSchema {
|
|
@Field(() => TranslatableComponent)
|
|
countryName: TranslatableComponent;
|
|
|
|
@Field(() => CountryCodesComponentEnum)
|
|
countryCode: CountryCodesComponentEnum;
|
|
|
|
@Field(() => [CurrencyCodesComponentEnum])
|
|
currencyCodes: CurrencyCodesComponentEnum[];
|
|
}
|
|
|
|
@InputType()
|
|
export class CountryEditInputSchema implements Partial<CountryBaseSchema> {
|
|
@Field(() => TranslatableComponent, { nullable: true })
|
|
countryName?: TranslatableComponent;
|
|
|
|
@Field(() => CountryCodesComponentEnum, { nullable: true })
|
|
countryCode?: CountryCodesComponentEnum;
|
|
|
|
@Field(() => [CurrencyCodesComponentEnum], { nullable: true })
|
|
currencyCodes?: CurrencyCodesComponentEnum[];
|
|
}
|
|
|
|
@ArgsType()
|
|
export class CountryArgsSchema extends GetManyArgs {}
|