Update sanity DB restore (#2836)

Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Andrey Sobolev
2023-06-09 16:36:55 +06:00
committed by GitHub
parent 55fee1f8c4
commit c8c06cb0dc
77 changed files with 162 additions and 6107 deletions
+25 -9
View File
@@ -2,7 +2,7 @@
name: CI
concurrency:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
@@ -14,7 +14,7 @@ on:
tags:
- v*
pull_request:
branches: [main, develop]
branches: [main, develop]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -60,6 +60,9 @@ jobs:
- name: Building...
run: node common/scripts/install-run-rush.js build
- name: Bundle
run: node common/scripts/install-run-rush.js bundle --verbose
- name: Cache build results for next jobs
uses: actions/cache@v3
env:
@@ -245,15 +248,18 @@ jobs:
- name: Installing...
run: node common/scripts/install-run-rush.js install
- name: Setting model version from git release...
run: node common/scripts/install-run-rush.js bump-model-version
- name: Building...
run: node common/scripts/install-run-rush.js build
- name: Bundle
run: node common/scripts/install-run-rush.js bundle --verbose
run: node common/scripts/install-run-rush.js bundle
- name: Docker build
run: node common/scripts/install-run-rush.js docker:build --verbose
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: hardcoreeng
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
run: node common/scripts/install-run-rush.js docker:build
- name: Prepare server
run: |
cd ./tests
@@ -266,12 +272,22 @@ jobs:
run: |
cd ./tests/sanity
node ../../common/scripts/install-run-rushx.js uitest
# - name: Archive DB
# run: |
# cd ./tests
# ./update-snapshot-ci.sh ./tests/db_dump
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: playwright-results
path: ./tests/sanity/playwright-report/
- name: Upload DB snapshot
if: always()
uses: actions/upload-artifact@v3
with:
name: db-snapshot
path: ./tests/db_dump
docker-build:
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') }}
needs: [build, uitest, test, svelte-check]
+1
View File
@@ -82,3 +82,4 @@ pods/front/dist
*.pyc
metrics.txt
dev/tool/report*.csv
tests/db_dump
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
version=$(git describe --all --long)
echo \"$version\"
+2 -2
View File
@@ -9,11 +9,11 @@
"build:watch": "tsc",
"lint:fix": "eslint --fix src",
"start": "ts-node src/__start.ts",
"bundle": "esbuild src/__start.ts --bundle --minify --platform=node > bundle.js",
"bundle": "esbuild src/__start.ts --bundle --minify --platform=node --define:process.env.MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) --define:process.env.GIT_REVISION=$(../../common/scripts/git_version.sh) > bundle.js",
"docker:build": "docker build -t hardcoreeng/tool .",
"docker:staging": "../../common/scripts/docker_tag.sh hardcoreeng/tool staging",
"docker:push": "../../common/scripts/docker_tag.sh hardcoreeng/tool",
"run-local": "cross-env SERVER_SECRET=secret MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_ENDPOINT=localhost MONGO_URL=mongodb://localhost:27017 TRANSACTOR_URL=ws:/localhost:3333 TELEGRAM_DATABASE=telegram-service ELASTIC_URL=http://localhost:9200 REKONI_URL=http://localhost:4004 node -r ts-node/register --max-old-space-size=18000 ./src/__start.ts",
"run-local": "cross-env SERVER_SECRET=secret MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_ENDPOINT=localhost MONGO_URL=mongodb://localhost:27017 TRANSACTOR_URL=ws:/localhost:3333 TELEGRAM_DATABASE=telegram-service ELASTIC_URL=http://localhost:9200 REKONI_URL=http://localhost:4004 MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) GIT_REVISION=$(git describe --all --long) node -r ts-node/register --max-old-space-size=18000 ./src/__start.ts",
"run": "cross-env node -r ts-node/register --max-old-space-size=8000 ./src/__start.ts",
"upgrade": "rushx run-local upgrade",
"lint": "eslint src",
+2
View File
@@ -70,4 +70,6 @@ function prepareTools (): {
return { ...prepareToolsRaw(builder(enabled, disabled).getTxes()), version, migrateOperations }
}
console.log(`tools git_version: ${process.env.GIT_REVISION ?? ''} model_version: ${process.env.MODEL_VERSION ?? ''}`)
devTool(prepareTools, '')
+1 -46
View File
@@ -45,7 +45,7 @@ import toolPlugin from '@hcengineering/server-tool'
import { program } from 'commander'
import { Db, MongoClient } from 'mongodb'
import { clearTelegramHistory } from './telegram'
import { diffWorkspace, dumpWorkspace, restoreWorkspace } from './workspace'
import { diffWorkspace } from './workspace'
import { Data, getWorkspaceId, Tx, Version } from '@hcengineering/core'
import { MinioService } from '@hcengineering/minio'
@@ -54,7 +54,6 @@ import { openAIConfigDefaults } from '@hcengineering/openai'
import { benchmark } from './benchmark'
import { cleanArchivedSpaces, cleanRemovedTransactions, cleanWorkspace } from './clean'
import { changeConfiguration } from './configuration'
import { rebuildElastic } from './elastic'
import { openAIConfig } from './openai'
/**
@@ -293,14 +292,6 @@ export function devTool (
})
})
program
.command('dump-workspace <workspace> <dirName>')
.description('dump workspace transactions and minio resources')
.action(async (workspace: string, dirName: string, cmd) => {
const { mongodbUri, minio } = prepareTools()
return await dumpWorkspace(mongodbUri, getWorkspaceId(workspace, productId), dirName, minio)
})
program
.command('backup <dirName> <workspace>')
.description('dump workspace transactions and minio resources')
@@ -360,23 +351,6 @@ export function devTool (
return await backupList(storage)
})
program
.command('restore-workspace <workspace> <dirName>')
.description('restore workspace transactions and minio resources from previous dump.')
.action(async (workspace: string, dirName: string, cmd) => {
const { mongodbUri, minio, txes, migrateOperations } = prepareTools()
return await restoreWorkspace(
mongodbUri,
getWorkspaceId(workspace, productId),
dirName,
minio,
getElasticUrl(),
transactorUrl,
txes,
migrateOperations
)
})
program
.command('confirm-email <email>')
.description('confirm user email')
@@ -434,25 +408,6 @@ export function devTool (
})
})
program
.command('rebuild-elastic [workspace]')
.description('rebuild elastic index')
.action(async (workspace: string, cmd) => {
const { mongodbUri, minio } = prepareTools()
return await withDatabase(mongodbUri, async (db) => {
if (workspace === undefined) {
const workspaces = await listWorkspaces(db, productId)
for (const w of workspaces) {
await rebuildElastic(mongodbUri, getWorkspaceId(w.workspace, productId), minio, getElasticUrl())
}
} else {
await rebuildElastic(mongodbUri, getWorkspaceId(workspace, productId), minio, getElasticUrl())
console.log('rebuild end')
}
})
})
program
.command('generate-token <name> <workspace> <productId>')
.description('generate token')
+1 -146
View File
@@ -16,155 +16,10 @@
import contact from '@hcengineering/contact'
import core, { DOMAIN_TX, Tx, WorkspaceId } from '@hcengineering/core'
import { MinioService, MinioWorkspaceItem } from '@hcengineering/minio'
import { MigrateOperation } from '@hcengineering/model'
import { getWorkspaceDB } from '@hcengineering/mongo'
import { upgradeModel } from '@hcengineering/server-tool'
import { existsSync } from 'fs'
import { mkdir, open, readFile, writeFile } from 'fs/promises'
import { Document, MongoClient } from 'mongodb'
import { join } from 'path'
import { rebuildElastic } from './elastic'
import { MongoClient } from 'mongodb'
import { generateModelDiff, printDiff } from './mdiff'
interface CollectionInfo {
name: string
file: string
}
interface WorkspaceInfo {
version: string
collections: CollectionInfo[]
minioData: MinioWorkspaceItem[]
}
/**
* @public
*/
export async function dumpWorkspace (
mongoUrl: string,
workspaceId: WorkspaceId,
fileName: string,
minio: MinioService
): Promise<void> {
const client = new MongoClient(mongoUrl)
try {
await client.connect()
const db = getWorkspaceDB(client, workspaceId)
console.log('dumping transactions...')
if (!existsSync(fileName)) {
await mkdir(fileName, { recursive: true })
}
const workspaceInfo: WorkspaceInfo = {
version: '0.0.0',
collections: [],
minioData: []
}
const collections = await db.collections()
for (const c of collections) {
const docs = await c.find().toArray()
workspaceInfo.collections.push({ name: c.collectionName, file: c.collectionName + '.json' })
await writeFile(fileName + c.collectionName + '.json', JSON.stringify(docs, undefined, 2))
}
console.log('Dump minio objects')
if (await minio.exists(workspaceId)) {
workspaceInfo.minioData.push(...(await minio.list(workspaceId)))
const minioDbLocation = fileName + '.minio'
if (!existsSync(minioDbLocation)) {
await mkdir(minioDbLocation)
}
for (const d of workspaceInfo.minioData) {
const stat = await minio.stat(workspaceId, d.name)
d.metaData = stat.metaData
const fileHandle = await open(join(minioDbLocation, d.name), 'w')
const chunks: Buffer[] = await minio.read(workspaceId, d.name)
for (const b of chunks) {
await fileHandle.write(b)
}
await fileHandle.close()
}
}
await writeFile(fileName + '.workspace.json', JSON.stringify(workspaceInfo, undefined, 2))
} finally {
await client.close()
}
}
export async function restoreWorkspace (
mongoUrl: string,
workspaceId: WorkspaceId,
fileName: string,
minio: MinioService,
elasticUrl: string,
transactorUrl: string,
rawTxes: Tx[],
migrateOperations: [string, MigrateOperation][]
): Promise<void> {
console.log('Restoring workspace', mongoUrl, workspaceId, fileName)
const client = new MongoClient(mongoUrl)
try {
await client.connect()
const db = getWorkspaceDB(client, workspaceId)
const workspaceInfo = JSON.parse((await readFile(fileName + '.workspace.json')).toString()) as WorkspaceInfo
// Drop existing collections
const cols = await db.collections()
for (const c of cols) {
console.log('dropping existing table', c.collectionName)
await db.dropCollection(c.collectionName)
}
// Restore collections.
for (const c of workspaceInfo.collections) {
const collection = db.collection(c.name)
await collection.deleteMany({})
const data = JSON.parse((await readFile(fileName + c.name + '.json')).toString()) as Document[]
if (data.length > 0) {
console.log('restore existing collection', c.name, data.length)
await collection.insertMany(data)
}
}
if (await minio.exists(workspaceId)) {
const objectNames = (await minio.list(workspaceId)).map((i) => i.name)
await minio.remove(workspaceId, objectNames)
await minio.delete(workspaceId)
}
await minio.make(workspaceId)
const minioDbLocation = fileName + '.minio'
console.log('Restore minio objects', workspaceInfo.minioData.length)
let promises: Promise<void>[] = []
for (const d of workspaceInfo.minioData) {
const file = await open(join(minioDbLocation, d.name), 'r')
const stream = file.createReadStream()
promises.push(
minio.put(workspaceId, d.name, stream, d.size, d.metaData).then(async () => {
await file.close()
})
)
if (promises.length > 10) {
await Promise.all(promises)
promises = []
}
}
await upgradeModel(transactorUrl, workspaceId, rawTxes, migrateOperations)
await rebuildElastic(mongoUrl, workspaceId, minio, elasticUrl)
} finally {
await client.close()
}
}
export async function diffWorkspace (mongoUrl: string, workspace: WorkspaceId, rawTxes: Tx[]): Promise<void> {
const client = new MongoClient(mongoUrl)
try {
+2 -2
View File
@@ -5,10 +5,10 @@
"author": "Anticrm Platform Contributors",
"license": "EPL-2.0",
"scripts": {
"start": "cross-env MONGO_URL=mongodb://localhost:27017 ELASTIC_URL=http://localhost:9200 MINIO_ENDPOINT=localhost MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin METRICS_CONSOLE=false SERVER_SECRET=secret REKONI_URL=http://localhost:4004 FRONT_URL=http://localhost:8080 MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) node --nolazy -r ts-node/register src/__start.ts",
"start": "cross-env MONGO_URL=mongodb://localhost:27017 ELASTIC_URL=http://localhost:9200 MINIO_ENDPOINT=localhost MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin METRICS_CONSOLE=false SERVER_SECRET=secret REKONI_URL=http://localhost:4004 FRONT_URL=http://localhost:8080 MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) GIT_REVISION=$(git describe --all --long) node --nolazy -r ts-node/register src/__start.ts",
"build": "heft build",
"lint:fix": "eslint --fix src",
"bundle": "esbuild src/__start.ts --bundle --sourcemap=inline --minify --platform=node --external:bufferutil --define:process.env.MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) > bundle.js",
"bundle": "esbuild src/__start.ts --bundle --sourcemap=inline --minify --platform=node --external:bufferutil --define:process.env.MODEL_VERSION=$(node ../../models/all/lib/__showversion.js) --define:process.env.GIT_REVISION=$(../../common/scripts/git_version.sh) > bundle.js",
"bundle:u": "esbuild src/__start.ts --bundle --sourcemap=inline --minify --platform=node > bundle.js && mkdir -p ./dist && cp -r ./node_modules/uWebSockets.js/*.node ./dist",
"docker:build": "docker build -t hardcoreeng/transactor .",
"docker:staging": "../../common/scripts/docker_tag.sh hardcoreeng/transactor staging",
+5 -1
View File
@@ -85,7 +85,11 @@ setMetadata(serverCore.metadata.FrontUrl, frontUrl)
setMetadata(serverToken.metadata.Secret, serverSecret)
// eslint-disable-next-line @typescript-eslint/no-floating-promises
console.log(`starting server on ${serverPort}`)
console.log(
`starting server on ${serverPort} git_version: ${process.env.GIT_REVISION ?? ''} model_version: ${
process.env.MODEL_VERSION ?? ''
}`
)
const shutdown = start(url, {
fullTextUrl: elasticUrl,
minioConf,
+1 -1
View File
@@ -1503,6 +1503,6 @@
"packageName": "@hcengineering/server-view-resources",
"projectFolder": "server-plugins/view-resources",
"shouldPublish": false
},
}
]
}
+78 -63
View File
@@ -68,59 +68,67 @@ class ElasticDataAdapter implements DbAdapter {
let finished = false
return {
next: async () => {
if (!listRecieved) {
const q = {
index: toWorkspaceString(this.workspaceId),
type: '_doc',
scroll: '23h',
// search_type: 'scan', //if I use search_type then it requires size otherwise it shows 0 result
size: 2500,
body: {
query: {
match_all: {}
try {
if (!listRecieved) {
const q = {
index: toWorkspaceString(this.workspaceId),
type: '_doc',
scroll: '23h',
// search_type: 'scan', //if I use search_type then it requires size otherwise it shows 0 result
size: 2500,
body: {
query: {
match_all: {}
}
}
}
resp = await this.client.search(q)
if (resp.statusCode !== 200) {
console.error('failed elastic query', q, resp)
throw new PlatformError(unknownStatus(`failed to elastic query ${JSON.stringify(resp)}`))
}
buffer = resp.body.hits.hits.map((hit: any) => ({ _id: hit._id, data: hit._source }))
if (buffer.length === 0) {
finished = true
}
listRecieved = true
}
resp = await this.client.search(q)
if (resp.statusCode !== 200) {
console.error('failed elastic query', q, resp)
throw new PlatformError(unknownStatus(`failed to elastic query ${JSON.stringify(resp)}`))
if (pos === buffer.length && !finished) {
const params = {
scrollId: resp.body._scroll_id as string,
scroll: '23h'
}
resp = await this.client.scroll(params, { maxRetries: 5 })
if (resp.statusCode !== 200) {
console.error('failed elastic query scroll', params, resp)
throw new PlatformError(unknownStatus(`failed to elastic query ${JSON.stringify(resp)}`))
}
buffer = resp.body.hits.hits.map((hit: any) => ({ _id: hit._id, data: hit._source }))
if (buffer.length === 0) {
finished = true
}
pos = 0
}
buffer = resp.body.hits.hits.map((hit: any) => ({ _id: hit._id, data: hit._source }))
if (buffer.length === 0) {
finished = true
if (pos < buffer.length) {
const item = buffer[pos]
const hash = createHash('sha256')
const json = JSON.stringify(item.data)
hash.update(json)
const digest = hash.digest('base64')
const result = {
id: item._id,
hash: digest,
size: json.length
}
pos++
return result
}
listRecieved = true
}
if (pos === buffer.length && !finished) {
const params = {
scrollId: resp.body._scroll_id as string,
scroll: '23h'
} catch (e: any) {
if (e?.meta?.body?.error?.type === 'index_not_found_exception') {
return undefined
}
resp = await this.client.scroll(params, { maxRetries: 5 })
if (resp.statusCode !== 200) {
console.error('failed elastic query scroll', params, resp)
throw new PlatformError(unknownStatus(`failed to elastic query ${JSON.stringify(resp)}`))
}
buffer = resp.body.hits.hits.map((hit: any) => ({ _id: hit._id, data: hit._source }))
if (buffer.length === 0) {
finished = true
}
pos = 0
}
if (pos < buffer.length) {
const item = buffer[pos]
const hash = createHash('sha256')
const json = JSON.stringify(item.data)
hash.update(json)
const digest = hash.digest('base64')
const result = {
id: item._id,
hash: digest,
size: json.length
}
pos++
return result
console.error(e)
throw new PlatformError(e)
}
},
close: async () => {}
@@ -162,22 +170,29 @@ class ElasticDataAdapter implements DbAdapter {
async upload (domain: Domain, docs: Doc[]): Promise<void> {
while (docs.length > 0) {
const part = docs.splice(0, 10000)
await this.client.deleteByQuery(
{
type: '_doc',
index: toWorkspaceString(this.workspaceId),
body: {
query: {
terms: {
_id: Array.from(part.map((it) => it._id)),
boost: 1.0
}
},
size: part.length
}
},
undefined
)
try {
await this.client.deleteByQuery(
{
type: '_doc',
index: toWorkspaceString(this.workspaceId),
body: {
query: {
terms: {
_id: Array.from(part.map((it) => it._id)),
boost: 1.0
}
},
size: part.length
}
},
undefined
)
} catch (e: any) {
if (e?.meta?.body?.error?.type !== 'index_not_found_exception') {
console.error(e)
throw new PlatformError(e)
}
}
const operations = part.flatMap((doc) => [
{ index: { _index: toWorkspaceString(this.workspaceId), _id: doc._id } },
+3 -1
View File
@@ -8,7 +8,9 @@ export ELASTIC_URL=http://localhost:9200
export SERVER_SECRET=secret
# Restore workspace contents in mongo/elastic
node ../dev/tool/bundle.js restore-workspace sanity-ws sanity-ws/
node ../dev/tool/bundle.js backup-restore ./sanity-ws sanity-ws
node ../dev/tool/bundle.js upgrade-workspace sanity-ws
# Re-assign user to workspace.
node ../dev/tool/bundle.js assign-workspace user1 sanity-ws
+3 -1
View File
@@ -1,7 +1,9 @@
#!/bin/bash
# Restore workspace contents in mongo/elastic
./tool.sh restore-workspace sanity-ws sanity-ws/
./tool.sh backup-restore ./sanity-ws sanity-ws
./tool.sh upgrade-workspace sanity-ws
# Re-assign user to workspace.
./tool.sh assign-workspace user1 sanity-ws
Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

-146
View File
@@ -1,146 +0,0 @@
{
"version": "0.6.6",
"collections": [
{
"name": "inventory",
"file": "inventory.json"
},
{
"name": "templates",
"file": "templates.json"
},
{
"name": "channel",
"file": "channel.json"
},
{
"name": "notification",
"file": "notification.json"
},
{
"name": "gmail",
"file": "gmail.json"
},
{
"name": "state",
"file": "state.json"
},
{
"name": "tags",
"file": "tags.json"
},
{
"name": "contact",
"file": "contact.json"
},
{
"name": "setting",
"file": "setting.json"
},
{
"name": "telegram",
"file": "telegram.json"
},
{
"name": "recruit",
"file": "recruit.json"
},
{
"name": "comment",
"file": "comment.json"
},
{
"name": "calendar",
"file": "calendar.json"
},
{
"name": "chunter",
"file": "chunter.json"
},
{
"name": "space",
"file": "space.json"
},
{
"name": "attachment",
"file": "attachment.json"
},
{
"name": "kanban",
"file": "kanban.json"
},
{
"name": "task",
"file": "task.json"
},
{
"name": "tx",
"file": "tx.json"
}
],
"minioData": [
{
"name": "0b9ad789-47a8-4d5a-ab5f-c8f1c01fd283",
"lastModified": "2022-03-29T10:47:10.580Z",
"etag": "569f23247d1c037713b66d9ba9ae4e9c",
"size": 19315,
"metaData": {
"content-type": "application/pdf"
}
},
{
"name": "2c6e90a4-c191-46c4-aa9f-921b67b4abc9",
"lastModified": "2022-03-29T10:47:10.580Z",
"etag": "569f23247d1c037713b66d9ba9ae4e9c",
"size": 19315,
"metaData": {
"content-type": "application/pdf"
}
},
{
"name": "85b2dd5f-23cd-4c20-84df-98b58ffbc120",
"lastModified": "2022-03-29T10:47:10.610Z",
"etag": "1f110617c0cb670ab0dbf56cd64600d2",
"size": 102673,
"metaData": {
"content-type": "image/png"
}
},
{
"name": "97a572d1-70b3-4898-8998-412e0117b15c",
"lastModified": "2022-03-29T10:47:10.590Z",
"etag": "569f23247d1c037713b66d9ba9ae4e9c",
"size": 19315,
"metaData": {
"content-type": "application/pdf"
}
},
{
"name": "b1acc1f0-349c-461a-a022-2b04ff39fe32",
"lastModified": "2022-03-29T10:47:10.610Z",
"etag": "569f23247d1c037713b66d9ba9ae4e9c",
"size": 19315,
"metaData": {
"content-type": "application/pdf"
}
},
{
"name": "c9e3ed06-a0cc-4920-8eed-2ef227f73b9d",
"lastModified": "2022-03-29T10:47:10.610Z",
"etag": "569f23247d1c037713b66d9ba9ae4e9c",
"size": 19315,
"metaData": {
"content-type": "application/pdf"
}
},
{
"name": "e9c764ea-6d56-4773-83ff-fe485caadb11",
"lastModified": "2022-03-29T10:47:10.640Z",
"etag": "1f110617c0cb670ab0dbf56cd64600d2",
"size": 102673,
"metaData": {
"content-type": "image/png"
}
}
]
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-47
View File
@@ -1,47 +0,0 @@
[
{
"_id": "61f108bd3a1b1a24cfdef3ff",
"_class": "attachment:class:Attachment",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186365934,
"name": "Markdown.pdf",
"file": "c9e3ed06-a0cc-4920-8eed-2ef227f73b9d",
"type": "application/pdf",
"size": 19315,
"lastModified": 1570042625000,
"attachedTo": "61f1031cff96c329e8f3d68f",
"attachedToClass": "contact:class:Person",
"collection": "attachments"
},
{
"_id": "61f109353a1b1a24cfdef402",
"_class": "attachment:class:Attachment",
"space": "contact:space:Contacts",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186485133,
"name": "Markdown.png",
"file": "85b2dd5f-23cd-4c20-84df-98b58ffbc120",
"type": "image/png",
"size": 102673,
"lastModified": 1570041924000,
"attachedTo": "61f104ba25355d019917dbf8",
"attachedToClass": "contact:class:Person",
"collection": "attachments"
},
{
"_id": "61f1096f3a1b1a24cfdef417",
"_class": "attachment:class:Photo",
"space": "inventory:space:Products",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186543952,
"name": "Markdown.png",
"file": "e9c764ea-6d56-4773-83ff-fe485caadb11",
"type": "image/png",
"size": 102673,
"lastModified": 1570041924000,
"attachedTo": "61f109603a1b1a24cfdef414",
"attachedToClass": "inventory:class:Product",
"collection": "photos"
}
]
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
[]
-38
View File
@@ -1,38 +0,0 @@
[
{
"_id": "6242e3ae1308858e112f9e52",
"_class": "contact:class:Channel",
"attachedToClass": "contact:class:Person",
"attachedTo": "61f1031cff96c329e8f3d68c",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031bff96c329e8f3d61d",
"modifiedOn": 1643184924073,
"collection": "channels",
"value": "andrey@hc.engineering",
"provider": "contact:channelProvider:Email"
},
{
"_id": "6242e3ae1308858e112f9e54",
"_class": "contact:class:Channel",
"attachedToClass": "contact:class:Person",
"attachedTo": "61f1031cff96c329e8f3d68f",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031bff96c329e8f3d61d",
"modifiedOn": 1643184924157,
"collection": "channels",
"value": "marina@hc.engineering",
"provider": "contact:channelProvider:Email"
},
{
"_id": "6242e3ae1308858e112f9e56",
"_class": "contact:class:Channel",
"attachedToClass": "contact:class:Person",
"attachedTo": "61f1031cff96c329e8f3d692",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031bff96c329e8f3d61d",
"modifiedOn": 1643184924178,
"collection": "channels",
"value": "alex@hc.engineering",
"provider": "contact:channelProvider:Email"
}
]
-18
View File
@@ -1,18 +0,0 @@
[
{
"_id": "61f1049225355d019917dbda",
"_class": "chunter:class:Message",
"space": "chunter:space:General",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185298546,
"content": "<p>Hi Sanity</p>"
},
{
"_id": "61f1049a25355d019917dbdc",
"_class": "chunter:class:Message",
"space": "chunter:space:Random",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185306155,
"content": "<p>Hi <span data-type=\"reference\" class=\"reference\" data-id=\"61f1031c1badffab2bb3385f\" data-label=\"John Appleseed\" data-objectclass=\"contact:class:Employee\">@John Appleseed</span> </p>"
}
]
-52
View File
@@ -1,52 +0,0 @@
[
{
"_id": "61f1049a25355d019917dbde",
"_class": "chunter:class:Backlink",
"space": "chunter:space:Backlinks",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185306184,
"backlinkId": "chunter:space:Random",
"backlinkClass": "chunter:class:Channel",
"message": "<p>Hi <span data-type=\"reference\" class=\"reference\" data-id=\"61f1031c1badffab2bb3385f\" data-label=\"John Appleseed\" data-objectclass=\"contact:class:Employee\">@John Appleseed</span> </p>",
"attachedDocId": "61f1049a25355d019917dbdc",
"attachedTo": "61f1031c1badffab2bb3385f",
"attachedToClass": "contact:class:Employee",
"collection": "backlinks"
},
{
"_id": "61f1097a3a1b1a24cfdef41a",
"_class": "chunter:class:Comment",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186554243,
"message": "<p>Some some stuff</p>",
"attachedTo": "61f104eb25355d019917dc0a",
"attachedToClass": "recruit:class:Applicant",
"collection": "comments"
},
{
"_id": "61f1097f3a1b1a24cfdef41d",
"_class": "chunter:class:Comment",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186559510,
"message": "<p>Please talk to <span data-type=\"reference\" class=\"reference\" data-id=\"61f1031c1badffab2bb3385f\" data-label=\"John Appleseed\" data-objectclass=\"contact:class:Employee\">@John Appleseed</span> </p>",
"attachedTo": "61f104eb25355d019917dc0a",
"attachedToClass": "recruit:class:Applicant",
"collection": "comments"
},
{
"_id": "61f1097f3a1b1a24cfdef420",
"_class": "chunter:class:Backlink",
"space": "chunter:space:Backlinks",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186559571,
"backlinkId": "61f104eb25355d019917dc0a",
"backlinkClass": "recruit:class:Applicant",
"message": "<p>Please talk to <span data-type=\"reference\" class=\"reference\" data-id=\"61f1031c1badffab2bb3385f\" data-label=\"John Appleseed\" data-objectclass=\"contact:class:Employee\">@John Appleseed</span> </p>",
"attachedDocId": "61f1097f3a1b1a24cfdef41d",
"attachedTo": "61f1031c1badffab2bb3385f",
"attachedToClass": "contact:class:Employee",
"collection": "backlinks"
}
]
-115
View File
@@ -1,115 +0,0 @@
[
{
"_id": "61f1031bff96c329e8f3d61c",
"_class": "contact:class:Employee",
"space": "contact:space:Employee",
"modifiedBy": "61f1031bff96c329e8f3d61d",
"modifiedOn": 1643184924040,
"name": "Chen,Rosamund",
"city": "Mountain View",
"channels": 0,
"active": true
},
{
"_id": "61f1031cff96c329e8f3d68c",
"_class": "contact:class:Person",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031bff96c329e8f3d61d",
"modifiedOn": 1643184924079,
"name": "P.,Andrey",
"city": "Monte Carlo",
"channels": 1,
"recruit:mixin:Candidate": {
"title": "Chief Architect"
}
},
{
"_id": "61f1031cff96c329e8f3d68f",
"_class": "contact:class:Person",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186365949,
"name": "M.,Marina",
"city": "Los Angeles",
"channels": 1,
"recruit:mixin:Candidate": {
"title": "Chief Designer",
"applications": 1
},
"attachments": 1
},
{
"_id": "61f1031cff96c329e8f3d692",
"_class": "contact:class:Person",
"space": "recruit:space:CandidatesPublic",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186502419,
"name": "P.,Alex",
"city": "Krasnodar, Russia",
"channels": 1,
"recruit:mixin:Candidate": {
"title": "Frontend Engineer",
"applications": 1
},
"lead:mixin:Customer": {
"__mixin": "true",
"leads": 1
}
},
{
"_id": "61f1031c1badffab2bb3385f",
"_class": "contact:class:Employee",
"space": "contact:space:Employee",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186559576,
"name": "Appleseed,John",
"city": "",
"channels": 0,
"backlinks": 2
},
{
"_id": "61f1047625355d019917dbd4",
"_class": "contact:class:Person",
"space": "contact:space:Contacts",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185270660,
"name": "Delete1,Person",
"city": null,
"channels": 0
},
{
"_id": "61f1047e25355d019917dbd6",
"_class": "contact:class:Organization",
"space": "contact:space:Contacts",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185278589,
"name": "Apple",
"channels": 0
},
{
"_id": "61f1048a25355d019917dbd8",
"_class": "contact:class:Organization",
"space": "contact:space:Contacts",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185290358,
"name": "DeleteOrg",
"channels": 0
},
{
"_id": "61f104ba25355d019917dbf8",
"_class": "contact:class:Person",
"space": "contact:space:Contacts",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186485137,
"name": "Multiseed,John",
"city": null,
"channels": 0,
"recruit:mixin:Candidate": {
"onsite": null,
"remote": null,
"title": null,
"applications": 1
},
"attachments": 1
}
]
-1
View File
@@ -1 +0,0 @@
[]
-37
View File
@@ -1,37 +0,0 @@
[
{
"_id": "61f1094e3a1b1a24cfdef40b",
"_class": "inventory:class:Category",
"space": "inventory:space:Category",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186528693,
"name": "Mandatory",
"attachedTo": "inventory:global:Category",
"attachedToClass": "inventory:class:Category",
"collection": "categories",
"products": 2
},
{
"_id": "61f1095e3a1b1a24cfdef410",
"_class": "inventory:class:Product",
"space": "inventory:space:Products",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186526130,
"name": "Chair",
"attachedTo": "61f1094e3a1b1a24cfdef40b",
"attachedToClass": "inventory:class:Category",
"collection": "products"
},
{
"_id": "61f109603a1b1a24cfdef414",
"_class": "inventory:class:Product",
"space": "inventory:space:Products",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186543957,
"name": "Table",
"attachedTo": "61f1094e3a1b1a24cfdef40b",
"attachedToClass": "inventory:class:Category",
"collection": "products",
"photos": 1
}
]
-527
View File
@@ -1,527 +0,0 @@
[
{
"_id": "61f1031bff96c329e8f3d621",
"_class": "task:class:Sequence",
"space": "task:space:Sequence",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185322297,
"attachedTo": "task:class:Issue",
"sequence": 2
},
{
"_id": "task:template:DefaultProject",
"_class": "task:class:KanbanTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923832,
"doneStatesC": 2,
"statesC": 5,
"title": "Default project"
},
{
"_id": "61f1031bff96c329e8f3d624",
"_class": "task:class:WonStateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923772,
"rank": "0|900000:",
"title": "Won",
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031bff96c329e8f3d627",
"_class": "task:class:LostStateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923773,
"rank": "0|i00000:",
"title": "Lost",
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031bff96c329e8f3d62a",
"_class": "task:class:StateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923816,
"rank": "0|555555:",
"title": "Open",
"color": 9,
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d62d",
"_class": "task:class:StateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923816,
"rank": "0|aaaaaa:",
"title": "In Progress",
"color": 10,
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d630",
"_class": "task:class:StateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923816,
"rank": "0|ffffff:",
"title": "Under review",
"color": 1,
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d636",
"_class": "task:class:StateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923817,
"rank": "0|pppppp:",
"title": "Invalid",
"color": 11,
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d633",
"_class": "task:class:StateTemplate",
"space": "task:space:ProjectTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923816,
"rank": "0|kkkkkk:",
"title": "Done",
"color": 0,
"attachedTo": "task:template:DefaultProject",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d647",
"_class": "task:class:Kanban",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923936,
"attachedTo": "task:space:TasksPublic"
},
{
"_id": "61f1031bff96c329e8f3d649",
"_class": "task:class:Sequence",
"space": "task:space:Sequence",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186502404,
"attachedTo": "lead:class:Lead",
"sequence": 1
},
{
"_id": "lead:template:DefaultFunnel",
"_class": "task:class:KanbanTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923975,
"doneStatesC": 2,
"statesC": 6,
"title": "Default funnel"
},
{
"_id": "61f1031bff96c329e8f3d64c",
"_class": "task:class:WonStateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923948,
"rank": "0|900000:",
"title": "Won",
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031bff96c329e8f3d64f",
"_class": "task:class:LostStateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923949,
"rank": "0|i00000:",
"title": "Lost",
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031bff96c329e8f3d652",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|4i0000:",
"title": "Incoming",
"color": 9,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d655",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|900000:",
"title": "Negotation",
"color": 10,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d658",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|di0000:",
"title": "Offer preparing",
"color": 1,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d65b",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|i00000:",
"title": "Make a decision",
"color": 0,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d65e",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|mi0000:",
"title": "Contract conclusion",
"color": 11,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031bff96c329e8f3d661",
"_class": "task:class:StateTemplate",
"space": "lead:space:FunnelTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923959,
"rank": "0|r00000:",
"title": "Done",
"color": 9,
"attachedTo": "lead:template:DefaultFunnel",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031cff96c329e8f3d674",
"_class": "task:class:Kanban",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924008,
"attachedTo": "lead:space:DefaultFunnel"
},
{
"_id": "61f1031cff96c329e8f3d676",
"_class": "task:class:Sequence",
"space": "task:space:Sequence",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185387864,
"attachedTo": "recruit:class:Applicant",
"sequence": 3
},
{
"_id": "recruit:template:DefaultVacancy",
"_class": "task:class:KanbanTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924034,
"doneStatesC": 2,
"statesC": 4,
"title": "Default vacancy"
},
{
"_id": "61f1031cff96c329e8f3d679",
"_class": "task:class:WonStateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924017,
"rank": "0|900000:",
"title": "Won",
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031cff96c329e8f3d67c",
"_class": "task:class:LostStateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924017,
"rank": "0|i00000:",
"title": "Lost",
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "61f1031cff96c329e8f3d67f",
"_class": "task:class:StateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924026,
"rank": "0|600000:",
"title": "HR Interview",
"color": 9,
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031cff96c329e8f3d682",
"_class": "task:class:StateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924026,
"rank": "0|c00000:",
"title": "Technical Interview",
"color": 10,
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031cff96c329e8f3d685",
"_class": "task:class:StateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924026,
"rank": "0|i00000:",
"title": "Test task",
"color": 1,
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f1031cff96c329e8f3d688",
"_class": "task:class:StateTemplate",
"space": "recruit:space:VacancyTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184924026,
"rank": "0|o00000:",
"title": "Offer",
"color": 0,
"attachedTo": "recruit:template:DefaultVacancy",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "61f104b625355d019917dbf7",
"_class": "task:class:Kanban",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334637,
"attachedTo": "61f104b625355d019917dbe9"
},
{
"_id": "recruit:template:Interview",
"_class": "task:class:KanbanTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835883,
"doneStatesC": 2,
"statesC": 3,
"title": "Interview"
},
{
"_id": "6242e3b31308858e112f9e75",
"_class": "task:class:WonStateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835826,
"rank": "0|900000:",
"title": "Pass",
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "6242e3b31308858e112f9e78",
"_class": "task:class:LostStateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835826,
"rank": "0|i00000:",
"title": "Failed",
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "6242e3b31308858e112f9e7b",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835882,
"rank": "0|777777:",
"title": "Prepare",
"color": 9,
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b31308858e112f9e7e",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835882,
"rank": "0|eeeeee:",
"title": "Appointment",
"color": 10,
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b31308858e112f9e81",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835883,
"rank": "0|llllll:",
"title": "Opinions",
"color": 1,
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "recruit:template:Task",
"_class": "task:class:KanbanTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836060,
"doneStatesC": 2,
"statesC": 4,
"title": "Test task"
},
{
"_id": "6242e3b41308858e112f9e85",
"_class": "task:class:WonStateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836002,
"rank": "0|900000:",
"title": "Pass",
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "6242e3b41308858e112f9e88",
"_class": "task:class:LostStateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836002,
"rank": "0|i00000:",
"title": "Failed",
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "doneStatesC"
},
{
"_id": "6242e3b41308858e112f9e8b",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836059,
"rank": "0|600000:",
"title": "Prepare",
"color": 9,
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b41308858e112f9e8e",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836059,
"rank": "0|c00000:",
"title": "Assigned",
"color": 10,
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b41308858e112f9e91",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836059,
"rank": "0|i00000:",
"title": "Review",
"color": 1,
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b41308858e112f9e94",
"_class": "task:class:StateTemplate",
"space": "recruit:space:ReviewTemplates",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836059,
"rank": "0|o00000:",
"title": "Opinions",
"color": 4,
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "statesC"
},
{
"_id": "6242e3b41308858e112f9e97",
"_class": "task:class:Sequence",
"space": "task:space:Sequence",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836377,
"attachedTo": "recruit:class:Review",
"sequence": 0
},
{
"_id": "6242e3b41308858e112f9e99",
"_class": "task:class:Sequence",
"space": "task:space:Sequence",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836388,
"attachedTo": "recruit:class:Opinion",
"sequence": 0
}
]
-410
View File
@@ -1,410 +0,0 @@
[
{
"_id": "6242e3b29238293ff4fe079a",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1648550834739,
"user": "61f1031c1badffab2bb33861",
"lastView": 1643185334518,
"attachedTo": "61f104b625355d019917dbe9",
"attachedToClass": "recruit:class:Vacancy",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe079c",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835093,
"user": "core:account:System",
"lastView": 1648550835069,
"attachedTo": "chunter:space:General",
"attachedToClass": "chunter:class:Channel",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe079e",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835154,
"user": "core:account:System",
"lastView": 1648550835135,
"attachedTo": "chunter:space:Random",
"attachedToClass": "chunter:class:Channel",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07a0",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835203,
"user": "core:account:System",
"lastView": 1648550835185,
"attachedTo": "gmail:space:Gmail",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07a2",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835252,
"user": "core:account:System",
"lastView": 1648550835233,
"attachedTo": "templates:space:Templates",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07a4",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835300,
"user": "core:account:System",
"lastView": 1648550835281,
"attachedTo": "telegram:space:Telegram",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07a6",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835352,
"user": "core:account:System",
"lastView": 1648550835334,
"attachedTo": "task:space:Sequence",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07a8",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835408,
"user": "core:account:System",
"lastView": 1648550835389,
"attachedTo": "task:space:TasksPublic",
"attachedToClass": "task:class:Project",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07aa",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835467,
"user": "core:account:System",
"lastView": 1648550835447,
"attachedTo": "lead:space:DefaultFunnel",
"attachedToClass": "lead:class:Funnel",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07ac",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835517,
"user": "core:account:System",
"lastView": 1648550835499,
"attachedTo": "recruit:space:CandidatesPublic",
"attachedToClass": "recruit:class:Candidates",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07ae",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835576,
"user": "core:account:System",
"lastView": 1648550835554,
"attachedTo": "recruit:category:Other",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07b0",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835588,
"user": "core:account:System",
"lastView": 1648550835569,
"attachedTo": "recruit:category:Category.skills:backend",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07b2",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835598,
"user": "core:account:System",
"lastView": 1648550835579,
"attachedTo": "recruit:category:Category.skills:bussines-analytics",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07b4",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835613,
"user": "core:account:System",
"lastView": 1648550835592,
"attachedTo": "recruit:category:Category.skills:datastructures",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07b6",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835628,
"user": "core:account:System",
"lastView": 1648550835607,
"attachedTo": "recruit:category:Category.skills:design",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07b8",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835639,
"user": "core:account:System",
"lastView": 1648550835621,
"attachedTo": "recruit:category:Category.skills:devops",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07ba",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835651,
"user": "core:account:System",
"lastView": 1648550835631,
"attachedTo": "recruit:category:Category.skills:webdev",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07bc",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835662,
"user": "core:account:System",
"lastView": 1648550835644,
"attachedTo": "recruit:category:Category.skills:hard",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07be",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835671,
"user": "core:account:System",
"lastView": 1648550835653,
"attachedTo": "recruit:category:Category.skills:management",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07c0",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835684,
"user": "core:account:System",
"lastView": 1648550835664,
"attachedTo": "recruit:category:Category.skills:marketing",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07c2",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835695,
"user": "core:account:System",
"lastView": 1648550835676,
"attachedTo": "recruit:category:Category.skills:mobile",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07c4",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835705,
"user": "core:account:System",
"lastView": 1648550835687,
"attachedTo": "recruit:category:Category.skills:networking",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07c6",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835717,
"user": "core:account:System",
"lastView": 1648550835696,
"attachedTo": "recruit:category:Category.skills:programming-languages",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07c8",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835730,
"user": "core:account:System",
"lastView": 1648550835711,
"attachedTo": "recruit:category:Category.skills:quality",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07ca",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835744,
"user": "core:account:System",
"lastView": 1648550835726,
"attachedTo": "recruit:category:Category.skills:sales",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07cc",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835755,
"user": "core:account:System",
"lastView": 1648550835737,
"attachedTo": "recruit:category:Category.skills:soft",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07ce",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835772,
"user": "core:account:System",
"lastView": 1648550835754,
"attachedTo": "recruit:category:Category.skills:databases",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07d0",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835782,
"user": "core:account:System",
"lastView": 1648550835764,
"attachedTo": "recruit:category:Category.skills:desktop",
"attachedToClass": "tags:class:TagCategory",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07d2",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835937,
"user": "core:account:System",
"lastView": 1648550835883,
"attachedTo": "recruit:template:Interview",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "lastViews"
},
{
"_id": "6242e3b39238293ff4fe07de",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836150,
"user": "core:account:System",
"lastView": 1648550836059,
"attachedTo": "recruit:template:Task",
"attachedToClass": "task:class:KanbanTemplate",
"collection": "lastViews"
},
{
"_id": "6242e3b49238293ff4fe07ec",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836395,
"user": "core:account:System",
"lastView": 1648550836377,
"attachedTo": "6242e3b41308858e112f9e97",
"attachedToClass": "task:class:Sequence",
"collection": "lastViews"
},
{
"_id": "6242e3b49238293ff4fe07ee",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836406,
"user": "core:account:System",
"lastView": 1648550836388,
"attachedTo": "6242e3b41308858e112f9e99",
"attachedToClass": "task:class:Sequence",
"collection": "lastViews"
},
{
"_id": "6242e3b49238293ff4fe07f0",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836419,
"user": "core:account:System",
"lastView": 1648550836399,
"attachedTo": "contact:space:Employee",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
},
{
"_id": "6242e3b49238293ff4fe07f2",
"_class": "notification:class:LastView",
"space": "notification:space:Notifications",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836463,
"user": "core:account:System",
"lastView": 1648550836444,
"attachedTo": "tags:space:Tags",
"attachedToClass": "core:class:Space",
"collection": "lastViews"
}
]
-1
View File
@@ -1 +0,0 @@
[]
-1
View File
@@ -1 +0,0 @@
[]
-146
View File
@@ -1,146 +0,0 @@
[
{
"_id": "61f104b625355d019917dbe9",
"_class": "recruit:class:Vacancy",
"space": "core:space:Space",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334518,
"name": "Software Engineer",
"description": "",
"private": false,
"archived": false,
"members": []
},
{
"_id": "chunter:space:General",
"_class": "chunter:class:Channel",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835069,
"name": "general",
"description": "General Channel",
"private": false,
"archived": false,
"members": []
},
{
"_id": "chunter:space:Random",
"_class": "chunter:class:Channel",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835135,
"name": "random",
"description": "Random Talks",
"private": false,
"archived": false,
"members": []
},
{
"_id": "gmail:space:Gmail",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835185,
"name": "Gmail",
"description": "Space for all gmail messages",
"private": false,
"archived": false,
"members": []
},
{
"_id": "templates:space:Templates",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835233,
"name": "Templates",
"description": "Space for all templates",
"private": true,
"archived": false,
"members": []
},
{
"_id": "telegram:space:Telegram",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835281,
"name": "Telegram",
"description": "Space for all telegram messages",
"private": false,
"archived": false,
"members": []
},
{
"_id": "task:space:Sequence",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835334,
"name": "Sequences",
"description": "Internal space to store sequence numbers",
"members": [],
"private": false,
"archived": false
},
{
"_id": "task:space:TasksPublic",
"_class": "task:class:Project",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835389,
"name": "public",
"description": "Public tasks",
"private": false,
"archived": false,
"members": []
},
{
"_id": "lead:space:DefaultFunnel",
"_class": "lead:class:Funnel",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835447,
"name": "Funnel",
"description": "Default funnel",
"private": false,
"archived": false,
"members": []
},
{
"_id": "recruit:space:CandidatesPublic",
"_class": "recruit:class:Candidates",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835499,
"name": "public",
"description": "Public Candidates",
"private": false,
"members": [],
"archived": false
},
{
"_id": "contact:space:Employee",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836399,
"name": "Employees",
"description": "Employees",
"private": false,
"archived": false,
"members": []
},
{
"_id": "tags:space:Tags",
"_class": "core:class:Space",
"space": "core:space:Space",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550836444,
"name": "Tags",
"description": "Space for all tags",
"private": true,
"archived": false,
"members": []
}
]
-206
View File
@@ -1,206 +0,0 @@
[
{
"_id": "61f1031bff96c329e8f3d639",
"_class": "task:class:State",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923868,
"color": 9,
"title": "Open",
"rank": "0|555555:"
},
{
"_id": "61f1031bff96c329e8f3d641",
"_class": "task:class:State",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923869,
"color": 0,
"title": "Done",
"rank": "0|kkkkkk:"
},
{
"_id": "61f1031bff96c329e8f3d63b",
"_class": "task:class:State",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923868,
"color": 10,
"title": "In Progress",
"rank": "0|aaaaaa:"
},
{
"_id": "61f1031bff96c329e8f3d63d",
"_class": "task:class:State",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923869,
"color": 1,
"title": "Under review",
"rank": "0|ffffff:"
},
{
"_id": "61f1031bff96c329e8f3d63f",
"_class": "task:class:State",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923869,
"color": 11,
"title": "Invalid",
"rank": "0|pppppp:"
},
{
"_id": "61f1031bff96c329e8f3d643",
"_class": "task:class:WonState",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923928,
"title": "Won",
"rank": "0|900000:"
},
{
"_id": "61f1031bff96c329e8f3d645",
"_class": "task:class:LostState",
"space": "task:space:TasksPublic",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923928,
"title": "Lost",
"rank": "0|i00000:"
},
{
"_id": "61f1031bff96c329e8f3d664",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 9,
"title": "Incoming",
"rank": "0|4i0000:"
},
{
"_id": "61f1031bff96c329e8f3d666",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 10,
"title": "Negotation",
"rank": "0|900000:"
},
{
"_id": "61f1031bff96c329e8f3d668",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 1,
"title": "Offer preparing",
"rank": "0|di0000:"
},
{
"_id": "61f1031bff96c329e8f3d66a",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 0,
"title": "Make a decision",
"rank": "0|i00000:"
},
{
"_id": "61f1031bff96c329e8f3d66c",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 11,
"title": "Contract conclusion",
"rank": "0|mi0000:"
},
{
"_id": "61f1031bff96c329e8f3d66e",
"_class": "task:class:State",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923984,
"color": 9,
"title": "Done",
"rank": "0|r00000:"
},
{
"_id": "61f1031bff96c329e8f3d670",
"_class": "task:class:WonState",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923998,
"title": "Won",
"rank": "0|900000:"
},
{
"_id": "61f1031bff96c329e8f3d672",
"_class": "task:class:LostState",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "core:account:System",
"modifiedOn": 1643184923999,
"title": "Lost",
"rank": "0|i00000:"
},
{
"_id": "61f104b625355d019917dbeb",
"_class": "task:class:State",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334582,
"color": 9,
"title": "HR Interview",
"rank": "0|600000:"
},
{
"_id": "61f104b625355d019917dbed",
"_class": "task:class:State",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334582,
"color": 10,
"title": "Technical Interview",
"rank": "0|c00000:"
},
{
"_id": "61f104b625355d019917dbef",
"_class": "task:class:State",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334582,
"color": 1,
"title": "Test task",
"rank": "0|i00000:"
},
{
"_id": "61f104b625355d019917dbf1",
"_class": "task:class:State",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334582,
"color": 0,
"title": "Offer",
"rank": "0|o00000:"
},
{
"_id": "61f104b625355d019917dbf5",
"_class": "task:class:LostState",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334627,
"title": "Lost",
"rank": "0|i00000:"
},
{
"_id": "61f104b625355d019917dbf3",
"_class": "task:class:WonState",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185334627,
"title": "Won",
"rank": "0|900000:"
}
]
-737
View File
@@ -1,737 +0,0 @@
[
{
"_id": "recruit:category:Other",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835554,
"icon": "tags:icon:Tags",
"label": "Other",
"targetClass": "recruit:mixin:Candidate",
"tags": [],
"default": true
},
{
"_id": "recruit:category:Category.skills:backend",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835569,
"icon": "tags:icon:Tags",
"label": "Backend development",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Spring",
"Java",
"JavaSE",
"Hibernate",
"Server",
"Kubernetes",
"Websocket",
"Docker",
"RabbitMQ",
"Kafka",
"Zookeeper",
"Go",
"Apache",
"Httpd",
"Nginx",
"SSL",
"HTTPS",
"HTTP",
"GWT",
"AWS",
"AWS Lambda",
"Websphere",
"Java EE",
"Cloud Computing",
"MicroServices",
"API",
"XML",
"JSON",
"REST",
"NodeJS",
"Kibana",
"Cluster",
"Datacenter",
"K8s",
"Azure",
"Google Cloud",
"Node.js",
"Oracle",
"Maven",
"Log4j",
"J2SE",
"J2EE",
"Tomcat",
"Jetty",
"Wicket",
"Ant",
"Ivy",
"ASP.NET",
"Unix",
"Services",
"JSP",
"Amazon",
"Django",
"Servlets",
"JVM",
"CUDA",
"OpenCL",
"Vaadin",
"RESTful",
"ProtoBuf",
"Memcached",
"Glassfish",
"SOAP Services"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:bussines-analytics",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835579,
"icon": "tags:icon:Tags",
"label": "Bussines analytics",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Hive",
"HBase",
"Matlab",
"STATA",
"SPSS",
"SAS",
"Data Mapping",
"Entity Relationship Diagrams",
"Wireframes",
"Big Data tools ",
"Microsoft Visio",
"Agile Business Analysis",
"Machine learning",
"System Context Diagrams",
"Business Process Modeling",
"Technical and non-technical communication"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:datastructures",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835592,
"icon": "tags:icon:Tags",
"label": "Data Structures",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Algorithms",
"Hashmap",
"TreeMap",
"ООП",
"OOP",
"Multithreading",
"Multithreaded",
"Methodologies",
"Patterns",
"Optimization",
"Performance",
"Science",
"Modeling",
"Compilers",
"OpenMP",
"Mathematical",
"Framework",
"STL",
"Mining",
"Bitcoin",
"Криптовалюта",
"Cryptocurrency",
"Block chain",
"Recognition",
"CQRS",
"Eventsourcing",
"Design Patterns"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:design",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835607,
"icon": "tags:icon:Tags",
"label": "Design",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"3D",
"3dsMax",
"Active listening",
"Ad design",
"Attention to detail & aesthetics",
"AutoCAD",
"Blender",
"Color sense & theory",
"Creativity",
"CSS",
"Digital printing",
"Dreamweaver",
"HTML",
"HTML5",
"Illustrator",
"InDesign",
"Infographics",
"Integration of visual communication in social media platforms",
"Interactive media design",
"Logo creation",
"Maya",
"Photo editing ",
"Photoshop",
"Storyboarding",
"SVG",
"Targeting and marketing through visual communications",
"Typography: spacing, line height, layout, choosing fonts",
"Usability",
"Vector",
"Adobe Creative Suite",
"Bootstrap",
"Graphics",
"Image"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:devops",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835621,
"icon": "tags:icon:Tags",
"label": "DevOps",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Ansible",
"Automation QA",
"Automation",
"Bamboo",
"Bash",
"BitBucket",
"Chef",
"Continuous Deployment",
"Continuous Integration",
"CVS",
"Deployment",
"Docker Compose",
"GIT",
"GitLab",
"Jenkins",
"JMeter",
"Linux",
"Live Deployment",
"Microsoft SQL Server",
"Puppet",
"Salt",
"Subversion",
"SVN",
"Terraform",
"CI/CD",
"Mercurial",
"Администрирование",
"Scripting",
"Ubuntu",
"Tortoise",
"Debian",
"FreeBSD",
"Unix",
"GitHub",
"Vagrant",
"TeamCity"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:webdev",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835631,
"icon": "tags:icon:Tags",
"label": "Web Development",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Adobe",
"Angular",
"ASP.Net Web API",
"Babel",
"CMS",
"Content Management Systems",
"CSS",
"CSS3",
"sass",
"Debugging",
"Eslint",
"Graphic User Interfaces",
"GUI",
"HTML",
"InDesign",
"Javascript",
"JQuery",
"JS",
"Json",
"Photoshop",
"React",
"Responsive design principles",
"Rush",
"SCSS",
"Search Engine Optimization",
"SEO",
"Svelte",
"Testing",
"TS",
"Typescript",
"Vue",
"Wordpress",
"AJAX",
"AngularJS",
"vue.js",
"Webpack",
"es6",
"npm",
"DOM",
"Wicket",
"Redux"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:hard",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835644,
"icon": "tags:icon:Tags",
"label": "Hard Skills",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Agile Development",
"Analysis",
"Backend",
"Cloud Management",
"Data Structures",
"Database",
"Debugging",
"DevOps",
"Frontend",
"Machine Learning",
"Open Source Experience",
"Programming Languages",
"Project Management",
"QA",
"Security",
"Testng",
"UI",
"UX",
"Web design",
"Web Development",
"Design",
"Engineering",
"Programming",
"Programming languages",
"Разработка",
"Databases",
"Architecture",
"Networking",
"Software",
"Design",
"Web",
"Embedded",
"Development",
"Software Development"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:management",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835653,
"icon": "tags:icon:Tags",
"label": "Management",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Agile",
"Business Development",
"Charisma",
"Dealing with work-related stress",
"ERP",
"Feature Definition",
"Financial Modelling",
"Forecasting",
"Ideation Leadership",
"Innovation",
"Management",
"Managerial Skills",
"Managing Cross-Functional Teams",
"Meeting Facilitation",
"Motivation",
"Negotiation",
"Organizing Skills",
"People management",
"Performance Tracking",
"Planning",
"Problem-solving",
"Profit and Loss",
"Project Lifecycle Management",
"Proposal writing",
"Requirements Analysis",
"Scope Management",
"Scrum",
"Strategic Management",
"Task delegation",
"Technological savviness",
"Emotional Intelligence",
"Управление проектами",
"Проектирование",
"UML",
"JIRA",
"Requirements",
"Kanban",
"Работа в команде",
"Управление",
"Agile Project Management",
"Team management"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:marketing",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835664,
"icon": "tags:icon:Tags",
"label": "Marketing",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"A/B Testing",
"B2B Marketing",
"Brand management",
"CMS Tools",
"Consumer Behavior Drivers",
"Copywriting",
"Creativity",
"CRO",
"Data visualization & pattern-finding through critical thinking",
"Email marketing",
"Paid social media advertisements",
"Project/campaign management",
"Sales",
"Search Engine and Keyword Optimization",
"SEM",
"SEO",
"Social media and mobile marketing",
"Storytelling",
"The 4 P-s of Marketing",
"Web analytics",
"Web scraping",
"Wordpress",
"Data analysis",
"Sass",
"Маркетинговый анализ",
"Маркетинговые мероприятия",
"Анализ рынка",
"Анализ конкурентов",
"Вывод новых продуктов на рынок",
"Ведение переговоров с контрагентами",
"Ведение и расширение клиентской базы",
"Владение техникой продаж",
"Banking Software"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:mobile",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835676,
"icon": "tags:icon:Tags",
"label": "Mobile Development",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Android",
"Android Developer",
"ARM",
"iOS",
"Cocoa Touch",
"UIKit",
"MapKit",
"iPadOS",
"Mobile Applications",
"WatchOS",
"Windows mobile"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:networking",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835687,
"icon": "tags:icon:Tags",
"label": "Networking",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"GRE",
"L2",
"L3",
"SOAP",
"TCP",
"UDP",
"WebSocket",
"WireGuard",
"Wireshark",
"WXLan",
"SNTP",
"SNMP",
"Cisco",
"TCP/IP",
"Network",
"DNS",
"JAX-RPC",
"RPC"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:programming-languages",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835696,
"icon": "tags:icon:Tags",
"label": "Programming Languages",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Python",
"C",
"C/C++",
".NET",
"Java",
"C++",
"C#",
"Visual Basic",
"JavaScript",
"PHP",
"Assembly",
"SQL",
"Go",
"Swift",
"R",
"MATLAB",
"Delphi",
"Object Pascal",
"Ruby",
"Classic Visual Basic",
"Objective-C",
"Perl",
"Groovy",
"SAS",
"Scratch",
"Fortran",
"Rust",
"(Visual) FoxPro",
"COBOL",
"Dart",
"Kotlin",
"Lua",
"Julia",
"Prolog",
"Ada",
"PL/SQL",
"ABAP",
"Lisp",
"D",
"Scala",
"TypeScript",
"VBScript",
"LabVIEW",
"Scheme",
"Awk",
"Ladder Logic",
"Apex",
"PowerShell",
"Logo",
"Haskell",
"Bash",
"RPG",
"ML",
"Oracle PL/SQL",
"XSLT",
"Erlang",
"Golang"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:quality",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835711,
"icon": "tags:icon:Tags",
"label": "Quality Assurance",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Bug reporting",
"Bug tracking systems",
"Bug tracking",
"Functional testing",
"JUnit",
"Playwright",
"pytest",
"Regression testing",
"SelenIDE",
"Selenium",
"Test Automation",
"Test case",
"Test cases",
"TestRail",
"Регресcионное тестирование",
"Функциональное тестирование",
"Test",
"Quality",
"Selenium IDE"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:sales",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835726,
"icon": "tags:icon:Tags",
"label": "Sales",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Buyer engagement",
"Buyer-Responsive selling",
"Closing",
"Cold-calling",
"CRM",
"Digital Communication",
"Effective communication and sociability",
"Empathy",
"Lead generation",
"Negotiation",
"Persuasion",
"Product knowledge",
"Public speaking",
"Social media",
"Teamwork",
"Time management",
"Customer Relationship Management (CRM)"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:soft",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835737,
"icon": "tags:icon:Tags",
"label": "Soft Skills",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Adaptability",
"Attention to detail",
"Conflict management",
"Critical thinking",
"Effective communication",
"Emotional intelligence",
"Problem-solving",
"Productivity & organization",
"Stress management",
"Teamwork skills",
"Time management",
"Ответственность",
"Leadership",
"Ведение переговоров"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:databases",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835754,
"icon": "tags:icon:Tags",
"label": "Database development",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Hibernate",
"MongoDB",
"ElasticSearch",
"LogStash",
"PostgreSQL",
"Redis",
"MYSQL",
"Oracle",
"SQLite",
"MS SQL",
"JDBC",
"ODBC",
"NoSQL",
"FirebirdSQL",
"NHibernate",
"JPQL",
"HQL"
],
"default": false
},
{
"_id": "recruit:category:Category.skills:desktop",
"_class": "tags:class:TagCategory",
"space": "tags:space:Tags",
"modifiedBy": "core:account:System",
"modifiedOn": 1648550835764,
"icon": "tags:icon:Tags",
"label": "Desktop Application Development",
"targetClass": "recruit:mixin:Candidate",
"tags": [
"Windows",
"WPF",
"COM",
"Cocoa",
"Qt",
"MVC",
"Eclipse",
"OpenGL",
"Vulkane",
"DirectX",
"Direct3D",
"Game",
"Games",
"Win32",
"Xcode",
"DirectShow",
"Swing",
"SWT",
"Unity3D",
"Unity",
"WinForms",
"Visual Studio",
"WTL",
"MacOS",
"MFC"
],
"default": false
}
]
-98
View File
@@ -1,98 +0,0 @@
[
{
"_id": "61f1049e25355d019917dbe0",
"_class": "task:class:Issue",
"space": "task:space:TasksPublic",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185318327,
"name": "Do boring stuff",
"description": "",
"assignee": null,
"number": 1,
"doneState": null,
"state": "61f1031bff96c329e8f3d639",
"rank": "0|hzzzzz:",
"attachedTo": "task:global:Task",
"attachedToClass": "task:class:Issue",
"collection": "tasks"
},
{
"_id": "61f104a725355d019917dbe4",
"_class": "task:class:Issue",
"space": "task:space:TasksPublic",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185322305,
"name": "To delete",
"description": "",
"assignee": null,
"number": 2,
"doneState": null,
"state": "61f1031bff96c329e8f3d639",
"rank": "0|qzzzzz:",
"attachedTo": "task:global:Task",
"attachedToClass": "task:class:Issue",
"collection": "tasks"
},
{
"_id": "61f104cf25355d019917dbfe",
"_class": "recruit:class:Applicant",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185379701,
"state": "61f104b625355d019917dbed",
"doneState": null,
"number": 1,
"assignee": "61f1031c1badffab2bb3385f",
"rank": "0|hzzzzz:",
"attachedTo": "61f104ba25355d019917dbf8",
"attachedToClass": "recruit:mixin:Candidate",
"collection": "applications"
},
{
"_id": "61f104e125355d019917dc03",
"_class": "recruit:class:Applicant",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643185377223,
"state": "61f104b625355d019917dbeb",
"doneState": null,
"number": 2,
"assignee": "61f1031c1badffab2bb3385f",
"rank": "0|qzzzzz:",
"attachedTo": "61f1031cff96c329e8f3d68f",
"attachedToClass": "recruit:mixin:Candidate",
"collection": "applications"
},
{
"_id": "61f104eb25355d019917dc0a",
"_class": "recruit:class:Applicant",
"space": "61f104b625355d019917dbe9",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186559515,
"state": "61f104b625355d019917dbef",
"doneState": null,
"number": 3,
"assignee": null,
"rank": "0|vhzzzz:",
"attachedTo": "61f1031cff96c329e8f3d692",
"attachedToClass": "recruit:mixin:Candidate",
"collection": "applications",
"comments": 2
},
{
"_id": "61f1093d3a1b1a24cfdef404",
"_class": "lead:class:Lead",
"space": "lead:space:DefaultFunnel",
"modifiedBy": "61f1031c1badffab2bb33861",
"modifiedOn": 1643186506087,
"state": "61f1031bff96c329e8f3d666",
"doneState": null,
"number": 1,
"title": "Sell chain",
"rank": "0|hzzzzz:",
"assignee": null,
"attachedTo": "61f1031cff96c329e8f3d692",
"attachedToClass": "lead:mixin:Customer",
"collection": "leads"
}
]
-1
View File
@@ -1 +0,0 @@
[]
-1
View File
@@ -1 +0,0 @@
[]
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -53,7 +53,7 @@ test.describe('contact tests', () => {
await page.click('.antiNav-element:has-text("Person")')
await expect(page.locator('text=M. Marina')).toBeVisible()
expect(await page.locator('.antiTable-body__row').count()).toBeGreaterThan(5)
expect(await page.locator('.antiTable-body__row').count()).toBeGreaterThanOrEqual(5)
await fillSearch(page, 'Marina')
@@ -0,0 +1,16 @@
import { test, expect } from '@playwright/test'
import { PlatformSetting, PlatformURI } from './utils'
test.use({
storageState: PlatformSetting
})
test('check-status-loading', async ({ page }) => {
await (
await page.goto(`${PlatformURI}/workbench/sanity-ws/tracker/tracker%3Aproject%3ADefaultProject/issues`)
)?.finished()
await expect(page.locator('.categoryHeader :text-is("In Progress")').first()).toBeVisible()
await expect(page.locator('.categoryHeader :text-is("Backlog")').first()).toBeVisible()
await expect(page.locator('.categoryHeader :text-is("Todo")').first()).toBeVisible()
await expect(page.locator('.categoryHeader :text-is("Done")').first()).toBeVisible()
})
+4
View File
@@ -0,0 +1,4 @@
location="${1:-./sanity-ws}"
# Restore workspace contents in mongo/elastic
./tool.sh backup ${location} sanity-ws
+13
View File
@@ -0,0 +1,13 @@
export MINIO_ACCESS_KEY=minioadmin
export MINIO_SECRET_KEY=minioadmin
export MINIO_ENDPOINT=localhost:9000
export MONGO_URL=mongodb://localhost:27017
export TRANSACTOR_URL=ws:/localhost:3333
export ELASTIC_URL=http://localhost:9200
export SERVER_SECRET=secret
location="${1:-./sanity-ws}"
# Restore workspace contents in mongo/elastic
node ../dev/tool/bundle.js backup ${location} sanity-ws