Adding more fields to vehicle model
This commit is contained in:
parent
b81b613c9f
commit
f7c1a3dcc0
@ -67,6 +67,15 @@
|
||||
7AE32D6927F06536004EF6E0 /* CoreDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE32D6827F06536004EF6E0 /* CoreDataSource.swift */; };
|
||||
7AE32D6E27F06D2D004EF6E0 /* SwiftDate in Frameworks */ = {isa = PBXBuildFile; productRef = 7AE32D6D27F06D2D004EF6E0 /* SwiftDate */; };
|
||||
7AE32D7127F06DA4004EF6E0 /* DateSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AE32D7027F06DA4004EF6E0 /* DateSection.swift */; };
|
||||
929EDE7F27F89C3000E55F65 /* VEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE7E27F89C3000E55F65 /* VEngine.swift */; };
|
||||
929EDE8127F8A75E00E55F65 /* VPhoto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8027F8A75E00E55F65 /* VPhoto.swift */; };
|
||||
929EDE8327F8C6C500E55F65 /* VOwnershipPeriod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8227F8C6C500E55F65 /* VOwnershipPeriod.swift */; };
|
||||
929EDE8527F8CB0600E55F65 /* VEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8427F8CB0600E55F65 /* VEvent.swift */; };
|
||||
929EDE8727F8E11E00E55F65 /* VOsago.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8627F8E11E00E55F65 /* VOsago.swift */; };
|
||||
929EDE8927F8E65500E55F65 /* VAd.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8827F8E65500E55F65 /* VAd.swift */; };
|
||||
929EDE8C27F8E87B00E55F65 /* VNote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8B27F8E87B00E55F65 /* VNote.swift */; };
|
||||
929EDE8E27F8F4F500E55F65 /* DebugInfoEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8D27F8F4F500E55F65 /* DebugInfoEntry.swift */; };
|
||||
929EDE9027F8F76300E55F65 /* DebugInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929EDE8F27F8F76300E55F65 /* DebugInfo.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -180,6 +189,15 @@
|
||||
7AE32D6527F063A1004EF6E0 /* UIEdgeInsets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIEdgeInsets.swift; sourceTree = "<group>"; };
|
||||
7AE32D6827F06536004EF6E0 /* CoreDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataSource.swift; sourceTree = "<group>"; };
|
||||
7AE32D7027F06DA4004EF6E0 /* DateSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateSection.swift; sourceTree = "<group>"; };
|
||||
929EDE7E27F89C3000E55F65 /* VEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VEngine.swift; sourceTree = "<group>"; };
|
||||
929EDE8027F8A75E00E55F65 /* VPhoto.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VPhoto.swift; sourceTree = "<group>"; };
|
||||
929EDE8227F8C6C500E55F65 /* VOwnershipPeriod.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VOwnershipPeriod.swift; sourceTree = "<group>"; };
|
||||
929EDE8427F8CB0600E55F65 /* VEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VEvent.swift; sourceTree = "<group>"; };
|
||||
929EDE8627F8E11E00E55F65 /* VOsago.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VOsago.swift; sourceTree = "<group>"; };
|
||||
929EDE8827F8E65500E55F65 /* VAd.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VAd.swift; sourceTree = "<group>"; };
|
||||
929EDE8B27F8E87B00E55F65 /* VNote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VNote.swift; sourceTree = "<group>"; };
|
||||
929EDE8D27F8F4F500E55F65 /* DebugInfoEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugInfoEntry.swift; sourceTree = "<group>"; };
|
||||
929EDE8F27F8F76300E55F65 /* DebugInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugInfo.swift; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -416,14 +434,12 @@
|
||||
7A49F50427D406CB00AEAAE0 /* Models */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7A49F50527D406CB00AEAAE0 /* VBrand.swift */,
|
||||
929EDE8A27F8E84F00E55F65 /* vmodels */,
|
||||
7A49F50627D406CB00AEAAE0 /* Vehicle.swift */,
|
||||
7A49F50727D406CB00AEAAE0 /* User.swift */,
|
||||
7A49F50827D406CB00AEAAE0 /* Response.swift */,
|
||||
7A49F50927D406CB00AEAAE0 /* Settings.swift */,
|
||||
7A49F50A27D406CB00AEAAE0 /* PlateNumber.swift */,
|
||||
7A49F50B27D406CB00AEAAE0 /* VName.swift */,
|
||||
7A1D80E727F30399007BD64F /* VModel.swift */,
|
||||
);
|
||||
path = Models;
|
||||
sourceTree = "<group>";
|
||||
@ -452,6 +468,25 @@
|
||||
path = DataSource;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
929EDE8A27F8E84F00E55F65 /* vmodels */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
7A49F50527D406CB00AEAAE0 /* VBrand.swift */,
|
||||
7A49F50B27D406CB00AEAAE0 /* VName.swift */,
|
||||
7A1D80E727F30399007BD64F /* VModel.swift */,
|
||||
929EDE7E27F89C3000E55F65 /* VEngine.swift */,
|
||||
929EDE8027F8A75E00E55F65 /* VPhoto.swift */,
|
||||
929EDE8227F8C6C500E55F65 /* VOwnershipPeriod.swift */,
|
||||
929EDE8427F8CB0600E55F65 /* VEvent.swift */,
|
||||
929EDE8627F8E11E00E55F65 /* VOsago.swift */,
|
||||
929EDE8827F8E65500E55F65 /* VAd.swift */,
|
||||
929EDE8B27F8E87B00E55F65 /* VNote.swift */,
|
||||
929EDE8D27F8F4F500E55F65 /* DebugInfoEntry.swift */,
|
||||
929EDE8F27F8F76300E55F65 /* DebugInfo.swift */,
|
||||
);
|
||||
path = vmodels;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
@ -724,7 +759,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
7A49F50D27D406CB00AEAAE0 /* Vehicle.swift in Sources */,
|
||||
929EDE8327F8C6C500E55F65 /* VOwnershipPeriod.swift in Sources */,
|
||||
929EDE8C27F8E87B00E55F65 /* VNote.swift in Sources */,
|
||||
7A49F50327D406C300AEAAE0 /* VehicleService.swift in Sources */,
|
||||
929EDE8E27F8F4F500E55F65 /* DebugInfoEntry.swift in Sources */,
|
||||
7A49F4DB27D4064500AEAAE0 /* AutoCatCore.docc in Sources */,
|
||||
7A49F50227D406C300AEAAE0 /* StorageService.swift in Sources */,
|
||||
7A49F4FE27D406BA00AEAAE0 /* AnyEncodable.swift in Sources */,
|
||||
@ -733,10 +771,16 @@
|
||||
7A49F51127D406CB00AEAAE0 /* PlateNumber.swift in Sources */,
|
||||
7A49F50C27D406CB00AEAAE0 /* VBrand.swift in Sources */,
|
||||
7A49F51027D406CB00AEAAE0 /* Settings.swift in Sources */,
|
||||
929EDE9027F8F76300E55F65 /* DebugInfo.swift in Sources */,
|
||||
929EDE8927F8E65500E55F65 /* VAd.swift in Sources */,
|
||||
7A49F4F927D406B200AEAAE0 /* Constants.swift in Sources */,
|
||||
929EDE8527F8CB0600E55F65 /* VEvent.swift in Sources */,
|
||||
7A49F50F27D406CB00AEAAE0 /* Response.swift in Sources */,
|
||||
929EDE8127F8A75E00E55F65 /* VPhoto.swift in Sources */,
|
||||
7A49F4FB27D406B200AEAAE0 /* Api.swift in Sources */,
|
||||
7A49F51527D40C6100AEAAE0 /* AutoCat2.xcdatamodeld in Sources */,
|
||||
929EDE7F27F89C3000E55F65 /* VEngine.swift in Sources */,
|
||||
929EDE8727F8E11E00E55F65 /* VOsago.swift in Sources */,
|
||||
7A49F50E27D406CB00AEAAE0 /* User.swift in Sources */,
|
||||
7A49F4FA27D406B200AEAAE0 /* ApiError.swift in Sources */,
|
||||
7AE32D7127F06DA4004EF6E0 /* DateSection.swift in Sources */,
|
||||
|
||||
@ -1,41 +1,43 @@
|
||||
{
|
||||
"object": {
|
||||
"pins": [
|
||||
{
|
||||
"identity" : "differencekit",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/ra1028/DifferenceKit",
|
||||
"package": "DifferenceKit",
|
||||
"repositoryURL": "https://github.com/ra1028/DifferenceKit",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "62745d7780deef4a023a792a1f8f763ec7bf9705",
|
||||
"version": "1.2.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "pkhud",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/pkluz/PKHUD.git",
|
||||
"package": "PKHUD",
|
||||
"repositoryURL": "https://github.com/pkluz/PKHUD.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "8fd26f23057c6bebd6695524b1c3e05e93aba571",
|
||||
"version": "5.4.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "swiftdate",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/malcommac/SwiftDate",
|
||||
"package": "SwiftDate",
|
||||
"repositoryURL": "https://github.com/malcommac/SwiftDate",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "6190d0cefff3013e77ed567e6b074f324e5c5bf5",
|
||||
"version": "6.3.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "swiftentrykit",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/huri000/SwiftEntryKit",
|
||||
"package": "SwiftEntryKit",
|
||||
"repositoryURL": "https://github.com/huri000/SwiftEntryKit",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "5ad36cccf0c4b9fea32f4e9b17a8e38f07563ef0",
|
||||
"version": "2.0.0"
|
||||
}
|
||||
}
|
||||
],
|
||||
"version" : 2
|
||||
]
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
|
||||
@ -1,5 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="20086" systemVersion="21E230" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
|
||||
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="19574" systemVersion="20G80" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithCloudKit="YES" userDefinedModelVersionIdentifier="">
|
||||
<entity name="DebugInfo" representedClassName=".CDDebugInfo" syncable="YES" codeGenerationType="class">
|
||||
<relationship name="autocod" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfoEntry" inverseName="autocodInfo" inverseEntity="DebugInfoEntry"/>
|
||||
<relationship name="nomerogram" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfoEntry" inverseName="nomerogramInfo" inverseEntity="DebugInfoEntry"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="debugInfo" inverseEntity="Vehicle"/>
|
||||
<relationship name="vin01base" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfoEntry" inverseName="vin01baseInfo" inverseEntity="DebugInfoEntry"/>
|
||||
<relationship name="vin01history" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfoEntry" inverseName="vin01historyInfo" inverseEntity="DebugInfoEntry"/>
|
||||
<relationship name="vin01vin" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfoEntry" inverseName="vin01vinInfo" inverseEntity="DebugInfoEntry"/>
|
||||
</entity>
|
||||
<entity name="DebugInfoEntry" representedClassName=".CDDebugInfoEntry" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="error" optional="YES" attributeType="String"/>
|
||||
<attribute name="fields" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<attribute name="status" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<relationship name="autocodInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="autocod" inverseEntity="DebugInfo"/>
|
||||
<relationship name="nomerogramInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="nomerogram" inverseEntity="DebugInfo"/>
|
||||
<relationship name="vin01baseInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="vin01base" inverseEntity="DebugInfo"/>
|
||||
<relationship name="vin01historyInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="vin01history" inverseEntity="DebugInfo"/>
|
||||
<relationship name="vin01vinInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="vin01vin" inverseEntity="DebugInfo"/>
|
||||
</entity>
|
||||
<entity name="VAd" representedClassName=".CDVAd" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="adDescription" optional="YES" attributeType="String"/>
|
||||
<attribute name="city" optional="YES" attributeType="String"/>
|
||||
<attribute name="date" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="id" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<attribute name="mileage" optional="YES" attributeType="String"/>
|
||||
<attribute name="photos" optional="YES" attributeType="Transformable" valueTransformerName="NSSecureUnarchiveFromData" customClassName=".[String]"/>
|
||||
<attribute name="price" optional="YES" attributeType="String"/>
|
||||
<attribute name="region" optional="YES" attributeType="String"/>
|
||||
<attribute name="url" optional="YES" attributeType="String"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="ads" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VBrand" representedClassName=".CDVBrand" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="logo" optional="YES" attributeType="String"/>
|
||||
<relationship name="name" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VName" inverseName="brand" inverseEntity="VName"/>
|
||||
@ -21,8 +51,34 @@
|
||||
<attribute name="vin1" optional="YES" attributeType="String"/>
|
||||
<attribute name="vin2" optional="YES" attributeType="String"/>
|
||||
<attribute name="year" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<relationship name="ads" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VAd" inverseName="vehicle" inverseEntity="VAd"/>
|
||||
<relationship name="brand" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VBrand" inverseName="vehicle" inverseEntity="VBrand"/>
|
||||
<relationship name="debugInfo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="DebugInfo" inverseName="vehicle" inverseEntity="DebugInfo"/>
|
||||
<relationship name="engine" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VEngine" inverseName="vehicle" inverseEntity="VEngine"/>
|
||||
<relationship name="events" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VEvent" inverseName="vehicle" inverseEntity="VEvent"/>
|
||||
<relationship name="model" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VModel" inverseName="vehicle" inverseEntity="VModel"/>
|
||||
<relationship name="notes" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VNote" inverseName="vehicle" inverseEntity="VNote"/>
|
||||
<relationship name="osagoContracts" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VOsago" inverseName="vehicle" inverseEntity="VOsago"/>
|
||||
<relationship name="ownershipPeriods" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VOwnershipPeriod" inverseName="vehicle" inverseEntity="VOwnershipPeriod"/>
|
||||
<relationship name="photos" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="VPhoto" inverseName="vehicle" inverseEntity="VPhoto"/>
|
||||
</entity>
|
||||
<entity name="VEngine" representedClassName=".CDVEngine" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="fuelType" optional="YES" attributeType="String"/>
|
||||
<attribute name="number" optional="YES" attributeType="String"/>
|
||||
<attribute name="powerHp" optional="YES" attributeType="Float" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="powerKw" optional="YES" attributeType="Float" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="volume" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="engine" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VEvent" representedClassName=".CDVEvent" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="address" optional="YES" attributeType="String"/>
|
||||
<attribute name="date" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="direction" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="id" optional="YES" attributeType="String"/>
|
||||
<attribute name="latitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="longitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="speed" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="events" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VModel" representedClassName=".CDVModel" syncable="YES" codeGenerationType="class">
|
||||
<relationship name="name" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VName" inverseName="model" inverseEntity="VName"/>
|
||||
@ -34,10 +90,60 @@
|
||||
<relationship name="brand" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VBrand" inverseName="name" inverseEntity="VBrand"/>
|
||||
<relationship name="model" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="VModel" inverseName="name" inverseEntity="VModel"/>
|
||||
</entity>
|
||||
<entity name="VNote" representedClassName=".CDVNote" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="date" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="id" optional="YES" attributeType="String"/>
|
||||
<attribute name="text" optional="YES" attributeType="String"/>
|
||||
<attribute name="user" optional="YES" attributeType="String"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="notes" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VOsago" representedClassName=".CDVOsago" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="date" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="insurant" optional="YES" attributeType="String"/>
|
||||
<attribute name="name" optional="YES" attributeType="String"/>
|
||||
<attribute name="number" optional="YES" attributeType="String"/>
|
||||
<attribute name="owner" optional="YES" attributeType="String"/>
|
||||
<attribute name="plateNumber" optional="YES" attributeType="String"/>
|
||||
<attribute name="restrictions" optional="YES" attributeType="String"/>
|
||||
<attribute name="status" optional="YES" attributeType="String"/>
|
||||
<attribute name="usageRegion" optional="YES" attributeType="String"/>
|
||||
<attribute name="vin" optional="YES" attributeType="String"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="osagoContracts" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VOwnershipPeriod" representedClassName=".CDVOwnershipPeriod" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="building" optional="YES" attributeType="String"/>
|
||||
<attribute name="code" optional="YES" attributeType="String"/>
|
||||
<attribute name="from" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<attribute name="inn" optional="YES" attributeType="String"/>
|
||||
<attribute name="lastOperation" optional="YES" attributeType="String"/>
|
||||
<attribute name="locality" optional="YES" attributeType="String"/>
|
||||
<attribute name="ownerType" optional="YES" attributeType="String"/>
|
||||
<attribute name="region" optional="YES" attributeType="String"/>
|
||||
<attribute name="registrationRegion" optional="YES" attributeType="String"/>
|
||||
<attribute name="street" optional="YES" attributeType="String"/>
|
||||
<attribute name="to" optional="YES" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="ownershipPeriods" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<entity name="VPhoto" representedClassName=".CDVPhoto" syncable="YES" codeGenerationType="class">
|
||||
<attribute name="brand" optional="YES" attributeType="String"/>
|
||||
<attribute name="date" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES"/>
|
||||
<attribute name="model" optional="YES" attributeType="String"/>
|
||||
<attribute name="url" optional="YES" attributeType="String"/>
|
||||
<relationship name="vehicle" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Vehicle" inverseName="photos" inverseEntity="Vehicle"/>
|
||||
</entity>
|
||||
<elements>
|
||||
<element name="VBrand" positionX="118.7528686523438" positionY="-209.1094360351562" width="128" height="74"/>
|
||||
<element name="Vehicle" positionX="-145.9427490234375" positionY="-363.4805297851562" width="128" height="284"/>
|
||||
<element name="VName" positionX="-54" positionY="9" width="128" height="89"/>
|
||||
<element name="Vehicle" positionX="-145.9427490234375" positionY="-363.4805297851562" width="128" height="404"/>
|
||||
<element name="VModel" positionX="-9" positionY="-207" width="128" height="59"/>
|
||||
<element name="VName" positionX="-54" positionY="9" width="128" height="89"/>
|
||||
<element name="VEngine" positionX="-9" positionY="-207" width="128" height="119"/>
|
||||
<element name="VPhoto" positionX="0" positionY="-198" width="128" height="104"/>
|
||||
<element name="VOwnershipPeriod" positionX="9" positionY="-189" width="128" height="209"/>
|
||||
<element name="VEvent" positionX="18" positionY="-180" width="128" height="149"/>
|
||||
<element name="VOsago" positionX="27" positionY="-171" width="128" height="194"/>
|
||||
<element name="VAd" positionX="36" positionY="-162" width="128" height="179"/>
|
||||
<element name="VNote" positionX="45" positionY="-153" width="128" height="104"/>
|
||||
<element name="DebugInfoEntry" positionX="-9" positionY="-207" width="128" height="149"/>
|
||||
<element name="DebugInfo" positionX="0" positionY="-198" width="128" height="119"/>
|
||||
</elements>
|
||||
</model>
|
||||
@ -20,6 +20,14 @@ public struct Vehicle: Decodable {
|
||||
public let isRightWheel: Bool?
|
||||
public let isJapanese: Bool?
|
||||
public let addedBy: String?
|
||||
public let engine: VEngine?
|
||||
public let photos: [VPhoto]
|
||||
public let ownershipPeriods: [VOwnershipPeriod]
|
||||
public let events: [VEvent]
|
||||
public let osagoContracts: [VOsago]
|
||||
public let ads: [VAd]
|
||||
public let notes: [VNote]
|
||||
public let debugInfo: DebugInfo?
|
||||
}
|
||||
|
||||
extension CDVehicle: Dated {
|
||||
@ -66,6 +74,14 @@ extension CDVehicle {
|
||||
self.isJapanese = vehicle.isJapanese ?? false
|
||||
self.addedBy = vehicle.addedBy
|
||||
self.synchronized = true
|
||||
self.engine = CDVEngine(model: vehicle.engine, context: context)
|
||||
self.photos = NSSet(array: vehicle.photos.map { CDVPhoto(model: $0, context: context) })
|
||||
self.ownershipPeriods = NSSet(array: vehicle.ownershipPeriods.map { CDVOwnershipPeriod(model: $0, context: context) })
|
||||
self.events = NSSet(array: vehicle.events.map { CDVEvent(model: $0, context: context) })
|
||||
self.osagoContracts = NSSet(array: vehicle.osagoContracts.map { CDVOsago(model: $0, context: context) })
|
||||
self.ads = NSSet(array: vehicle.ads.map { CDVAd(model: $0, context: context) })
|
||||
self.notes = NSSet(array: vehicle.notes.map { CDVNote(model: $0, context: context) })
|
||||
self.debugInfo = CDDebugInfo(model: vehicle.debugInfo, context: context)
|
||||
}
|
||||
|
||||
public var unrecognized: Bool {
|
||||
|
||||
31
AutoCatCore/Models/vmodels/DebugInfo.swift
Normal file
31
AutoCatCore/Models/vmodels/DebugInfo.swift
Normal file
@ -0,0 +1,31 @@
|
||||
//
|
||||
// DebugInfo.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 03.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct DebugInfo: Decodable {
|
||||
|
||||
let autocod: DebugInfoEntry?
|
||||
let vin01vin: DebugInfoEntry?
|
||||
let vin01base: DebugInfoEntry?
|
||||
let vin01history: DebugInfoEntry?
|
||||
let nomerogram: DebugInfoEntry?
|
||||
}
|
||||
|
||||
extension CDDebugInfo {
|
||||
|
||||
convenience init(model: DebugInfo?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.autocod = CDDebugInfoEntry(model: model?.autocod, context: context)
|
||||
self.vin01vin = CDDebugInfoEntry(model: model?.vin01vin, context: context)
|
||||
self.vin01base = CDDebugInfoEntry(model: model?.vin01base, context: context)
|
||||
self.vin01history = CDDebugInfoEntry(model: model?.vin01history, context: context)
|
||||
self.nomerogram = CDDebugInfoEntry(model: model?.nomerogram, context: context)
|
||||
}
|
||||
}
|
||||
38
AutoCatCore/Models/vmodels/DebugInfoEntry.swift
Normal file
38
AutoCatCore/Models/vmodels/DebugInfoEntry.swift
Normal file
@ -0,0 +1,38 @@
|
||||
//
|
||||
// DebugInfoEntry.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 03.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public enum DebugInfoStatus: Int64 {
|
||||
case success = 0
|
||||
case error = 1
|
||||
case warning = 2
|
||||
}
|
||||
|
||||
public struct DebugInfoEntry: Decodable {
|
||||
|
||||
let fields: Int64
|
||||
let error: String?
|
||||
let status: Int64
|
||||
}
|
||||
|
||||
extension CDDebugInfoEntry {
|
||||
|
||||
convenience init(model: DebugInfoEntry?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.fields = model?.fields ?? 0
|
||||
self.error = model?.error
|
||||
self.status = model?.status ?? 0
|
||||
}
|
||||
|
||||
public var statusEnum: DebugInfoStatus {
|
||||
get { DebugInfoStatus(rawValue: self.status)! }
|
||||
set { self.status = newValue.rawValue }
|
||||
}
|
||||
}
|
||||
39
AutoCatCore/Models/vmodels/VAd.swift
Normal file
39
AutoCatCore/Models/vmodels/VAd.swift
Normal file
@ -0,0 +1,39 @@
|
||||
//
|
||||
// VAd.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VAd: Decodable {
|
||||
|
||||
let id: Int64
|
||||
let url: String?
|
||||
let price: String?
|
||||
let date: Double
|
||||
let mileage: String?
|
||||
let region: String?
|
||||
let city: String?
|
||||
let adDescription: String?
|
||||
let photos: [String]
|
||||
}
|
||||
|
||||
extension CDVAd {
|
||||
|
||||
convenience init(model: VAd?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.id = model?.id ?? 0
|
||||
self.url = model?.url
|
||||
self.price = model?.price
|
||||
self.date = model?.date ?? 0
|
||||
self.mileage = model?.mileage
|
||||
self.region = model?.region
|
||||
self.city = model?.city
|
||||
self.adDescription = model?.adDescription
|
||||
self.photos = model?.photos
|
||||
}
|
||||
}
|
||||
31
AutoCatCore/Models/vmodels/VEngine.swift
Normal file
31
AutoCatCore/Models/vmodels/VEngine.swift
Normal file
@ -0,0 +1,31 @@
|
||||
//
|
||||
// VEngine.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VEngine: Decodable {
|
||||
|
||||
let number: String?
|
||||
let volume: Int64?
|
||||
let powerHp: Float?
|
||||
let powerKw: Float?
|
||||
let fuelType: String?
|
||||
}
|
||||
|
||||
extension CDVEngine {
|
||||
|
||||
convenience init(model: VEngine?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.number = model?.number
|
||||
self.volume = model?.volume ?? 0
|
||||
self.powerHp = model?.powerHp ?? 0
|
||||
self.powerKw = model?.powerKw ?? 0
|
||||
self.fuelType = model?.fuelType
|
||||
}
|
||||
}
|
||||
35
AutoCatCore/Models/vmodels/VEvent.swift
Normal file
35
AutoCatCore/Models/vmodels/VEvent.swift
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// VEvent.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VEvent: Decodable {
|
||||
|
||||
let id: String
|
||||
let date: Double
|
||||
let latitude: Double
|
||||
let longitude: Double
|
||||
let speed: Double
|
||||
let direction: Double
|
||||
let address: String?
|
||||
}
|
||||
|
||||
extension CDVEvent {
|
||||
|
||||
convenience init(model: VEvent?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.id = model?.id
|
||||
self.date = model?.date ?? 0
|
||||
self.latitude = model?.latitude ?? 0
|
||||
self.longitude = model?.longitude ?? 0
|
||||
self.speed = model?.speed ?? 0
|
||||
self.direction = model?.direction ?? 0
|
||||
self.address = model?.address
|
||||
}
|
||||
}
|
||||
29
AutoCatCore/Models/vmodels/VNote.swift
Normal file
29
AutoCatCore/Models/vmodels/VNote.swift
Normal file
@ -0,0 +1,29 @@
|
||||
//
|
||||
// VNote.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VNote: Decodable {
|
||||
|
||||
let id: String?
|
||||
let user: String?
|
||||
let date: Double
|
||||
let text: String?
|
||||
}
|
||||
|
||||
extension CDVNote {
|
||||
|
||||
convenience init(model: VNote?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.id = model?.id
|
||||
self.user = model?.user
|
||||
self.date = model?.date ?? 0
|
||||
self.text = model?.text
|
||||
}
|
||||
}
|
||||
41
AutoCatCore/Models/vmodels/VOsago.swift
Normal file
41
AutoCatCore/Models/vmodels/VOsago.swift
Normal file
@ -0,0 +1,41 @@
|
||||
//
|
||||
// VOsago.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VOsago: Decodable {
|
||||
|
||||
let date: Double
|
||||
let number: String?
|
||||
let vin: String?
|
||||
let plateNumber: String?
|
||||
let name: String?
|
||||
let status: String?
|
||||
let restrictions: String?
|
||||
let insurant: String?
|
||||
let owner: String?
|
||||
let usageRegion: String?
|
||||
}
|
||||
|
||||
extension CDVOsago {
|
||||
|
||||
convenience init(model: VOsago?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.date = model?.date ?? 0
|
||||
self.number = model?.number
|
||||
self.vin = model?.vin
|
||||
self.plateNumber = model?.plateNumber
|
||||
self.name = model?.name
|
||||
self.status = model?.status
|
||||
self.restrictions = model?.restrictions
|
||||
self.insurant = model?.insurant
|
||||
self.owner = model?.owner
|
||||
self.usageRegion = model?.usageRegion
|
||||
}
|
||||
}
|
||||
43
AutoCatCore/Models/vmodels/VOwnershipPeriod.swift
Normal file
43
AutoCatCore/Models/vmodels/VOwnershipPeriod.swift
Normal file
@ -0,0 +1,43 @@
|
||||
//
|
||||
// VOwnershipPeriod.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VOwnershipPeriod: Decodable {
|
||||
|
||||
let lastOperation: String?
|
||||
let ownerType: String?
|
||||
let from: Int64?
|
||||
let to: Int64?
|
||||
let region: String?
|
||||
let registrationRegion: String?
|
||||
let locality: String?
|
||||
let code: String?
|
||||
let street: String?
|
||||
let building: String?
|
||||
let inn: String?
|
||||
}
|
||||
|
||||
extension CDVOwnershipPeriod {
|
||||
|
||||
convenience init(model: VOwnershipPeriod?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.lastOperation = model?.lastOperation
|
||||
self.ownerType = model?.ownerType
|
||||
self.from = model?.from ?? 0
|
||||
self.to = model?.to ?? 0
|
||||
self.region = model?.region
|
||||
self.registrationRegion = model?.registrationRegion
|
||||
self.locality = model?.locality
|
||||
self.code = model?.locality
|
||||
self.street = model?.street
|
||||
self.building = model?.building
|
||||
self.inn = model?.inn
|
||||
}
|
||||
}
|
||||
29
AutoCatCore/Models/vmodels/VPhoto.swift
Normal file
29
AutoCatCore/Models/vmodels/VPhoto.swift
Normal file
@ -0,0 +1,29 @@
|
||||
//
|
||||
// VPhoto.swift
|
||||
// AutoCatCore
|
||||
//
|
||||
// Created by Selim Mustafaev on 02.04.2022.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CoreData
|
||||
|
||||
public struct VPhoto: Decodable {
|
||||
|
||||
let brand: String?
|
||||
let model: String?
|
||||
let date: Double
|
||||
let url: String?
|
||||
}
|
||||
|
||||
extension CDVPhoto {
|
||||
|
||||
convenience init(model: VPhoto?, context: NSManagedObjectContext) {
|
||||
self.init(context: context)
|
||||
|
||||
self.brand = model?.brand
|
||||
self.model = model?.model
|
||||
self.date = model?.date ?? 0
|
||||
self.url = model?.url
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user