Untitled
unknown
plain_text
3 years ago
28 kB
6
Indexable
/**
* Constants related to user status (USER_STATUS)
*
* OK - This is when the user login is fine and user can proceed with any action on the platform.
* LOCKED - This is when the user is blocked (for whatever reason) and not allowed login to the platform.
* NO_TYPE - This is when a new user registration has happened and the type of the user has not been set in the DB.
*/
export const USER_STATUS = Object.freeze({
OK: "1001",
LOCKED: "1002",
NO_TYPE: "1999"
});
/**
* Constants related to job posting company status (COMPANY_STATUS)
*
* OK - This is when the user select hiring for client option and submit the company information form.
* LOCKED - This is when the user select hiring for client option in company information form.
*/
export const COMPANY_STATUS = Object.freeze({
OK: "100001",
LOCKED: "100002"
});
/**
* Constants related to job posting status (JOB_POSTING_STATUS)
* Not to be confused with JOB_STATUS. Those are for the Job Status page of the candidate.
*
* DRAFT - This is when the job posting is in draft mode and not yet posted.
* SUBMITTED_FOR_AUTO_REVIEW - This is when the job posting is posted. That would be submitted for review to be handled automatically.
* SUBMITTED_FOR_MANUAL_REVIEW - This is when the job is submitted for manual review. For example, by flagging, etc.
* OK_MANUAL_REVIEWED - This is when the job posting is fine and can be seen by the candidates. (This is when the job posting is manually reviewed by the Tokhimo team).
* OK_AUTO_REVIEWED - This is when the job posting is fine and can be seen by the candidates. (This is when the job posting is auto reviewed by the Tokhimo AI).
* FLAGGED - This is when the job posting is flagged by the feedback of the Candidates/AI and needs review. This reviw is always manual.
* HIDDEN - This is when the job posting is hidden and can not be seen by the candidates.
*/
export const JOB_POSTING_STATUS = Object.freeze({
DRAFT: "101001",
SUBMITTED_FOR_AUTO_REVIEW: "101002",
SUBMITTED_FOR_MANUAL_REVIEW: "101003",
OK_AUTO_REVIEWED: "101004",
OK_MANUAL_REVIEWED: "101005",
FLAGGED: "101006",
HIDDEN: "101007"
});
/**
* Constants related to account types. (USER_TYPE)
*
* INDIVIDUAL - This is when type of the account is individual and can apply for company.
* COMPANY - This is when type of the account is company and can create jobs and see other candidates.
* OEM - This is for internal use, this allows Tokhimo to access any other user's things and do stuff on other user's behalf.
* COMPANY_DEPENDENT - This is when a company has invited another person to manage posts on their behalf. (TBD on this later).
* SUPER_USER - This is for Internal Tokhimo users. (They can access anything and bypass any restrictions).
* NO_TYPE - This is for a new registration when the type of user is not decided.
*/
export const USER_TYPE = Object.freeze({
INDIVIDUAL: "2001",
COMPANY: "2002",
OEM: "2003",
COMPANY_DEPENDENT: "2004",
SUPER_USER: "2005",
NO_TYPE: "2999"
});
/**
* Constants related to Contract Types for Job Experiences and Job Postings. (JOB_CONTRACT_TYPE)
* This is always related to job (either postings or filling of experience).
*
* FULL_TIME_EMPLOYEE - For full time role
* CONTRACT_EMPLOYEE - For Contract Role
* TEMPORARY_EMPLOYEE - For a temporary Employee
* INTERNSHIP - For an intern
* PART_TIME_JOB - For Part Time role
* OTHER - Anything else.
*/
export const JOB_CONTRACT_TYPE = Object.freeze({
FULL_TIME_EMPLOYEE: "3001",
CONTRACT_EMPLOYEE: "3002",
TEMPORARY_EMPLOYEE: "3003",
INTERNSHIP: "3004",
PART_TIME_JOB: "3005",
OTHER: "3006"
});
export const JOB_CONTRACT_TYPE_T_LABELS = Object.freeze({
[JOB_CONTRACT_TYPE.FULL_TIME_EMPLOYEE]:
"t_job_experience_contract_type_full_time_employee",
[JOB_CONTRACT_TYPE.CONTRACT_EMPLOYEE]:
"t_job_experience_contract_type_contract_employee",
[JOB_CONTRACT_TYPE.TEMPORARY_EMPLOYEE]:
"t_job_experience_contract_type_temporary_employee",
[JOB_CONTRACT_TYPE.INTERNSHIP]: "t_job_experience_contract_type_internship",
[JOB_CONTRACT_TYPE.PART_TIME_JOB]:
"t_job_experience_contract_type_part_time_job",
[JOB_CONTRACT_TYPE.OTHER]: "t_job_experience_contract_type_other"
});
/**
* Constants related to language proficiencies. (LANGUAGE_PROFICIENCY)
* This is used for both Job Postings and User Profile.
* That is why this is a generic constant.
*
* NATIVE - Native Speaker.
* CLOSE_TO_NATIVE - Almost Native, knows the language very well.
* BUSINESS - Business Speaker.
* DAILY_CONVERSATION - Has basic knowledge.
* NONE - Does not know anything about that language.
*/
export const LANGUAGE_PROFICIENCY = Object.freeze({
NATIVE: "4001",
BUSINESS: "4002",
DAILY_CONVERSATION: "4003",
NONE: "4004"
});
export const LANGUAGE_PROFICIENCY_T_LABELS = Object.freeze({
[LANGUAGE_PROFICIENCY.NATIVE]: "t_language_proficiency_native",
[LANGUAGE_PROFICIENCY.BUSINESS]: "t_language_proficiency_business",
[LANGUAGE_PROFICIENCY.DAILY_CONVERSATION]:
"t_language_proficiency_conversational",
[LANGUAGE_PROFICIENCY.NONE]: "t_language_proficiency_none"
});
/**
* Constants related to account types. (INDIVIDUAL_USER_VISA_TYPE)
*
* VALUES - TODO
*/
export const INDIVIDUAL_USER_VISA_TYPE = Object.freeze({
ARTIST: "5001",
BUSINESS_MANAGER: "5002",
CULTURAL_ACTIVITIES: "5003",
DEPENDANT: "5004",
DIPLOMAT: "5005",
DESIGNATED_ACTIVITIES: "5006",
ENTERTAINER: "5007",
HIGHLY_SKILLED_PROFESSIONAL: "5008",
INSTRUCTOR: "5009",
INTRA_COMPANY_TRANSFEREE: "5010",
JOURNALIST: "5011",
LEGAL_ACCOUNTING_SERVICES: "5012",
LONG_TERM_RESIDENT: "5013",
MEDICAL_SERVICES: "5014",
NURSING_CARE: "5015",
OFFICIAL: "5016",
PERMANENT_RESIDENT: "5017",
PROFESSOR: "5018",
RELIGIOUS_ACTIVITIES: "5019",
RESEARCHER: "5020",
SPECIALIST: "5021",
SKILLED_LABOR: "5022",
SPOUSE_CHILD_JA_NATIONAL: "5023",
SPOUSE_CHILD_PERMA_RESIDENT: "5024",
SPECIFIED_SKILLED_WORKERS: "5025",
STUDENT: "5026",
TECHNICAL_INTERN_TRAINING: "5027",
TEMPORARY_VISITOR: "5028",
TRAINEE: "5029"
});
export const INDIVIDUAL_USER_VISA_TYPE_T_LABELS = Object.freeze({
[INDIVIDUAL_USER_VISA_TYPE.ARTIST]: "t_user_visa_type_artist",
[INDIVIDUAL_USER_VISA_TYPE.BUSINESS_MANAGER]:
"t_user_visa_type_business_manager",
[INDIVIDUAL_USER_VISA_TYPE.CULTURAL_ACTIVITIES]:
"t_user_visa_type_cultural_activities",
[INDIVIDUAL_USER_VISA_TYPE.DEPENDANT]: "t_user_visa_type_dependent",
[INDIVIDUAL_USER_VISA_TYPE.DESIGNATED_ACTIVITIES]:
"t_user_visa_type_designated_activities",
[INDIVIDUAL_USER_VISA_TYPE.DIPLOMAT]: "t_user_visa_type_diplomat",
[INDIVIDUAL_USER_VISA_TYPE.SPECIALIST]:
"t_user_visa_type_engineer_specialist",
[INDIVIDUAL_USER_VISA_TYPE.ENTERTAINER]: "t_user_visa_type_entertainer",
[INDIVIDUAL_USER_VISA_TYPE.HIGHLY_SKILLED_PROFESSIONAL]:
"t_user_visa_type_highly_skilled_professional",
[INDIVIDUAL_USER_VISA_TYPE.INSTRUCTOR]: "t_user_visa_type_instructor",
[INDIVIDUAL_USER_VISA_TYPE.INTRA_COMPANY_TRANSFEREE]:
"t_user_visa_type_intra_company_transferee",
[INDIVIDUAL_USER_VISA_TYPE.JOURNALIST]: "t_user_visa_type_journalist",
[INDIVIDUAL_USER_VISA_TYPE.LEGAL_ACCOUNTING_SERVICES]:
"t_user_visa_type_legal_accounting_services",
[INDIVIDUAL_USER_VISA_TYPE.LONG_TERM_RESIDENT]:
"t_user_visa_type_long_term_resident",
[INDIVIDUAL_USER_VISA_TYPE.MEDICAL_SERVICES]:
"t_user_visa_type_medical_services",
[INDIVIDUAL_USER_VISA_TYPE.NURSING_CARE]: "t_user_visa_type_nursing_care",
[INDIVIDUAL_USER_VISA_TYPE.OFFICIAL]: "t_user_visa_type_official",
[INDIVIDUAL_USER_VISA_TYPE.PERMANENT_RESIDENT]:
"t_user_visa_type_permanent_resident",
[INDIVIDUAL_USER_VISA_TYPE.PROFESSOR]: "t_user_visa_type_professor",
[INDIVIDUAL_USER_VISA_TYPE.RELIGIOUS_ACTIVITIES]:
"t_user_visa_type_religious_activities",
[INDIVIDUAL_USER_VISA_TYPE.RESEARCHER]: "t_user_visa_type_researcher",
[INDIVIDUAL_USER_VISA_TYPE.SKILLED_LABOR]: "t_user_visa_type_skilled_labor",
[INDIVIDUAL_USER_VISA_TYPE.SPECIFIED_SKILLED_WORKERS]:
"t_user_visa_type_specified_skilled_worker",
[INDIVIDUAL_USER_VISA_TYPE.SPOUSE_CHILD_JA_NATIONAL]:
"t_user_visa_type_spouse_or_child_of_japanese_national",
[INDIVIDUAL_USER_VISA_TYPE.SPOUSE_CHILD_PERMA_RESIDENT]:
"t_user_visa_type_spouse_or_child_of_permanent_resident",
[INDIVIDUAL_USER_VISA_TYPE.STUDENT]: "t_user_visa_type_student",
[INDIVIDUAL_USER_VISA_TYPE.TECHNICAL_INTERN_TRAINING]:
"t_user_visa_type_technical_intern_training",
[INDIVIDUAL_USER_VISA_TYPE.TEMPORARY_VISITOR]:
"t_user_visa_type_temporary_visitor",
[INDIVIDUAL_USER_VISA_TYPE.TRAINEE]: "t_user_visa_type_trainee"
});
/**
* Constants related to account types. (INDIVIDUAL_USER_DEGREE_TYPE)
*
* VALUES - TODO
*/
export const INDIVIDUAL_USER_DEGREE_TYPE = Object.freeze({
ADVANCED_DIPLOMA: "6001",
ASSOCIATE_DEGREE: "6002",
BACHELOR: "6003",
DIPLOMA: "6004",
DOCTOR: "6005",
EXCHANGE_STUDENT: "6006",
JURIS_DOCTOR: "6007",
MASTER: "6008",
MASTER_OF_EDUCATION: "6009"
});
export const INDIVIDUAL_USER_DEGREE_TYPE_T_LABELS = Object.freeze({
[INDIVIDUAL_USER_DEGREE_TYPE.ADVANCED_DIPLOMA]:
"t_education_degree_type_advanced_diploma",
[INDIVIDUAL_USER_DEGREE_TYPE.ASSOCIATE_DEGREE]:
"t_education_degree_type_associate_degree",
[INDIVIDUAL_USER_DEGREE_TYPE.BACHELOR]: "t_education_degree_type_bachelor",
[INDIVIDUAL_USER_DEGREE_TYPE.DIPLOMA]: "t_education_degree_type_diploma",
[INDIVIDUAL_USER_DEGREE_TYPE.DOCTOR]: "t_education_degree_type_doctor",
[INDIVIDUAL_USER_DEGREE_TYPE.EXCHANGE_STUDENT]:
"t_education_degree_type_exchange_student",
[INDIVIDUAL_USER_DEGREE_TYPE.JURIS_DOCTOR]:
"t_education_degree_type_juris_doctor",
[INDIVIDUAL_USER_DEGREE_TYPE.MASTER]: "t_education_degree_type_master",
[INDIVIDUAL_USER_DEGREE_TYPE.MASTER_OF_EDUCATION]:
"t_education_degree_type_master_of_education"
});
// TODO: Confirm about these values.
// {
// "dropdown_name": "Scale",
// "options": [
// "~ Less than 50",
// "50 ~ 100",
// "100 ~ 300",
// "300 ~ 500",
// "500 ~ 1000",
// "1000 ~ 3000",
// "3000 ~ 5000",
// "5000 or More"
// ]
// },
// {
// "dropdown_name": "Job change",
// "options": [
// "Soon",
// "Within 3 Months",
// "Within 6 Months",
// "Within 1 Year",
// "Not Decided Yet"
// ]
// }
/**
* Constants related to dialog(modal) actions. (DIALOG_ACTION)
*
* AGREE - To AGREE/CONFIRM and close dialog
* CANCEL - To CANCEL and close dialog
*/
export const DIALOG_ACTION = Object.freeze({
AGREE: "AGREE",
CANCEL: "CANCEL"
});
/**
* Constants related to job status. (JOB_STATUS_TAGS)
* These constants are for frontend display and not for DB references.
* For DB references, check - JOB_APPLICATION_INVITATION_ACTION_TYPE
* FIXME: Update this documentation
*
* NEW - For new jobs
* ACTIVE - For active jobs
* APPLIED - For applied jobs
* REVOKED - For revoked jobs
* INVITED - For invited jobs
* AGENCY - For jobs posted by agency
*/
export const JOB_STATUS_TAGS = Object.freeze({
NEW: "NEW",
ACTIVE: "ACTIVE",
AGENCY: "AGENCY"
});
export const JOB_APPLICATION_INVITATION_ACTION_TYPE = Object.freeze({
INVITED: "7001",
APPLIED: "7002",
DECLINED: "7003",
REVOKED: "7004",
RESUME_PURCHASED: "7005"
});
export const JOB_APPLICATION_INVITATION_ACTION_TYPE_T_LABELS = Object.freeze({
[JOB_APPLICATION_INVITATION_ACTION_TYPE.INVITED]: "t_general_invited",
[JOB_APPLICATION_INVITATION_ACTION_TYPE.APPLIED]: "t_general_applied",
[JOB_APPLICATION_INVITATION_ACTION_TYPE.DECLINED]: "t_general_declined",
[JOB_APPLICATION_INVITATION_ACTION_TYPE.REVOKED]: "t_general_revoked",
[JOB_APPLICATION_INVITATION_ACTION_TYPE.RESUME_PURCHASED]:
"t_general_resume_purchased"
});
/**
* Constants related to Social Button. (SOCIAL_BUTTON_VARIANT)
*
* GOOGLE - For Google SSO
* LINKEDIN - For LinkedIn SSO
*/
export const SOCIAL_BUTTON_VARIANT = Object.freeze({
GOOGLE: "GOOGLE",
LINKEDIN: "LINKEDIN"
});
// Ellipsis typography default values
export const ELLIPSIS_TYPOGRAPHY_DEFAULT_VALUES = Object.freeze({
lineClamp: 4,
color: "text.secondary"
});
// Toast notification time
export const TOAST_DEFAULT_HIDE_DURATION_MS = 3000;
/**
* Constants related to File Upload Requirements
*
* fileSize - For maximum permitted size of file (in MB)
* fileFormat - For permitted formats
*/
export const CV_FILE_UPLOAD_CONFIG = Object.freeze({
fileSize: 6,
fileFormat: ["pdf"]
});
/**
* Constants related to job details File Upload Requirements
*
* fileSize - For maximum permitted size of file (in MB)
* fileFormat - For permitted formats
*/
export const JOB_DESCRIPTION_FILE_UPLOAD_CONFIG = Object.freeze({
fileSize: 6,
fileFormat: ["pdf"]
});
/**
* Constants related to base avatar component
*
* fileSize - For maximum permitted size of file (in MB)
* fileFormat - For permitted formats
*/
export const AVATAR_IMAGE_UPLOAD_CONFIG = Object.freeze({
fileSize: 5,
fileFormat: ["png", "jpeg", "jpg", "gif"]
});
/**
* Constants related to Image Upload Requirements
*
* fileSize - For maximum permitted size of file (in MB)
* fileFormat - For permitted formats
*/
export const PROFILE_IMAGE_UPLOAD_CONFIG = Object.freeze({
fileSize: 5,
fileFormat: ["png", "jpeg", "jpg", "gif"]
});
/**
* Constants related to company logo
*
* fileSize - For maximum permitted size of file (in MB)
* fileFormat - For permitted formats
*/
export const COMPANY_LOGO_UPLOAD_CONFIG = Object.freeze({
fileSize: 5,
fileFormat: ["png", "jpeg", "jpg", "gif"]
});
/**
* Constants related to Environment Types
*
* LOCAL - For when the environment is locally served.
* PREVIEW - For when the environment is serverd as PR Preview.
* STAGE - For when the environment is served on the Staging Website.
* TEST - For when the environment is served on the Test Pipeline.
* PROD - For when the environment is served on the Prod Website.
*/
export const ENVIRONMENT = Object.freeze({
LOCAL: "LOCAL",
PREVIEW: "PREVIEW",
STAGE: "STAGE",
TEST: "TEST",
PROD: "PROD"
});
// Constants related to number of companies user worked
export const INDIVIDUAL_USER_NUMBER_OF_COMPANIES = Object.freeze({
ONE: "1",
TWO: "2",
THREE: "3",
FOUR: "4",
FIVE: "5",
SIX: "6",
SEVEN: "7",
EIGHT: "8",
NINE: "9",
TEN: "10",
GREATER_THAN_TEN: "9999"
});
export const INDIVIDUAL_USER_NUMBER_OF_COMPANIES_T_LABELS = Object.freeze({
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.ONE]:
"t_profile_number_of_companies_one",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.TWO]:
"t_profile_number_of_companies_two",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.THREE]:
"t_profile_number_of_companies_three",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.FOUR]:
"t_profile_number_of_companies_four",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.FIVE]:
"t_profile_number_of_companies_five",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.SIX]:
"t_profile_number_of_companies_six",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.SEVEN]:
"t_profile_number_of_companies_seven",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.EIGHT]:
"t_profile_number_of_companies_eight",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.NINE]:
"t_profile_number_of_companies_nine",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.TEN]:
"t_profile_number_of_companies_ten",
[INDIVIDUAL_USER_NUMBER_OF_COMPANIES.GREATER_THAN_TEN]:
"t_profile_number_of_companies_greater_than_ten"
});
/**
* Constants related to years of experience in job (YEARS_OF_EXPERIENCE)
* This us used in both User's Job Skill setting and while posting a Job from company side.
* That's why this is general YEARS_OF_EXPERIENCE and not INDIVIDUAL_USER_YEARS_OF_EXPERIENCE or JOB_YEARS_OF_EXPERIENCE.
* FIXME: Add comment about the values.
*/
export const YEARS_OF_EXPERIENCE = Object.freeze({
LESS_THAN_ONE_YEAR: "1",
ONE_YEAR: "2",
TWO_YEARS: "3",
THREE_YEARS: "4",
FOUR_YEARS: "5",
FIVE_YEARS: "6",
SIX_YEARS: "7",
SEVEN_YEARS: "8",
EIGHT_YEARS: "9",
NINE_YEARS: "10",
TEN_YEARS: "11",
GREATER_THAN_TEN_YEARS: "9999"
});
export const YEARS_OF_EXPERIENCE_T_LABELS = Object.freeze({
[YEARS_OF_EXPERIENCE.LESS_THAN_ONE_YEAR]:
"t_general_year_of_experience_less_than_one_year",
[YEARS_OF_EXPERIENCE.ONE_YEAR]: "t_general_year_of_experience_one_year",
[YEARS_OF_EXPERIENCE.TWO_YEARS]: "t_general_year_of_experience_two_years",
[YEARS_OF_EXPERIENCE.THREE_YEARS]: "t_general_year_of_experience_three_years",
[YEARS_OF_EXPERIENCE.FOUR_YEARS]: "t_general_year_of_experience_four_years",
[YEARS_OF_EXPERIENCE.FIVE_YEARS]: "t_general_year_of_experience_five_years",
[YEARS_OF_EXPERIENCE.SIX_YEARS]: "t_general_year_of_experience_six_years",
[YEARS_OF_EXPERIENCE.SEVEN_YEARS]: "t_general_year_of_experience_seven_years",
[YEARS_OF_EXPERIENCE.EIGHT_YEARS]: "t_general_year_of_experience_eight_years",
[YEARS_OF_EXPERIENCE.NINE_YEARS]: "t_general_year_of_experience_nine_years",
[YEARS_OF_EXPERIENCE.TEN_YEARS]: "t_general_year_of_experience_ten_years",
[YEARS_OF_EXPERIENCE.GREATER_THAN_TEN_YEARS]:
"t_general_year_of_experience_greater_than_ten_years"
});
// FIXME: remove skills list once it will be finalized
export const SKILLS_LIST = [
{ key: "node", label: "Node" },
{ key: "ab", label: "Ab" },
{ key: "abc", label: "Abc" },
{ key: "bcd", label: "Bcd" },
{ key: "abp", label: "Abp" },
{ key: "react", label: "React" },
{ key: "js", label: "Javascript" }
];
// FIXME: remove/fix below comment once auto complete component fixed
// export const SKILLS_LIST = [
// "Node",
// "React",
// "Javascript",
// "Mongodb",
// "Python",
// "C",
// "C++",
// "PHP"
// ].sort();
export const MAX_SKILLS = 50;
export const MAX_WORK_EXPERIENCES = 20;
export const MAX_EDUCATIONS = 10;
export const MAX_CERTIFICATIONS = 20;
export const MAX_LANGUAGES = 10;
export const MAX_EXPECTED_SALARY = 50000000;
// Constants related to file.
// FIXME: Documentation will be done later.
// Note: The Paths DO NOT contain trailing slashes.
export const FILES_LOCATION_USER = "user";
export const FILES_LOCATION_TOKHIMO = "tokhimo";
export const FILES_LOCATION_INDIVIDUAL = `${FILES_LOCATION_USER}/individual`;
export const FILES_LOCATION_COMPANY = `${FILES_LOCATION_USER}/company`;
export const FILES_LOCATION_INDIVIDUAL_EN_CV = `${FILES_LOCATION_INDIVIDUAL}/resume/en-cv`;
export const FILES_LOCATION_INDIVIDUAL_JA_CV = `${FILES_LOCATION_INDIVIDUAL}/resume/ja-cv`;
export const FILES_LOCATION_INDIVIDUAL_JA_RIREKISHO = `${FILES_LOCATION_INDIVIDUAL}/resume/ja-rirekisho`;
export const FILES_LOCATION_PROFILE_PICTURE = `${FILES_LOCATION_USER}/profile-picture`;
export const FILES_LOCATION_COMPANY_LOGO = `${FILES_LOCATION_COMPANY}/logo`;
export const FILES_LOCATION_JOB = `${FILES_LOCATION_COMPANY}/jobs`;
export const FILES_LOCATION_JOB_ADDITIONAL_FILE_EN = `${FILES_LOCATION_JOB}/additional-files-en`;
export const FILES_LOCATION_JOB_ADDITIONAL_FILE_JA = `${FILES_LOCATION_JOB}/additional-files-ja`;
// Constants related to language test
export const NONE_OPTION = Object.freeze({
NONE: "50000"
});
export const NONE_OPTION_T_LABELS = Object.freeze({
[NONE_OPTION.NONE]: "t_test_none_option"
});
export const JA_LANGUAGE_TEST = Object.freeze({
NONE: "9001",
JLPT: "9002",
NAT: "9003",
BJT: "9004",
J_TEST: "9005"
});
export const JA_LANGUAGE_TEST_T_LABELS = Object.freeze({
[JA_LANGUAGE_TEST.NONE]: "t_ja_language_test_none",
[JA_LANGUAGE_TEST.JLPT]: "t_ja_language_test_jlpt",
[JA_LANGUAGE_TEST.NAT]: "t_ja_language_test_nat",
[JA_LANGUAGE_TEST.BJT]: "t_ja_language_test_bjt",
[JA_LANGUAGE_TEST.J_TEST]: "t_ja_language_test_j_test"
});
// Constants related to language score
export const JLPT_SCORE = Object.freeze({
N1: "10001",
N2: "10002",
N3: "10003",
N4: "10004",
N5: "10005"
});
export const JLPT_SCORE_T_LABELS = Object.freeze({
[JLPT_SCORE.N1]: "t_jlpt_score_n1",
[JLPT_SCORE.N2]: "t_jlpt_score_n2",
[JLPT_SCORE.N3]: "t_jlpt_score_n3",
[JLPT_SCORE.N4]: "t_jlpt_score_n4",
[JLPT_SCORE.N5]: "t_jlpt_score_n5"
});
export const NAT_SCORE = Object.freeze({
LEVEL_1: "20001",
LEVEL_2: "20002",
LEVEL_3: "20003",
LEVEL_4: "20004",
LEVEL_5: "20005"
});
export const NAT_SCORE_T_LABELS = Object.freeze({
[NAT_SCORE.LEVEL_1]: "t_nat_score_level_1",
[NAT_SCORE.LEVEL_2]: "t_nat_score_level_2",
[NAT_SCORE.LEVEL_3]: "t_nat_score_level_3",
[NAT_SCORE.LEVEL_4]: "t_nat_score_level_4",
[NAT_SCORE.LEVEL_5]: "t_nat_score_level_5"
});
export const BJT_SCORE = Object.freeze({
J1: "30001",
J2: "30002",
J3: "30003",
J4: "30004",
J5: "30005"
});
export const BJT_SCORE_T_LABELS = Object.freeze({
[BJT_SCORE.J1]: "t_bjt_score_j1",
[BJT_SCORE.J2]: "t_bjt_score_j2",
[BJT_SCORE.J3]: "t_bjt_score_j3",
[BJT_SCORE.J4]: "t_bjt_score_j4",
[BJT_SCORE.J5]: "t_bjt_score_j5"
});
export const J_TEST_SCORE = Object.freeze({
"A": "40001",
"A+": "40002",
"A-": "40003",
"B": "40004",
"B-": "40005",
"C": "40006",
"D": "40007",
"E": "40008",
"F": "40009",
"G": "40010"
});
export const J_TEST_SCORE_T_LABELS = Object.freeze({
[J_TEST_SCORE.A]: "t_j_test_score_a",
[J_TEST_SCORE["A+"]]: "t_j_test_score_a+",
[J_TEST_SCORE["A-"]]: "t_j_test_score_a-",
[J_TEST_SCORE.B]: "t_j_test_score_b",
[J_TEST_SCORE["B-"]]: "t_j_test_score_b-",
[J_TEST_SCORE.C]: "t_j_test_score_c",
[J_TEST_SCORE.D]: "t_j_test_score_d",
[J_TEST_SCORE.E]: "t_j_test_score_e",
[J_TEST_SCORE.F]: "t_j_test_score_f",
[J_TEST_SCORE.G]: "t_j_test_score_g"
});
export const INDIVIDUAL_USER_PROFILE_COMPLETION_TOTAL_PROGRESS_STEPS_EN_CV = 6;
export const INDIVIDUAL_USER_PROFILE_COMPLETION_TOTAL_PROGRESS_STEPS_JA_CV = 6;
export const INDIVIDUAL_USER_PROFILE_COMPLETION_TOTAL_PROGRESS_STEPS_JA_RIREKISHO = 1;
/**
* Constants related to State management of SignInSignUpDialog.
*
* SIGN_IN - Active screen is the email and password input screen for sign in.
* SIGN_UP - Active screen is the email and password input screen for sign up.
* TEST - Active screen for forgot password flow where user enters the email.
* PROD - Active screen for forgot password flow where password recovery email has been sent.
*/
export const SIGN_IN_SIGN_UP_DIALOG_ACTIVE_CONTENT_KEY = Object.freeze({
SIGN_IN: "SIGN_IN",
SIGN_UP: "SIGN_UP",
RESET_PASSWORD_EMAIL_INPUT: "RESET_PASSWORD_EMAIL_INPUT",
RESET_PASSWORD_EMAIL_SENT: "RESET_PASSWORD_EMAIL_SENT"
});
/**
* Email ID of the Portal to send from.
*/
export const FROM_EMAIL_NO_REPLY = "no-reply@jobs.tokhimo.com";
/**
* Constants related to the job that has been posted with regards to the company of posting.
* (JOB_POSTING_TYPE)
*
* SELF - The company has posted for itself.
* CLIENT - The company is posting on behalf of a client.
*/
export const JOB_POSTING_TYPE = Object.freeze({
SELF: "50001",
CLIENT: "50002"
});
/**
* Constants related to visa sponsorship for a job posting.
* (JOB_POSTING_TYPE)
*
* YES - The company is providing visa sponsorship.
* No - The company is not providing visa sponsorship.
*/
export const JOB_VISA_SPONSORSHIP_AVAILABLE = Object.freeze({
YES: "8001",
NO: "8002"
});
export const JOB_VISA_SPONSORSHIP_AVAILABLE_T_LABELS = Object.freeze({
[JOB_VISA_SPONSORSHIP_AVAILABLE.YES]: "t_general_yes",
[JOB_VISA_SPONSORSHIP_AVAILABLE.NO]: "t_general_no"
});
/**
* Constants related to the frequency of salary deposit for a job posting.
* (JOB_SALARY_DEPOSIT_FREQUENCY)
*
* HOURLY - Pay is per hour of work.
* DAILY - Payment is at end of every day (8h/day).
* WEEKLY - Payment is made at the end of every week.
* BI_WEEKLY - Once every two weeks the payment is made.
* MONTHLY - Salary is credited once every month.
* QUARTERLY - Payment is made once every 3 months.
* ANNUALLY - Cost to company on a per year basis.
*/
export const JOB_SALARY_DEPOSIT_FREQUENCY = Object.freeze({
HOURLY: "51001",
DAILY: "51002",
WEEKLY: "51003",
BI_WEEKLY: "51004",
MONTHLY: "51005",
QUARTERLY: "51006",
ANNUALLY: "51007"
});
export const JOB_SALARY_DEPOSIT_FREQUENCY_T_LABELS = Object.freeze({
[JOB_SALARY_DEPOSIT_FREQUENCY.HOURLY]: "t_job_salary_frequency_hourly",
[JOB_SALARY_DEPOSIT_FREQUENCY.DAILY]: "t_job_salary_frequency_daily",
[JOB_SALARY_DEPOSIT_FREQUENCY.WEEKLY]: "t_job_salary_frequency_weekly",
[JOB_SALARY_DEPOSIT_FREQUENCY.BI_WEEKLY]: "t_job_salary_frequency_bi_weekly",
[JOB_SALARY_DEPOSIT_FREQUENCY.MONTHLY]: "t_job_salary_frequency_monthly",
[JOB_SALARY_DEPOSIT_FREQUENCY.QUARTERLY]: "t_job_salary_frequency_quarterly",
[JOB_SALARY_DEPOSIT_FREQUENCY.ANNUALLY]: "t_job_salary_frequency_annually"
});
// Ref:- https://stackoverflow.com/a/63317462/13285590
export const PHONE_NO_REGEX =
/^((\\+[1-9]{1,4}[ \\-]*)|(\\([0-9]{2,3}\\)[ \\-]*)|([0-9]{2,4})[ \\-]*)*?[0-9]{3,4}?[ \\-]*[0-9]{3,4}?$/;
// Ref:- https://stackoverflow.com/a/61691586/13745388
export const URL_REGEX =
/^((https?):\/\/)?(www.)?[a-z0-9-]+(\.[a-z]{2,}){1,3}(#?\/?[a-zA-Z0-9#_]+)*\/?(\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/;
// Ref:- https://stackoverflow.com/a/75454523/13285590
export const ALLOW_ONLY_NON_NEGATIVE_INTEGERS_REGEX = /[^0-9]/g;
/**
* Constants related to the type of remote work for a job posting.
* (JOB_REMOTE_WORK_TYPE)
*
* FULLY_REMOTE - The job is fully remote.
* PARTIALLY_REMOTE - The job is partially remote.
* NOT_REMOTE - The job is not remote.
*/
export const JOB_REMOTE_WORK_TYPE = Object.freeze({
FULLY_REMOTE: "52001",
PARTIALLY_REMOTE: "52002",
NOT_REMOTE: "52003"
});
export const JOB_REMOTE_WORK_TYPE_T_LABELS = Object.freeze({
[JOB_REMOTE_WORK_TYPE.FULLY_REMOTE]: "t_job_remote_work_fully_remote",
[JOB_REMOTE_WORK_TYPE.PARTIALLY_REMOTE]: "t_job_remote_work_partially_remote",
[JOB_REMOTE_WORK_TYPE.NOT_REMOTE]: "t_job_remote_work_not_remote"
});
/**
* Constant for ja and en alpha3 code (mostly used for first language[japanese] and second language[english] in language sections)
*/
export const JA_ALPHA3_CODE = "jpn";
export const EN_ALPHA3_CODE = "eng";
// Constant related to post a job steps
// job information page (step 2)
export const JOB_DESCRIPTION_FIELD_MAX_LENGTH = 5000;
export const MUST_REQUIREMENTS_FIELD_MAX_LENGTH = 5000;
// additional information page (step 6)
export const OTHER_DETAILS_FIELD_MAX_LENGTH = 5000;
/**
* Constant for firebase collections
*/
export const FIRESTORE_COLLECTIONS = Object.freeze({
USERS: "users",
COMPANIES: "companies",
JOBS: "jobs",
APPLICATIONS: "applications",
META_COUNTRIES_CITIES: "meta_countries_cities"
});
export const LOCATION_TYPE = Object.freeze({
COUNTRY: "60001",
CITY: "60002"
});
/**
* Constant for Job Search Salary Filter.
*/
export const JOB_SEARCH_SALARY_FILTER = Object.freeze({
THREE_MILLION: "3000000",
FIVE_MILLION: "5000000",
SEVEN_MILLION: "7000000",
TEN_MILLION: "10000000",
FIFTEEN_MILLION: "15000000",
TWENTY_MILLION: "20000000"
});
export const JOB_SEARCH_SALARY_FILTER_T_LABELS = Object.freeze({
[JOB_SEARCH_SALARY_FILTER.THREE_MILLION]:
"t_job_search_salary_filter_3_million",
[JOB_SEARCH_SALARY_FILTER.FIVE_MILLION]:
"t_job_search_salary_filter_5_million",
[JOB_SEARCH_SALARY_FILTER.SEVEN_MILLION]:
"t_job_search_salary_filter_7_million",
[JOB_SEARCH_SALARY_FILTER.TEN_MILLION]:
"t_job_search_salary_filter_10_million",
[JOB_SEARCH_SALARY_FILTER.FIFTEEN_MILLION]:
"t_job_search_salary_filter_15_million",
[JOB_SEARCH_SALARY_FILTER.TWENTY_MILLION]:
"t_job_search_salary_filter_20_million"
});
/**
* Constant for locales
*/
export const LOCALE = Object.freeze({
EN: "en-US",
JA: "ja-JP"
});
/**
* Constant for pagination
*/
export const PAGINATION = Object.freeze({
ITEMS_PER_PAGE: 8
});
/**
* Constant for job dates related tags
*/
export const JOB_NEW_TAG_LAST_UPDATED_DAY = 32;
export const JOB_ACTIVE_TAG_COMPANY_LAST_LOGIN_DAY = 8;
Editor is loading...