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 { @Field(() => TranslatableComponent, { nullable: true }) countryName?: TranslatableComponent; @Field(() => CountryCodesComponentEnum, { nullable: true }) countryCode?: CountryCodesComponentEnum; @Field(() => [CurrencyCodesComponentEnum], { nullable: true }) currencyCodes?: CurrencyCodesComponentEnum[]; } @ArgsType() export class CountryArgsSchema extends GetManyArgs {}