Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F14178467
ErrorConstants.swift
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
ErrorConstants.swift
View Options
import
Foundation
//
MARK:
- Network Errors
enum
NetworkError
:
Error
{
case
noConnectionError
}
extension
NetworkError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
noConnectionError
:
return
NSLocalizedString
(
"There is no internet connection at the moment. Please reconnect or try again later."
,
comment
:
""
)
}
}
}
//
MARK:
- Keychain Errors
enum
KeychainError
:
Error
{
case
couldNotStoreAccessToken
case
couldNotPurgeAccessToken
case
couldNotFetchAccessToken
}
extension
KeychainError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
couldNotStoreAccessToken
:
return
NSLocalizedString
(
"There was a problem storing your access token in the Keychain."
,
comment
:
""
)
case
.
couldNotPurgeAccessToken
:
return
NSLocalizedString
(
"Something went wrong purging the token from the Keychain."
,
comment
:
""
)
case
.
couldNotFetchAccessToken
:
return
NSLocalizedString
(
"Something went wrong fetching the token from the Keychain."
,
comment
:
""
)
}
}
}
//
MARK:
- Account Errors
enum
AccountError
:
Error
{
case
invalidPassword
case
usernameNotFound
case
serverNotFound
case
invalidServerURL
case
unknownLoginError
case
genericAuthError
}
extension
AccountError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
serverNotFound
:
return
NSLocalizedString
(
"The server could not be found. Please check the information you've entered and try again."
,
comment
:
""
)
case
.
invalidPassword
:
return
NSLocalizedString
(
"Invalid password. Please check that you've entered your password correctly and try logging in again."
,
comment
:
""
)
case
.
usernameNotFound
:
return
NSLocalizedString
(
"Username not found. Did you use your email address by mistake?"
,
comment
:
""
)
case
.
invalidServerURL
:
return
NSLocalizedString
(
"Please enter a valid instance domain name. It should look like
\"
https://example.com
\"
or
\"
write.as
\"
."
,
// swiftlint:disable:this line_length
comment
:
""
)
case
.
genericAuthError
:
return
NSLocalizedString
(
"Something went wrong, please try logging in again."
,
comment
:
""
)
case
.
unknownLoginError
:
return
NSLocalizedString
(
"An unknown error occurred while trying to login."
,
comment
:
""
)
}
}
}
//
MARK:
- User Defaults Errors
enum
UserDefaultsError
:
Error
{
case
couldNotMigrateStandardDefaults
}
extension
UserDefaultsError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
couldNotMigrateStandardDefaults
:
return
NSLocalizedString
(
"Could not migrate user defaults to group container"
,
comment
:
""
)
}
}
}
//
MARK:
- Local Store Errors
enum
LocalStoreError
:
Error
{
case
couldNotSaveContext
case
couldNotFetchCollections
case
couldNotFetchPosts
(
String
=
""
)
case
couldNotPurgePosts
(
String
=
""
)
case
couldNotPurgeCollections
case
couldNotLoadStore
(
String
)
case
couldNotMigrateStore
(
String
)
case
couldNotDeleteStoreAfterMigration
(
String
)
case
genericError
(
String
=
""
)
}
extension
LocalStoreError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
couldNotSaveContext
:
return
NSLocalizedString
(
"Error saving context"
,
comment
:
""
)
case
.
couldNotFetchCollections
:
return
NSLocalizedString
(
"Failed to fetch blogs from local store."
,
comment
:
""
)
case
.
couldNotFetchPosts
(
let
postFilter
):
if
postFilter
.
isEmpty
{
return
NSLocalizedString
(
"Failed to fetch posts from local store."
,
comment
:
""
)
}
else
{
return
NSLocalizedString
(
"Failed to fetch
\(
postFilter
)
posts from local store."
,
comment
:
""
)
}
case
.
couldNotPurgePosts
(
let
postFilter
):
if
postFilter
.
isEmpty
{
return
NSLocalizedString
(
"Failed to purge
\(
postFilter
)
posts from local store."
,
comment
:
""
)
}
else
{
return
NSLocalizedString
(
"Failed to purge posts from local store."
,
comment
:
""
)
}
case
.
couldNotPurgeCollections
:
return
NSLocalizedString
(
"Failed to purge cached collections"
,
comment
:
""
)
case
.
couldNotLoadStore
(
let
errorDescription
):
return
NSLocalizedString
(
"Something went wrong loading local store:
\(
errorDescription
)
"
,
comment
:
""
)
case
.
couldNotMigrateStore
(
let
errorDescription
):
return
NSLocalizedString
(
"Something went wrong migrating local store:
\(
errorDescription
)
"
,
comment
:
""
)
case
.
couldNotDeleteStoreAfterMigration
(
let
errorDescription
):
return
NSLocalizedString
(
"Something went wrong deleting old store:
\(
errorDescription
)
"
,
comment
:
""
)
case
.
genericError
(
let
customContent
):
if
customContent
.
isEmpty
{
return
NSLocalizedString
(
"Something went wrong accessing device storage"
,
comment
:
""
)
}
else
{
return
NSLocalizedString
(
customContent
,
comment
:
""
)
}
}
}
}
//
MARK:
- Application Errors
enum
AppError
:
Error
{
case
couldNotGetLoggedInClient
case
couldNotGetPostId
case
genericError
(
String
=
""
)
}
extension
AppError
:
LocalizedError
{
public
var
errorDescription
:
String
?
{
switch
self
{
case
.
couldNotGetLoggedInClient
:
return
NSLocalizedString
(
"Something went wrong trying to access the WriteFreely client."
,
comment
:
""
)
case
.
couldNotGetPostId
:
return
NSLocalizedString
(
"Something went wrong trying to get the post's unique ID."
,
comment
:
""
)
case
.
genericError
(
let
customContent
):
if
customContent
.
isEmpty
{
return
NSLocalizedString
(
"Something went wrong"
,
comment
:
""
)
}
else
{
return
NSLocalizedString
(
customContent
,
comment
:
""
)
}
}
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 2, 6:28 AM (8 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3673285
Attached To
rWFSUI WriteFreely SwiftUI
Event Timeline
Log In to Comment