diff options
Diffstat (limited to 'errors.go')
-rw-r--r-- | errors.go | 80 |
1 files changed, 55 insertions, 25 deletions
@@ -26,31 +26,54 @@ import ( ) var ( - errCannotSetupJwks = errors.New("cannot set up jwks") - errInsufficientFields = errors.New("insufficient fields") - errCannotGetDepartment = errors.New("cannot get department") - errCannotFetchAccessToken = errors.New("cannot fetch access token") - errTokenEndpointReturnedError = errors.New("token endpoint returned error") - errCannotProcessConfig = errors.New("cannot process configuration file") - errCannotOpenConfig = errors.New("cannot open configuration file") - errCannotDecodeConfig = errors.New("cannot decode configuration file") - errMissingConfigValue = errors.New("missing configuration value") - errInvalidCourseType = errors.New("invalid course type") - errInvalidCourseGroup = errors.New("invalid course group") - errMultipleChoicesInOneGroup = errors.New("multiple choices per group per user") - errUnsupportedDatabaseType = errors.New("unsupported db type") - errUnexpectedDBError = errors.New("unexpected database error") - errCannotSend = errors.New("cannot send") - errCannotGenerateRandomString = errors.New("cannot generate random string") - errContextCanceled = errors.New("context canceled") - errCannotReceiveMessage = errors.New("cannot receive message") - errNoSuchCourse = errors.New("no such course") - errInvalidState = errors.New("invalid state") - errWebSocketWrite = errors.New("error writing to websocket") - errCannotCheckCookie = errors.New("error checking cookie") - errNoCookie = errors.New("no cookie found") - errNoSuchUser = errors.New("no such user") - errNoSuchYearGroup = errors.New("no such year group") + errCannotSetupJwks = errors.New("cannot set up jwks") + errInsufficientFields = errors.New("insufficient fields") + errCannotGetDepartment = errors.New("cannot get department") + errUnknownDepartment = errors.New("unknown department") + errCannotFetchAccessToken = errors.New("cannot fetch access token") + errTokenEndpointReturnedError = errors.New("token endpoint returned error") + errCannotProcessConfig = errors.New("cannot process configuration file") + errCannotOpenConfig = errors.New("cannot open configuration file") + errCannotDecodeConfig = errors.New("cannot decode configuration file") + errMissingConfigValue = errors.New("missing configuration value") + errInvalidCourseType = errors.New("invalid course type") + errInvalidCourseGroup = errors.New("invalid course group") + errMultipleChoicesInOneGroup = errors.New("multiple choices per group per user") + errUnsupportedDatabaseType = errors.New("unsupported db type") + errUnexpectedDBError = errors.New("unexpected database error") + errCannotSend = errors.New("cannot send") + errCannotGenerateRandomString = errors.New("cannot generate random string") + errContextCanceled = errors.New("context canceled") + errCannotReceiveMessage = errors.New("cannot receive message") + errNoSuchCourse = errors.New("reference to non-existent course") + errInvalidState = errors.New("invalid state") + errCannotSetState = errors.New("cannot set state") + errWebSocketWrite = errors.New("error writing to websocket") + errHTTPWrite = errors.New("error writing to http writer") + errCannotCheckCookie = errors.New("error checking cookie") + errNoCookie = errors.New("no cookie found") + errNoSuchUser = errors.New("no such user") + errNoSuchYearGroup = errors.New("no such year group") + errPostOnly = errors.New("only post is supported on this endpoint") + errMalformedForm = errors.New("malformed form") + errAuthorizeEndpointError = errors.New("authorize endpoint returned error") + errCannotParseClaims = errors.New("cannot parse claims") + errCannotUnpackClaims = errors.New("cannot unpack claims") + errJWTMalformed = errors.New("jwt token is malformed") + errJWTSignatureInvalid = errors.New("jwt token has invalid signature") + errJWTExpired = errors.New("jwt token has expired or is not yet valid") + errJWTInvalid = errors.New("jwt token is somehow invalid") + errStaffOnly = errors.New("this page is only available to staff") + errDisableStudentAccessFirst = errors.New("you must disable student access before performing this operation") + errFormNoFile = errors.New("you need to select a file before submitting the form") + errNotACSV = errors.New("the file you uploaded is not a csv file") + errCannotReadCSV = errors.New("cannot read csv") + errBadCSVFormat = errors.New("bad csv format") + errMissingCSVColumn = errors.New("missing csv column") + errUnexpectedNilCSVLine = errors.New("unexpected nil csv line") + errWhileSetttingUpCourseTablesAgain = errors.New("error while setting up course tables again") + errCannotWriteTemplate = errors.New("cannot write template") + // errInvalidCourseID = errors.New("invalid course id") ) func wrapError(a, b error) error { @@ -59,3 +82,10 @@ func wrapError(a, b error) error { } return fmt.Errorf("%w: %w", a, b) } + +func wrapAny(a error, b any) error { + if a == nil && b == nil { + return nil + } + return fmt.Errorf("%w: %v", a, b) +} |