Update scripts

This commit is contained in:
freearhey 2025-04-29 00:18:35 +03:00
parent 37b4197fb2
commit 6244ba7adb
54 changed files with 2020 additions and 1145 deletions

View file

@ -0,0 +1,42 @@
import { SubdivisionData } from '../types/subdivision'
import { Dictionary } from '@freearhey/core'
import { Model } from './model'
import Joi from 'joi'
export class Subdivision extends Model {
code: string
name: string
countryCode: string
constructor(data: SubdivisionData) {
super()
this.code = data.code
this.name = data.name
this.countryCode = data.country
}
hasValidCountryCode(countriesKeyByCode: Dictionary): boolean {
return countriesKeyByCode.has(this.countryCode)
}
data(): SubdivisionData {
return {
code: this.code,
name: this.name,
country: this.countryCode
}
}
getSchema() {
return Joi.object({
country: Joi.string()
.regex(/^[A-Z]{2}$/)
.required(),
name: Joi.string().required(),
code: Joi.string()
.regex(/^[A-Z]{2}-[A-Z0-9]{1,3}$/)
.required()
})
}
}