| 1234567891011121314151617181920212223242526272829303132 |
- 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<boolean> {
- 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
- }
- }
|