ChWebsiteApp/CHDataManagement/Model/Content+Validation.swift
2024-12-14 16:31:40 +01:00

29 lines
863 B
Swift

import Foundation
extension Content {
private static let disallowedCharactersInIds = CharacterSet.alphanumerics.union(CharacterSet(charactersIn: "-")).inverted
private static let disallowedCharactersInFileIds = CharacterSet.alphanumerics.union(CharacterSet(charactersIn: "-.")).inverted
func isNewIdForTag(_ id: String) -> Bool {
!tags.contains { $0.id == id }
}
func isNewIdForPage(_ id: String) -> Bool {
!pages.contains { $0.id == id }
}
func isNewIdForPost(_ id: String) -> Bool {
!posts.contains { $0.id == id }
}
func isValidIdForTagOrTagOrPost(_ id: String) -> Bool {
id.rangeOfCharacter(from: Content.disallowedCharactersInIds) == nil
}
func isValidIdForFile(_ id: String) -> Bool {
id.rangeOfCharacter(from: Content.disallowedCharactersInFileIds) == nil
}
}