Slack import unit tests (#4201)
* Slack Import unit tests (for some functions). Covers the completely self contained functions in the Slack Importer that are straightforward to unit test. JSON processing functions are not yet unit tested. * Unit tests for Slack Import JSON parsing. This tests the 3 functions for parsing JSON, using a sample set of Slack data for posts, channels, and users.
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
3a369c9de8
Коммит
8c8bc7111c
@@ -75,18 +75,18 @@ func SlackConvertChannelName(channelName string) string {
|
||||
return newName
|
||||
}
|
||||
|
||||
func SlackParseChannels(data io.Reader) []SlackChannel {
|
||||
func SlackParseChannels(data io.Reader) ([]SlackChannel, error) {
|
||||
decoder := json.NewDecoder(data)
|
||||
|
||||
var channels []SlackChannel
|
||||
if err := decoder.Decode(&channels); err != nil {
|
||||
l4g.Warn(utils.T("api.slackimport.slack_parse_channels.error"))
|
||||
return channels
|
||||
return channels, err
|
||||
}
|
||||
return channels
|
||||
return channels, nil
|
||||
}
|
||||
|
||||
func SlackParseUsers(data io.Reader) []SlackUser {
|
||||
func SlackParseUsers(data io.Reader) ([]SlackUser, error) {
|
||||
decoder := json.NewDecoder(data)
|
||||
|
||||
var users []SlackUser
|
||||
@@ -94,20 +94,20 @@ func SlackParseUsers(data io.Reader) []SlackUser {
|
||||
// This actually returns errors that are ignored.
|
||||
// In this case it is erroring because of a null that Slack
|
||||
// introduced. So we just return the users here.
|
||||
return users
|
||||
return users, err
|
||||
}
|
||||
return users
|
||||
return users, nil
|
||||
}
|
||||
|
||||
func SlackParsePosts(data io.Reader) []SlackPost {
|
||||
func SlackParsePosts(data io.Reader) ([]SlackPost, error) {
|
||||
decoder := json.NewDecoder(data)
|
||||
|
||||
var posts []SlackPost
|
||||
if err := decoder.Decode(&posts); err != nil {
|
||||
l4g.Warn(utils.T("api.slackimport.slack_parse_posts.error"))
|
||||
return posts
|
||||
return posts, err
|
||||
}
|
||||
return posts
|
||||
return posts, nil
|
||||
}
|
||||
|
||||
func SlackAddUsers(teamId string, slackusers []SlackUser, log *bytes.Buffer) map[string]*model.User {
|
||||
@@ -401,13 +401,13 @@ func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model
|
||||
return model.NewLocAppError("SlackImport", "api.slackimport.slack_import.open.app_error", map[string]interface{}{"Filename": file.Name}, err.Error()), log
|
||||
}
|
||||
if file.Name == "channels.json" {
|
||||
channels = SlackParseChannels(reader)
|
||||
channels, _ = SlackParseChannels(reader)
|
||||
} else if file.Name == "users.json" {
|
||||
users = SlackParseUsers(reader)
|
||||
users, _ = SlackParseUsers(reader)
|
||||
} else {
|
||||
spl := strings.Split(file.Name, "/")
|
||||
if len(spl) == 2 && strings.HasSuffix(spl[1], ".json") {
|
||||
newposts := SlackParsePosts(reader)
|
||||
newposts, _ := SlackParsePosts(reader)
|
||||
channel := spl[0]
|
||||
if _, ok := posts[channel]; ok == false {
|
||||
posts[channel] = newposts
|
||||
|
||||
179
api/slackimport_test.go
Обычный файл
179
api/slackimport_test.go
Обычный файл
@@ -0,0 +1,179 @@
|
||||
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package api
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSlackConvertTimeStamp(t *testing.T) {
|
||||
|
||||
testTimeStamp := "1469785419.000033"
|
||||
|
||||
result := SlackConvertTimeStamp(testTimeStamp)
|
||||
|
||||
if result != 1469785419000 {
|
||||
t.Fatalf("Unexpected timestamp value %v returned.", result)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSlackConvertChannelName(t *testing.T) {
|
||||
var testData = []struct {
|
||||
input string
|
||||
output string
|
||||
}{
|
||||
{"test-channel", "test-channel"},
|
||||
{"_test_channel_", "test_channel"},
|
||||
{"__test", "test"},
|
||||
{"-t", "slack-channel-t"},
|
||||
{"a", "slack-channel-a"},
|
||||
}
|
||||
|
||||
for _, td := range testData {
|
||||
if td.output != SlackConvertChannelName(td.input) {
|
||||
t.Fatalf("Did not convert channel name correctly: %v", td.input)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSlackConvertUserMentions(t *testing.T) {
|
||||
users := []SlackUser{
|
||||
{Id: "U00000A0A", Username: "firstuser"},
|
||||
{Id: "U00000B1B", Username: "seconduser"},
|
||||
}
|
||||
|
||||
posts := map[string][]SlackPost{
|
||||
"test-channel": {
|
||||
{
|
||||
Text: "<!channel>: Hi guys.",
|
||||
},
|
||||
{
|
||||
Text: "Calling <!here|@here>.",
|
||||
},
|
||||
{
|
||||
Text: "Yo <!everyone>.",
|
||||
},
|
||||
{
|
||||
Text: "Regular user test <@U00000B1B|seconduser> and <@U00000A0A>.",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
expectedPosts := map[string][]SlackPost{
|
||||
"test-channel": {
|
||||
{
|
||||
Text: "@channel: Hi guys.",
|
||||
},
|
||||
{
|
||||
Text: "Calling @here.",
|
||||
},
|
||||
{
|
||||
Text: "Yo @all.",
|
||||
},
|
||||
{
|
||||
Text: "Regular user test @seconduser and @firstuser.",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
convertedPosts := SlackConvertUserMentions(users, posts)
|
||||
|
||||
for channelName, channelPosts := range convertedPosts {
|
||||
for postIdx, post := range channelPosts {
|
||||
if post.Text != expectedPosts[channelName][postIdx].Text {
|
||||
t.Fatalf("Converted post text not as expected: %v", post.Text)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSlackConvertChannelMentions(t *testing.T) {
|
||||
channels := []SlackChannel{
|
||||
{Id: "C000AA00A", Name: "one"},
|
||||
{Id: "C000BB11B", Name: "two"},
|
||||
}
|
||||
|
||||
posts := map[string][]SlackPost{
|
||||
"test-channel": {
|
||||
{
|
||||
Text: "Go to <#C000AA00A>.",
|
||||
},
|
||||
{
|
||||
User: "U00000A0A",
|
||||
Text: "Try <#C000BB11B|two> for this.",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
expectedPosts := map[string][]SlackPost{
|
||||
"test-channel": {
|
||||
{
|
||||
Text: "Go to !one.",
|
||||
},
|
||||
{
|
||||
Text: "Try !two for this.",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
convertedPosts := SlackConvertChannelMentions(channels, posts)
|
||||
|
||||
for channelName, channelPosts := range convertedPosts {
|
||||
for postIdx, post := range channelPosts {
|
||||
if post.Text != expectedPosts[channelName][postIdx].Text {
|
||||
t.Fatalf("Converted post text not as expected: %v", post.Text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSlackParseChannels(t *testing.T) {
|
||||
file, err := os.Open("../tests/slack-import-test-channels.json")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to open data file: %v", err)
|
||||
}
|
||||
|
||||
channels, err := SlackParseChannels(file)
|
||||
if err != nil {
|
||||
t.Fatalf("Error occurred parsing channels: %v", err)
|
||||
}
|
||||
|
||||
if len(channels) != 6 {
|
||||
t.Fatalf("Unexpected number of channels: %v", len(channels))
|
||||
}
|
||||
}
|
||||
|
||||
func TestSlackParseUsers(t *testing.T) {
|
||||
file, err := os.Open("../tests/slack-import-test-users.json")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to open data file: %v", err)
|
||||
}
|
||||
|
||||
users, err := SlackParseUsers(file)
|
||||
if err != nil {
|
||||
t.Fatalf("Error occurred parsing users: %v", err)
|
||||
}
|
||||
|
||||
if len(users) != 11 {
|
||||
t.Fatalf("Unexpected number of users: %v", len(users))
|
||||
}
|
||||
}
|
||||
|
||||
func TestSlackParsePosts(t *testing.T) {
|
||||
file, err := os.Open("../tests/slack-import-test-posts.json")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to open data file: %v", err)
|
||||
}
|
||||
|
||||
posts, err := SlackParsePosts(file)
|
||||
if err != nil {
|
||||
t.Fatalf("Error occurred parsing posts: %v", err)
|
||||
}
|
||||
|
||||
if len(posts) != 8 {
|
||||
t.Fatalf("Unexpected number of posts: %v", len(posts))
|
||||
}
|
||||
}
|
||||
165
tests/slack-import-test-channels.json
Обычный файл
165
tests/slack-import-test-channels.json
Обычный файл
@@ -0,0 +1,165 @@
|
||||
[
|
||||
{
|
||||
"id": "C13CFUSDV",
|
||||
"name": "artwork",
|
||||
"created": "1461575251",
|
||||
"creator": "U07Q4MHCP",
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E"
|
||||
],
|
||||
"topic": {
|
||||
"value": "",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "Discussing art",
|
||||
"creator": "U07Q4MHCP",
|
||||
"last_set": "1461575252"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "C13CN0Q0H",
|
||||
"name": "eating-out",
|
||||
"created": "1461575308",
|
||||
"creator": "U07Q4MHCP",
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E"
|
||||
],
|
||||
"topic": {
|
||||
"value": "",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "Restaurants around town",
|
||||
"creator": "U07Q4MHCP",
|
||||
"last_set": "1461575309"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "C07Q4SBL3",
|
||||
"name": "general",
|
||||
"created": "1437124885",
|
||||
"creator": "U07Q4MHCP",
|
||||
"is_archived": false,
|
||||
"is_general": true,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E",
|
||||
"U15F73RL4",
|
||||
"U15F922BY",
|
||||
"U15FHKEKX",
|
||||
"U15FHR92R",
|
||||
"U15FUR1QS",
|
||||
"U1THQPEMV",
|
||||
"U24CG47QU"
|
||||
],
|
||||
"topic": {
|
||||
"value": "Company-wide announcements and work-based matters",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "This channel is for team-wide communication and announcements. All team members are in this channel.",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "C13B104PM",
|
||||
"name": "movies",
|
||||
"created": "1461575333",
|
||||
"creator": "U07Q4MHCP",
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E"
|
||||
],
|
||||
"topic": {
|
||||
"value": "",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "New movies",
|
||||
"creator": "U07Q4MHCP",
|
||||
"last_set": "1461575334"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "C15FGPREU",
|
||||
"name": "outings",
|
||||
"created": "1462216386",
|
||||
"creator": "U15FUR1QS",
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E",
|
||||
"U15F73RL4",
|
||||
"U15F922BY",
|
||||
"U15FHKEKX",
|
||||
"U15FHR92R",
|
||||
"U15FUR1QS"
|
||||
],
|
||||
"topic": {
|
||||
"value": "",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "Let's discuss our next monthly outing",
|
||||
"creator": "U15FUR1QS",
|
||||
"last_set": "1462216387"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "C07Q4MBTL",
|
||||
"name": "random",
|
||||
"created": "1437124885",
|
||||
"creator": "U07Q4MHCP",
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"members": [
|
||||
"U07Q4MHCP",
|
||||
"U13C5JZ7W",
|
||||
"U13CLGTKK",
|
||||
"U13CSKE2E",
|
||||
"U15F73RL4",
|
||||
"U15F922BY",
|
||||
"U15FHKEKX",
|
||||
"U15FHR92R",
|
||||
"U15FUR1QS",
|
||||
"U1THQPEMV",
|
||||
"U24CG47QU"
|
||||
],
|
||||
"topic": {
|
||||
"value": "Non-work banter and water cooler conversation",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
},
|
||||
"purpose": {
|
||||
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
|
||||
"creator": "",
|
||||
"last_set": "0"
|
||||
}
|
||||
}
|
||||
]
|
||||
180
tests/slack-import-test-posts.json
Обычный файл
180
tests/slack-import-test-posts.json
Обычный файл
@@ -0,0 +1,180 @@
|
||||
[
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U07Q4MHCP",
|
||||
"text": "<@U24CG47QU>",
|
||||
"ts": "1472932439.000002"
|
||||
},
|
||||
{
|
||||
"user": "U07Q4MHCP",
|
||||
"text": "<@U07Q4MHCP|lindy> has left the channel",
|
||||
"type": "message",
|
||||
"subtype": "channel_leave",
|
||||
"ts": "1469440454.000002"
|
||||
},
|
||||
{
|
||||
"user": "U15FUR1QS",
|
||||
"purpose": "Let's discuss our next monthly outing",
|
||||
"type": "message",
|
||||
"subtype": "channel_purpose",
|
||||
"text": "<@U15FUR1QS|igor> set the channel purpose: Let's discuss our next monthly outing",
|
||||
"ts": "1462216387.000003"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"subtype": "file_share",
|
||||
"text": "<@U07Q4MHCP|lindy> uploaded a file: <https:\/\/slackexportteam.slack.com\/files\/lindy\/F1WB5FH7W\/pdf.pdf|Pdf.pdf>",
|
||||
"file": {
|
||||
"id": "F1WB5FH7W",
|
||||
"created": 1469782519,
|
||||
"timestamp": 1469782519,
|
||||
"name": "Pdf.pdf",
|
||||
"title": "Pdf.pdf",
|
||||
"mimetype": "application\/pdf",
|
||||
"filetype": "pdf",
|
||||
"pretty_type": "PDF",
|
||||
"user": "U07Q4MHCP",
|
||||
"editable": false,
|
||||
"size": 457717,
|
||||
"mode": "hosted",
|
||||
"is_external": false,
|
||||
"external_type": "",
|
||||
"is_public": true,
|
||||
"public_url_shared": false,
|
||||
"display_as_bot": false,
|
||||
"username": "",
|
||||
"url_private": "https:\/\/files.slack.com\/files-pri\/T07Q4MHC7-F1WB5FH7W\/pdf.pdf?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"url_private_download": "https:\/\/files.slack.com\/files-pri\/T07Q4MHC7-F1WB5FH7W\/download\/pdf.pdf?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"permalink": "https:\/\/slackexportteam.slack.com\/files\/lindy\/F1WB5FH7W\/pdf.pdf",
|
||||
"permalink_public": "https:\/\/slack-files.com\/T07Q4MHC7-F1WB5FH7W-8560bd68a4",
|
||||
"channels": [
|
||||
"C07Q4MBTL"
|
||||
],
|
||||
"groups": [
|
||||
|
||||
],
|
||||
"ims": [
|
||||
|
||||
],
|
||||
"comments_count": 0
|
||||
},
|
||||
"user": "U07Q4MHCP",
|
||||
"upload": true,
|
||||
"display_as_bot": false,
|
||||
"username": "<@U07Q4MHCP|lindy>",
|
||||
"bot_id": null,
|
||||
"ts": "1469782519.000002"
|
||||
},
|
||||
{
|
||||
"user": "U24CG47QU",
|
||||
"text": "<@U24CG47QU|lindy.invite> has joined the channel",
|
||||
"type": "message",
|
||||
"subtype": "channel_join",
|
||||
"ts": "1472028157.000002"
|
||||
},
|
||||
{
|
||||
"bot_id": "B13CH9S5V",
|
||||
"attachments": [
|
||||
{
|
||||
"fallback": "<https:\/\/twitter.com\/m2pls|@m2pls>: M2 informatique PLS et EID2 on vous retrouve sur le <https:\/\/twitter.com\/mattermosthq|@mattermosthq> du master, les invitations partiront lundi (ou demander en MP).",
|
||||
"ts": 1474722287,
|
||||
"author_name": "Master 2 PLS",
|
||||
"author_link": "https:\/\/twitter.com\/m2pls\/status\/779667900600844288",
|
||||
"author_icon": "https:\/\/pbs.twimg.com\/profile_images\/649829889890086912\/ULpVHs9S_normal.jpg",
|
||||
"author_subname": "@m2pls",
|
||||
"pretext": "<https:\/\/twitter.com\/m2pls\/status\/779667900600844288>",
|
||||
"text": "M2 informatique PLS et EID2 on vous retrouve sur le <https:\/\/twitter.com\/mattermosthq|@mattermosthq> du master, les invitations partiront lundi (ou demander en MP).",
|
||||
"service_name": "twitter",
|
||||
"service_url": "https:\/\/twitter.com\/",
|
||||
"from_url": "https:\/\/twitter.com\/m2pls\/status\/779667900600844288",
|
||||
"id": 1,
|
||||
"footer": "Twitter",
|
||||
"footer_icon": "https:\/\/a.slack-edge.com\/6e067\/img\/services\/twitter_pixel_snapped_32.png"
|
||||
}
|
||||
],
|
||||
"text": null,
|
||||
"type": "message",
|
||||
"subtype": "bot_message",
|
||||
"ts": "1474722288.637240"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U07Q4MHCP",
|
||||
"text": "<https:\/\/slackexportteam.slack.com\/archives\/general\/p1469781868000005>",
|
||||
"attachments": [
|
||||
{
|
||||
"from_url": "https:\/\/slackexportteam.slack.com\/archives\/general\/p1469781868000005",
|
||||
"fallback": "[July 29th, 2016 1:44 AM] lindy: permalink?",
|
||||
"ts": "1469781868.000005",
|
||||
"author_subname": "lindy",
|
||||
"channel_id": "C07Q4SBL3",
|
||||
"channel_name": "general",
|
||||
"is_msg_unfurl": true,
|
||||
"text": "permalink?",
|
||||
"author_link": "https:\/\/slackexportteam.slack.com\/team\/lindy",
|
||||
"author_icon": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0001-48.png",
|
||||
"mrkdwn_in": [
|
||||
"text"
|
||||
],
|
||||
"id": 1,
|
||||
"footer": "Posted in #general"
|
||||
}
|
||||
],
|
||||
"ts": "1469781880.000006"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"subtype": "file_share",
|
||||
"text": "<@U07Q4MHCP|lindy> uploaded a file: <https:\/\/slackexportteam.slack.com\/files\/lindy\/F1WBDJW93\/fb-wow.gif|fb-wow.gif>",
|
||||
"file": {
|
||||
"id": "F1WBDJW93",
|
||||
"created": 1469782076,
|
||||
"timestamp": 1469782076,
|
||||
"name": "fb-wow.gif",
|
||||
"title": "fb-wow.gif",
|
||||
"mimetype": "image\/gif",
|
||||
"filetype": "gif",
|
||||
"pretty_type": "GIF",
|
||||
"user": "U07Q4MHCP",
|
||||
"editable": false,
|
||||
"size": 27235,
|
||||
"mode": "hosted",
|
||||
"is_external": false,
|
||||
"external_type": "",
|
||||
"is_public": true,
|
||||
"public_url_shared": false,
|
||||
"display_as_bot": false,
|
||||
"username": "",
|
||||
"url_private": "https:\/\/files.slack.com\/files-pri\/T07Q4MHC7-F1WBDJW93\/fb-wow.gif?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"url_private_download": "https:\/\/files.slack.com\/files-pri\/T07Q4MHC7-F1WBDJW93\/download\/fb-wow.gif?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"thumb_64": "https:\/\/files.slack.com\/files-tmb\/T07Q4MHC7-F1WBDJW93-7031b90b93\/fb-wow_64.png?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"thumb_80": "https:\/\/files.slack.com\/files-tmb\/T07Q4MHC7-F1WBDJW93-7031b90b93\/fb-wow_80.png?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"thumb_360": "https:\/\/files.slack.com\/files-tmb\/T07Q4MHC7-F1WBDJW93-7031b90b93\/fb-wow_360.png?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"thumb_360_w": 59,
|
||||
"thumb_360_h": 59,
|
||||
"thumb_160": "https:\/\/files.slack.com\/files-tmb\/T07Q4MHC7-F1WBDJW93-7031b90b93\/fb-wow_160.png?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"image_exif_rotation": 1,
|
||||
"original_w": 59,
|
||||
"original_h": 59,
|
||||
"deanimate_gif": "https:\/\/files.slack.com\/files-tmb\/T07Q4MHC7-F1WBDJW93-7031b90b93\/fb-wow_deanimate_gif.png?t=xoxe-7820731415-83616398485-83620610359-b95751e3ea",
|
||||
"permalink": "https:\/\/slackexportteam.slack.com\/files\/lindy\/F1WBDJW93\/fb-wow.gif",
|
||||
"permalink_public": "https:\/\/slack-files.com\/T07Q4MHC7-F1WBDJW93-718081d960",
|
||||
"channels": [
|
||||
"C07Q4SBL3"
|
||||
],
|
||||
"groups": [
|
||||
|
||||
],
|
||||
"ims": [
|
||||
|
||||
],
|
||||
"comments_count": 0
|
||||
},
|
||||
"user": "U07Q4MHCP",
|
||||
"upload": true,
|
||||
"display_as_bot": false,
|
||||
"username": "<@U07Q4MHCP|lindy>",
|
||||
"bot_id": null,
|
||||
"ts": "1469782077.000010"
|
||||
}
|
||||
]
|
||||
363
tests/slack-import-test-users.json
Обычный файл
363
tests/slack-import-test-users.json
Обычный файл
@@ -0,0 +1,363 @@
|
||||
[
|
||||
{
|
||||
"id": "U13CLGTKK",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "alice",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "4bbe2e",
|
||||
"real_name": "Alice",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Alice",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g2280143ab5d",
|
||||
"real_name": "Alice",
|
||||
"real_name_normalized": "Alice",
|
||||
"email": "lindy+1@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0021-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0021-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F3654%2Fimg%2Favatars%2Fava_0021-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0021-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0021-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/2280143ab5dd760d0a951b74bd06185a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0021-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": true,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U15F73RL4",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "brett",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "e96699",
|
||||
"real_name": "Brett",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Brett",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g16de52e9c3d",
|
||||
"real_name": "Brett",
|
||||
"real_name_normalized": "Brett",
|
||||
"email": "lindy+13@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0001-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0001-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0001-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F3654%2Fimg%2Favatars%2Fava_0001-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0001-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/16de52e9c3dd5917b72a327f9b36a7db.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0001-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U15FUR1QS",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "igor",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "5b89d5",
|
||||
"real_name": "Igor",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Igor",
|
||||
"last_name": "",
|
||||
"avatar_hash": "gd2d8b6603c7",
|
||||
"real_name": "Igor",
|
||||
"real_name_normalized": "Igor",
|
||||
"email": "lindy+12@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0019-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0019-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0019-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0019-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0019-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/d2d8b6603c7e7eb443ccc103f50852c5.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0019-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U15FHR92R",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "karen",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "684b6c",
|
||||
"real_name": "Karen",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Karen",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g6fd11d3e252",
|
||||
"real_name": "Karen",
|
||||
"real_name_normalized": "Karen",
|
||||
"email": "lindy+10@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0007-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0007-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0007-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0007-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0007-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/6fd11d3e252e571d7371c7a5bbeb54ff.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0007-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U1THQPEMV",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "lindsay",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "2b6836",
|
||||
"real_name": "Lindsay B",
|
||||
"tz": "America\/New_York",
|
||||
"tz_label": "Eastern Daylight Time",
|
||||
"tz_offset": -14400,
|
||||
"profile": {
|
||||
"first_name": "Lindsay",
|
||||
"last_name": "B",
|
||||
"avatar_hash": "g59bda23e5db",
|
||||
"real_name": "Lindsay B",
|
||||
"real_name_normalized": "Lindsay B",
|
||||
"email": "lindsay@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0000-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0000-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0000-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0000-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0000-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/59bda23e5dbe5930c3941c7bb90c3e2a.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0000-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U07Q4MHCP",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "lindy",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "9f69e7",
|
||||
"real_name": "",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"avatar_hash": "g822d051544b",
|
||||
"real_name": "",
|
||||
"real_name_normalized": "",
|
||||
"email": "lindy@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0001-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0001-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0001-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F3654%2Fimg%2Favatars%2Fava_0001-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0001-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/822d051544b1f50f1e9f015cd2990edc.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0001-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": true,
|
||||
"is_owner": true,
|
||||
"is_primary_owner": true,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U24CG47QU",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "lindy.invite",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "99a949",
|
||||
"real_name": "lindy invite",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "lindy",
|
||||
"last_name": "invite",
|
||||
"avatar_hash": "g1c46f51413d",
|
||||
"real_name": "lindy invite",
|
||||
"real_name_normalized": "lindy invite",
|
||||
"email": "lindy+invite@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0015-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0015-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0015-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0015-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0015-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/1c46f51413d2af8048dfaadcf43f5a03.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0015-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U15FHKEKX",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "peter",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "e0a729",
|
||||
"real_name": "Peter",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Peter",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g5f5c8dacc18",
|
||||
"real_name": "Peter",
|
||||
"real_name_normalized": "Peter",
|
||||
"email": "lindy+14@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0014-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0014-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0014-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0014-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0014-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/5f5c8dacc18f616a0dcdec904fdd5cea.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0014-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U15F922BY",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "sam",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "674b1b",
|
||||
"real_name": "Sam",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Sam",
|
||||
"last_name": "",
|
||||
"avatar_hash": "gef41b9b8176",
|
||||
"real_name": "Sam",
|
||||
"real_name_normalized": "Sam",
|
||||
"email": "lindy+11@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0017-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0017-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0017-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0017-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0017-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/ef41b9b8176fba6eaffdfe04415df8be.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0017-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U13CSKE2E",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "sandy",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "3c989f",
|
||||
"real_name": "Sandy",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Sandy",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g7bb3eebada3",
|
||||
"real_name": "Sandy",
|
||||
"real_name_normalized": "Sandy",
|
||||
"email": "lindy+3@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0013-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F0180%2Fimg%2Favatars%2Fava_0013-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0013-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0013-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0013-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/7bb3eebada3d8ee1251980df86904ec9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0013-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
},
|
||||
{
|
||||
"id": "U13C5JZ7W",
|
||||
"team_id": "T07Q4MHC7",
|
||||
"name": "ted",
|
||||
"deleted": false,
|
||||
"status": null,
|
||||
"color": "e7392d",
|
||||
"real_name": "Ted",
|
||||
"tz": "Africa\/Cairo",
|
||||
"tz_label": "Eastern European Time",
|
||||
"tz_offset": 7200,
|
||||
"profile": {
|
||||
"first_name": "Ted",
|
||||
"last_name": "",
|
||||
"avatar_hash": "g5b31933276f",
|
||||
"real_name": "Ted",
|
||||
"real_name_normalized": "Ted",
|
||||
"email": "lindy+2@example.com",
|
||||
"image_24": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0022-24.png",
|
||||
"image_32": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0022-32.png",
|
||||
"image_48": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0022-48.png",
|
||||
"image_72": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2F66f9%2Fimg%2Favatars%2Fava_0022-72.png",
|
||||
"image_192": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0022-192.png",
|
||||
"image_512": "https:\/\/secure.gravatar.com\/avatar\/5b31933276f699aa8ff55a8fe4a2e7cb.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2F7fa9%2Fimg%2Favatars%2Fava_0022-512.png",
|
||||
"fields": null
|
||||
},
|
||||
"is_admin": true,
|
||||
"is_owner": false,
|
||||
"is_primary_owner": false,
|
||||
"is_restricted": false,
|
||||
"is_ultra_restricted": false,
|
||||
"is_bot": false
|
||||
}
|
||||
]
|
||||
Ссылка в новой задаче
Block a user