<commit_before>//
//  CKIAssignment.h
//  CanvasKit
//
//  Created by <NAME> on 8/22/13.
//  Copyright (c) 2013 Instructure. All rights reserved.
//

#import "CKILockableModel.h"

@class CKICourse;
@class CKISubmission;

typedef enum {
    CKIAssignmentScoringTypePoints,
    CKIAssignmentScoringTypePercentage,
    CKIAssignmentScoringTypePassFail,
    CKIAssignmentScoringTypeLetter,
    CKIAssignmentScoringTypeNotGraded
} CKIAssignmentScoringType;


@interface CKIAssignment : CKILockableModel


#pragma mark - Assignment Info

/**
 The name of the assignment.
 */
@property (nonatomic, copy) NSString *name;

/**
 The assignment description, in an HTML fragment.
 */
@property (nonatomic, copy) NSString *descriptionHTML;

/**
 The due date for the assignment. nil if no due date.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *dueAt;

/**
 The date after which the assignment is locked. nil if this assignment is
 never locked.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *lockAt;

/**
 The date the assignment is unlocked. nil if this assignment is
 never locked.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *unlockAt;

/**
 The ID of the course to which the assignment belongs.
 */
@property (nonatomic, copy) NSString *courseID;

/**
 The URL to the assignment's web page.
 */
@property (nonatomic, strong) NSURL *htmlURL;

/**
 List of the allowed extensions for file uploads.
 
 @note Only valid if submissionTypes includes "online_upload"
 */
@property (nonatomic, copy) NSArray *allowedExtensions;

/**
 The ID of the assignment's group.
 */
@property (nonatomic, copy) NSString *assignmentGroupID;

/**
 The ID of the assignment's group set.
 
 @note Only applies if this is a group assignment.
 */
@property (nonatomic, copy) NSString *groupCategoryID;

/**
 The assignment is muted.
 */
@property (nonatomic) BOOL muted;

/**
 The assignment is published
 
 @note Only visible if 'enable draft' account setting is on
 */
@property (nonatomic) BOOL published;


#pragma mark - Grading


/**
 The maximum points possible for the assignment.
 */
@property (nonatomic) double pointsPossible;

/**
 If this is a group assignment, boolean flag indicating whether or
 not students will be graded individually.
 */
@property (nonatomic) BOOL gradeGroupStudentsIndividually;

/**
 The type of grading the assignment receives; one of "pass_fail",
 "percent", "letter_grade", "points"
 */
@property (nonatomic, copy) NSString *scoringType;

/**
 The type of score the assignment submissions receive<commit_msg>Fixed naming for gradingType<commit_after>//
//  CKIAssignment.h
//  CanvasKit
//
//  Created by <NAME> on 8/22/13.
//  Copyright (c) 2013 Instructure. All rights reserved.
//

#import "CKILockableModel.h"

@class CKICourse;
@class CKISubmission;

typedef enum {
    CKIAssignmentScoringTypePoints,
    CKIAssignmentScoringTypePercentage,
    CKIAssignmentScoringTypePassFail,
    CKIAssignmentScoringTypeLetter,
    CKIAssignmentScoringTypeNotGraded
} CKIAssignmentScoringType;


@interface CKIAssignment : CKILockableModel


#pragma mark - Assignment Info

/**
 The name of the assignment.
 */
@property (nonatomic, copy) NSString *name;

/**
 The assignment description, in an HTML fragment.
 */
@property (nonatomic, copy) NSString *descriptionHTML;

/**
 The due date for the assignment. nil if no due date.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *dueAt;

/**
 The date after which the assignment is locked. nil if this assignment is
 never locked.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *lockAt;

/**
 The date the assignment is unlocked. nil if this assignment is
 never locked.
 
 @warning If this assignment has assignment overrides, use the date from
 the override instead.
 */
@property (nonatomic, strong) NSDate *unlockAt;

/**
 The ID of the course to which the assignment belongs.
 */
@property (nonatomic, copy) NSString *courseID;

/**
 The URL to the assignment's web page.
 */
@property (nonatomic, strong) NSURL *htmlURL;

/**
 List of the allowed extensions for file uploads.
 
 @note Only valid if submissionTypes includes "online_upload"
 */
@property (nonatomic, copy) NSArray *allowedExtensions;

/**
 The ID of the assignment's group.
 */
@property (nonatomic, copy) NSString *assignmentGroupID;

/**
 The ID of the assignment's group set.
 
 @note Only applies if this is a group assignment.
 */
@property (nonatomic, copy) NSString *groupCategoryID;

/**
 The assignment is muted.
 */
@property (nonatomic) BOOL muted;

/**
 The assignment is published
 
 @note Only visible if 'enable draft' account setting is on
 */
@property (nonatomic) BOOL published;


#pragma mark - Grading


/**
 The maximum points possible for the assignment.
 */
@property (nonatomic) double pointsPossible;

/**
 If this is a group assignment, boolean flag indicating whether or
 not students will be graded individually.
 */
@property (nonatomic) BOOL gradeGroupStudentsIndividually;

/**
 The type of grading the assignment receives; one of "pass_fail",
 "percent", "letter_grade", "points"
 */
@property (nonatomic, copy) NSString *gradingType;

/**
 The type of score the assignment submissions receive
{'fraction_non_alphanumeric': 0.09196221707360541, 'fraction_numerical': 0.0032079843165211193, 'mean_word_length': 4.167587476979742, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7464241', 'n_tokens_mistral': 1655, 'n_tokens_neox': 1532, 'n_words': 642}