@medusajs/types
Version:
Medusa Types definition
169 lines • 4.48 kB
TypeScript
import { GeoZoneType } from "../common";
/**
* The geo zone to be created.
*/
interface CreateGeoZoneBaseDTO {
/**
* The type of the geo zone.
*/
type: GeoZoneType;
/**
* The associated service zone's ID.
*/
service_zone_id: string;
/**
* The ISO 2 character country code of the geo zone.
*/
country_code: string;
/**
* Holds custom data in key-value pairs.
*/
metadata?: Record<string, any> | null;
}
/**
* The geo zone to be created of type `country`.
*/
export interface CreateCountryGeoZoneDTO extends CreateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"country"`
*/
type: "country";
}
/**
* The geo zone to be created of type `province`.
*/
export interface CreateProvinceGeoZoneDTO extends CreateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"province"`
*/
type: "province";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code: string;
}
/**
* The geo zone to be created of type `city`.
*/
export interface CreateCityGeoZoneDTO extends CreateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"city"`
*/
type: "city";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code: string;
/**
* The city of the geo zone.
*/
city: string;
}
/**
* The geo zone to be created of type `zip`.
*/
export interface CreateZipGeoZoneDTO extends CreateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"zip"`
*/
type: "zip";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code: string;
/**
* The city of the geo zone.
*/
city: string;
/**
* The postal expression of the geo zone.
*/
postal_expression: Record<string, any>;
}
/**
* The geo zone to be created. The value of the `type` attributes allows for passing more attributes.
*/
export type CreateGeoZoneDTO = CreateCountryGeoZoneDTO | CreateProvinceGeoZoneDTO | CreateCityGeoZoneDTO | CreateZipGeoZoneDTO;
/**
* The attributes to update in the geo zone.
*/
export interface UpdateGeoZoneBaseDTO extends Partial<CreateGeoZoneBaseDTO> {
/**
* The ID of the geo zone.
*/
id: string;
}
/**
* The attributes to update in the geo zone of type `country`.
*/
export interface UpdateCountryGeoZoneDTO extends UpdateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"country"`
*/
type: "country";
}
/**
* The attributes to update in the geo zone of type `province`.
*/
export interface UpdateProvinceGeoZoneDTO extends UpdateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"province"`
*/
type: "province";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code: string;
}
/**
* The attributes to update in the geo zone of type `city`.
*/
export interface UpdateCityGeoZoneDTO extends UpdateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"city"`
*/
type: "city";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code?: string;
/**
* The city of the geo zone.
*/
city?: string;
}
/**
* The attributes to update in the geo zone of type `zip`.
*/
export interface UpdateZipGeoZoneDTO extends UpdateGeoZoneBaseDTO {
/**
* The type of the geo zone.
* @defaultValue `"zip"`
*/
type: "zip";
/**
* The lower-case [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) province code of the geo zone.
*/
province_code?: string;
/**
* The city of the geo zone.
*/
city?: string;
/**
* The postal expression of the geo zone.
*/
postal_expression?: Record<string, any>;
}
/**
* The attributes to update in the geo zone. The value of the `type` attributes allows for passing more attributes.
*/
export type UpdateGeoZoneDTO = UpdateCountryGeoZoneDTO | UpdateProvinceGeoZoneDTO | UpdateCityGeoZoneDTO | UpdateZipGeoZoneDTO;
export {};
//# sourceMappingURL=geo-zone.d.ts.map