import ApiRequestService from "~/services/data/apiRequestService"; import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService"; export default class SubdomainValidation { private apiRequestService: ApiRequestService public constructor(apiRequestService: ApiRequestService) { this.apiRequestService = apiRequestService } /** * Le sous-domaine est valide s'il contient entre 2 et 60 caractères, et pas de caractères spéciaux * @param subdomain */ public static isValid(subdomain: string | null): boolean { return subdomain !== null && subdomain.match(/^[\w\-]{2,60}$/) !== null } /** * Returns true if the given subdomain has not been registered yet or is not reserved * @param subdomain */ public async isAvailable(subdomain: string): Promise { if (subdomain === null) { return true } const { apiRequestService } = useAp2iRequestService() const subdomainAvailability: any = await apiRequestService.get('/api/subdomains/is_available', {'subdomain': subdomain}) return subdomainAvailability && subdomainAvailability['available'] === true } }