@@ -85,40 +85,6 @@ public struct WordGetObjectWithUser: Codable {
8585 public var updatedAt : Date ?
8686}
8787
88- public struct WordGetObject : Codable {
89-
90- public var _id : ObjectId
91- public var icon : String ?
92- public let englishWord : String
93- public let englishDefinition : String
94- public let englishImageLink : String ?
95- public let englishVideoLink : String ?
96-
97- public let russianWord : String ?
98- public let russianDefinition : String ?
99- public let russianImageLink : String ?
100- public let russianVideoLink : String ?
101-
102- public let banglaWord : String ?
103- public let banglaDefinition : String ?
104- public let banglaImageLink : String ?
105- public let banglaVideoLink : String ?
106-
107- public var spanishWord : String ?
108- public var spanishDefinition : String ?
109- public var spanishImageLink : String ?
110- public var spanishVideoLink : String ?
111-
112- public let isReadFromNotification : Bool
113- public let isReadFromView : Bool
114- public let user : UserGetPublicObject
115-
116- public let level : WordLevel
117-
118- public var createdAt : Date ?
119- public var updatedAt : Date ?
120- }
121-
12288public struct WordCreateObject : Codable {
12389 public var icon : String ?
12490 public var englishWord : String
@@ -183,7 +149,7 @@ public struct WordEditObject: Codable {
183149 public var wordLevelAllCases = WordLevel . allCases
184150}
185151
186- extension Word {
152+ extension WordGetObject {
187153 public var englishTitle : String {
188154 if let iconR = icon {
189155 return iconR + " " + englishWord
@@ -261,16 +227,16 @@ extension Word {
261227 }
262228}
263229
264- public struct Word : Equatable , Identifiable , Codable {
230+ public struct WordGetObject : Equatable , Identifiable , Codable {
265231
266232 public var id : String
267233 public let icon : String ?
268234
269235 // English
270- public let englishWord : String
271- public let englishDefinition : String
272- public let englishImageLink : String ?
273- public let englishVideoLink : String ?
236+ public var englishWord : String
237+ public var englishDefinition : String
238+ public var englishImageLink : String ?
239+ public var englishVideoLink : String ?
274240
275241 // Russian
276242 public var russianWord : String ?
@@ -296,10 +262,13 @@ public struct Word: Equatable, Identifiable, Codable {
296262 public var level : WordLevel
297263 public var user : UserGetPublicObject ?
298264
265+ public var isActive : Bool = false
266+ public var isComplete : Bool = false
267+
299268 public var createdAt : Date ?
300269 public var updatedAt : Date ?
301270
302- enum CodingKeys : String , CodingKey {
271+ public enum CodingKeys : String , CodingKey {
303272 case id = " _id "
304273 case icon
305274
@@ -313,6 +282,8 @@ public struct Word: Equatable, Identifiable, Codable {
313282
314283 case isReadFromView, level, isReadFromNotification, user
315284
285+ case isActive, isComplete
286+
316287 case createdAt, updatedAt
317288 }
318289
@@ -348,6 +319,9 @@ public struct Word: Equatable, Identifiable, Codable {
348319 level: WordLevel = . beginner,
349320 user: UserGetPublicObject ? = nil ,
350321
322+ isActive: Bool = false ,
323+ isComplete: Bool = false ,
324+
351325 createdAt: Date ? = nil ,
352326 updatedAt: Date ? = nil
353327
@@ -384,50 +358,17 @@ public struct Word: Equatable, Identifiable, Codable {
384358 self . level = level
385359 self . user = user
386360
361+ self . isActive = isActive
362+ self . isComplete = isComplete
363+
387364 self . createdAt = createdAt
388365 self . updatedAt = updatedAt
389366 }
390367
391- public init ( _ word: Word ) {
392- self . id = word. id
393- self . icon = word. icon
394-
395- // English
396- self . englishWord = word. englishWord
397- self . englishDefinition = word. englishDefinition
398- self . englishImageLink = word. englishImageLink
399- self . englishVideoLink = word. englishVideoLink
400-
401- // Russian
402- self . russianWord = word. russianWord
403- self . russianDefinition = word. russianDefinition
404- self . russianImageLink = word. russianImageLink
405- self . russianVideoLink = word. russianVideoLink
406-
407- // Bangla
408- self . banglaWord = word. banglaWord
409- self . banglaDefinition = word. banglaDefinition
410- self . banglaImageLink = word. banglaImageLink
411- self . banglaVideoLink = word. banglaVideoLink
412-
413- // Spanish
414- self . spanishWord = word. spanishWord
415- self . spanishDefinition = word. spanishDefinition
416- self . spanishImageLink = word. spanishImageLink
417- self . spanishVideoLink = word. spanishVideoLink
418-
419- self . isReadFromNotification = word. isReadFromNotification
420- self . isReadFromView = word. isReadFromView
421- self . level = word. level
422- self . user = word. user
423-
424- self . createdAt = word. createdAt
425- self . updatedAt = word. updatedAt
426- }
427368}
428369
429- extension Word : Hashable {
430- public static func == ( lhs: Word , rhs: Word ) -> Bool {
370+ extension WordGetObject : Hashable {
371+ public static func == ( lhs: WordGetObject , rhs: WordGetObject ) -> Bool {
431372 return lhs. id == rhs. id && lhs. id == rhs. id
432373 }
433374
@@ -436,7 +377,7 @@ extension Word: Hashable {
436377 }
437378}
438379
439- extension Word {
380+ extension WordGetObject {
440381 public static let demo : Self = . init(
441382 id: UUID ( ) . uuidString,
442383 englishWord: " Apple " ,
@@ -454,16 +395,16 @@ extension Word {
454395public struct DayWords : Codable , Equatable , Identifiable {
455396 public var id : String { return " \( dayNumber) " }
456397 public var dayNumber : Int
457- public var words : [ Word ] = [ ]
398+ public var words : [ WordGetObject ] = [ ]
458399
459- public init ( dayNumber: Int , words: [ Word ] = [ ] ) {
400+ public init ( dayNumber: Int , words: [ WordGetObject ] = [ ] ) {
460401 self . dayNumber = dayNumber
461402 self . words = words
462403 }
463404}
464405
465406extension DayWords {
466- public static let happyPath : DayWords = . init( dayNumber: 117 , words: Word . mockDatas)
407+ public static let happyPath : DayWords = . init( dayNumber: 117 , words: WordGetObject . mockDatas)
467408}
468409
469410public struct User : Codable , Equatable {
@@ -474,10 +415,10 @@ extension User {
474415 public static var demo : User = . init( fullName: " Saroar " , language: " ru " , id: " 624c31898addf0419b877915 " , role: " superAdmin " )
475416}
476417
477- extension Word {
478- public static let mockEmpty : Word = . init( id: " " , englishWord: " " , englishDefinition: " " )
479- public static let mockDatas : [ Word ] = [
480- Word (
418+ extension WordGetObject {
419+ public static let mockEmpty : WordGetObject = . init( id: " " , englishWord: " " , englishDefinition: " " )
420+ public static let mockDatas : [ WordGetObject ] = [
421+ WordGetObject (
481422 id: " D6168009-CEA2-45FC-874B-1426F7FB1005 " , icon: " 🍏 " , englishWord: " Apple " , englishDefinition: " AppleAppleAppleAppleAppleApple " , englishImageLink: nil , englishVideoLink: nil ,
482423
483424 russianWord: " Яблока " , russianDefinition: " ЯблокаЯблокаЯблокаЯблокаЯблокаЯблока " , russianImageLink: nil , russianVideoLink: nil ,
@@ -487,7 +428,7 @@ extension Word {
487428 isReadFromNotification: false , isReadFromView: false , level: . beginner, user: nil , createdAt: nil , updatedAt: nil
488429 ) ,
489430
490- Word (
431+ WordGetObject (
491432 id: " 610800E5-A59C-44F5-ACC3-6809F39B42D2 " , icon: " 🧰 " , englishWord: " Able " , englishDefinition: " AbleAbleAbleAbleAbleAble " , englishImageLink: nil , englishVideoLink: nil ,
492433
493434 russianWord: " Способный " , russianDefinition: " СпособныйСпособныйСпособныйСпособныйСпособный " , russianImageLink: nil , russianVideoLink: nil ,
@@ -497,7 +438,7 @@ extension Word {
497438 isReadFromNotification: false , isReadFromView: false , level: . beginner, user: nil , createdAt: nil , updatedAt: nil
498439 ) ,
499440
500- Word (
441+ WordGetObject (
501442 id: " FC6F24EF-0DF7-4551-97AA-64E0340860D5 " , icon: " 💨 " , englishWord: " Air " , englishDefinition: " Air Air Air Air Air Air " , englishImageLink: nil , englishVideoLink: nil ,
502443
503444 russianWord: " Воздух " , russianDefinition: " Воздух Воздух Воздух Воздух " , russianImageLink: nil , russianVideoLink: nil ,
0 commit comments