# @v-sandbox/shared-constants

> Shared constants for sandbox micro-services

Latest version **1.0.1** (published 2023-06-06) · UNLICENSED license · 0 weekly downloads

## Install

```sh
npm install @v-sandbox/shared-constants
pnpm add @v-sandbox/shared-constants
yarn add @v-sandbox/shared-constants
bun add @v-sandbox/shared-constants
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2023-06-06 |
| First published | 2023-06-06 |
| Weekly downloads | 0 |
| License | UNLICENSED |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 80 KB |
| Known vulnerabilities | 0 (+8 in 2 direct dependencies) |
| Install scripts | no |
| Author | @zwanzigg |
| Maintainers | vshreder |

## Links

- npm: https://www.npmjs.com/package/@v-sandbox/shared-constants
- Repository: https://github.com/zwanzigg/npm-shared-constants
- Homepage: https://github.com/zwanzigg/npm-shared-constants#readme
- Issues: https://github.com/zwanzigg/npm-shared-constants/issues
- npm.io page: https://npm.io/package/@v-sandbox/shared-constants

## Dependencies (3)

- [rxjs](https://npm.io/package/rxjs.md) ^7.5.6
- [mongoose](https://npm.io/package/mongoose.md) 5.10.18
- [@nestjs/common](https://npm.io/package/@nestjs/common.md) ^7.6.18

## Recent versions

- 1.0.1 (latest) — 2023-06-06
- 1.0.0 — 2023-06-06

## README

# shared-constants

Constants which are shared across all services and do not require any extra dependencies

### Enums from Auth API

- GenderType
- UserStatusType
- Country
- DefaultEducationLevels
- DefaultExperienceYears
- DefaultGoals
- DefaultRelationships
- GroupVisibility
- JoinGroupRequestStatusType
- JoinGroupRequestType
- OrganizationStatus
- StudentType
- State
- UserReportReason
- UserReportStatus
- GroupType
- UserType
- NotificationType
- NotificationMethod

### Enums from Stripe API

- PayoutAccountStatus
- SubscriptionStatus
- StripePayoutStatus
- StripePayoutType
- BuyCoinsTransactionStatus

### Enums from Feedback API

- FeedbackEntityType
- FeedbackInitiation
- FeedbackQuestionType

### Enums from Calendar API

- SessionType
- ImmediateSessionType
- SessionStatus
- JoinSessionRequestStatus

### Enums from Content API

- CourseNavigationType
- ContentType
- Emotion
- QuestionType`
- SceneTemplateType
- AgeGroupType
- AGE_GROUPS

These two are used to fill the collections with the default values on the app start-up

- DefaultLanguages
- DefaultTopics

### Enums from Media Gallery API

- CollectionName
- MediaContentType

### Enums for Redis-Cache

- RedisCachePrefix

### Constants from Payouts Management API

- DEFAULT_POLICY_DETAILS
- PayoutMethod

### Constants from Gateway

- PUBLIC_ENDPOINTS
- Environments

### Constants from Users

- DEFAULT_AVATARS
- FIELDS_WEIGHT
- DEFAULT_LANGUAGE_TITLE
- ExistingTimezones

### Messages for com-api

- RoomApiMessages

### Utils

- areAllFieldValuesUniqueInObjectArray

### Common
#### Enums
- areAllFieldValuesUniqueInObjectArray

__________________________________________________

### Details about some constants:

```typescript
const DEFAULT_AVATARS = [
  'https://blipiq-content-images.s3.amazonaws.com/image/747a8410-a7ee-4352-b469-f46a26d46825.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/41461722-f64d-4161-a93f-56b2dbecc140.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/c67dcc83-c739-4d60-8349-0a028a0492af.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/07b3ff44-6045-4705-800a-a450cd4fb8de.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/8d3e602d-18f3-40a7-b4bd-733d05aafcbf.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/9fea8e68-1b6f-4347-ad15-6de32170e62f.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/42ce948c-9d91-43c7-8bfe-c9ac25b36887.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/b89b6555-6f6d-4d01-8271-02dd52c58088.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/7e01397a-7964-4a7d-a4a3-f24cf1702ab1.png',
  'https://blipiq-content-images.s3.amazonaws.com/image/1f33916e-2056-4fb4-9762-d5b152d879ec.png',
];
```

```typescript
const FIELDS_WEIGHT = {
  first_name: 6,
  middle_name: 5,
  last_name: 6,
  username: 6,
  phone_verified: 2,
  phone: 2,
  email: 5,
  email_verified: 5,
  profile_image: 1,
  languages: 1,
  dob: 1,
  gender: 1,
  address: 1,
  timezone: 1,
};

```

```typescript
export const DEFAULT_LANGUAGE_TITLE = 'English';

```

```typescript

export enum RoomApiMessages {
  session_has_started = 'session_has_started',
  session_was_ended = 'session_was_ended',

  session_was_created_in_group = 'session_was_created_in_group',
  live_session_was_created_in_group = 'live_session_was_created_in_group',
  you_were_invited_to_session = 'you_were_invited_to_session',
  user_joined_session = 'user_joined_session',
  user_was_added_to_session_participants = 'user_was_added_to_session_participants',

  user_left_session = 'user_left_session',
  user_was_blocked_from_the_session = 'user_was_blocked_from_the_session',
  you_were_blocked_from_the_session = 'you_were_blocked_from_the_session',
  user_cancelled_invitation = 'user_cancelled_invitation',
  user_accepted_session_invitation = 'user_accepted_session_invitation',

  user_joined_group = 'user_joined_group',
  user_left_group = 'user_left_group',
  you_were_invited_to_group = 'you_were_invited_to_group',
  you_were_invited_to_family_group = 'you_were_invited_to_family_group',
  user_accepted_group_invitation = 'user_accepted_group_invitation',
  request_to_join_group_was_accepted = 'request_to_join_group_was_accepted',
  subscription_updated = 'subscription_updated',
  content_edit_requested = 'content_edit_requested',

  user_has_upcoming_session = 'user_has_upcoming_session',

  your_video_has_changed_status = 'your_video_has_changed_status',
}


```

```typescript

const AGE_GROUPS = {
  [AgeGroupType.baby]: '3 to 5 years old',
  [AgeGroupType.toddler]: '5 to 8 years old',
  [AgeGroupType.infant]: '8 to 11 years old',
  [AgeGroupType.teenager]: '11 years and older',
};
```

```typescript

const DEFAULT_POLICY_DETAILS = {
  microlesson: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
  tutorial: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
  course: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
  stories: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
  learnpath: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
  scene: {
    rate_on_create: 1.0,
    rate_on_view_free: 0.1,
    rate_on_view_paid: 0.6,
  },
};
```

This enum is used to fill the Topics collection with the default values on the app start-up

```typescript
enum DefaultTopics {
  mathematics = 'Mathematics',
  logic = 'Logic',
  statistics = 'Statistics',
  physics = 'Physics',
  chemistry = 'Chemistry',
  astronomy = 'Astronomy',
  botany = 'Botany',
  zoology = 'Zoology',
  ecology = 'Ecology',
  diy = 'Do it yourself',
  it = 'Information Technology',
}


```
This enum is used to fill the Languages collection with the default values on the app start-up

```typescript
enum DefaultLanguages {
  EN = 'English',
  DE = 'Deutsch',
  AR = 'Arabic',
  BN = 'Bengali',
  FR = 'French',
  HI = 'Hindi',
  IT = 'Italian',
  RU = 'Russian',
  PT = 'Portuguese',
  ES = 'Spanish',
  SW = 'Swahili',
}

```
# npm-shared-constants

---
_Source: https://npm.io/package/@v-sandbox/shared-constants · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
