MM-45120: Track team join times. Add API to retrieve new team members since a given time. (#20708)

* MM-45120: Starts tracking team join time. Adds API to retrieve team members who joined after a given time.

* MM-45120: Updates json casing to match model.User.
Этот коммит содержится в:
Martin Kraft
2022-08-11 10:38:52 -04:00
коммит произвёл GitHub
родитель 1738bd6e92
Коммит 55b3961b98
27 изменённых файлов: 630 добавлений и 13 удалений

Просмотреть файл

@@ -182,6 +182,8 @@ db/migrations/mysql/000090_create_enums.down.sql
db/migrations/mysql/000090_create_enums.up.sql
db/migrations/mysql/000091_create_post_reminder.down.sql
db/migrations/mysql/000091_create_post_reminder.up.sql
db/migrations/mysql/000092_add_createat_to_teammembers.down.sql
db/migrations/mysql/000092_add_createat_to_teammembers.up.sql
db/migrations/postgres/000001_create_teams.down.sql
db/migrations/postgres/000001_create_teams.up.sql
db/migrations/postgres/000002_create_team_members.down.sql
@@ -364,3 +366,5 @@ db/migrations/postgres/000090_create_enums.down.sql
db/migrations/postgres/000090_create_enums.up.sql
db/migrations/postgres/000091_create_post_reminder.down.sql
db/migrations/postgres/000091_create_post_reminder.up.sql
db/migrations/postgres/000092_add_createat_to_teamembers.down.sql
db/migrations/postgres/000092_add_createat_to_teamembers.up.sql

Просмотреть файл

@@ -0,0 +1,14 @@
SET @preparedStatement = (SELECT IF(
EXISTS(
SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
WHERE table_name = 'TeamMembers'
AND table_schema = DATABASE()
AND column_name = 'CreateAt'
) > 0,
'ALTER TABLE Reactions DROP COLUMN CreateAt;',
'SELECT 1;'
));
PREPARE removeColumnIfExists FROM @preparedStatement;
EXECUTE removeColumnIfExists;
DEALLOCATE PREPARE removeColumnIfExists;

Просмотреть файл

@@ -0,0 +1,29 @@
SET @preparedStatement = (SELECT IF(
NOT EXISTS(
SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'TeamMembers'
AND table_schema = DATABASE()
AND column_name = 'CreateAt'
),
'ALTER TABLE TeamMembers ADD COLUMN CreateAt bigint DEFAULT 0;',
'SELECT 1;'
));
PREPARE addColumnIfNotExists FROM @preparedStatement;
EXECUTE addColumnIfNotExists;
DEALLOCATE PREPARE addColumnIfNotExists;
SET @preparedStatement = (SELECT IF(
(
SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS
WHERE table_name = 'TeamMembers'
AND table_schema = DATABASE()
AND index_name = 'idx_teammembers_create_at'
) > 0,
'SELECT 1',
'CREATE INDEX idx_teammembers_createat ON TeamMembers(CreateAt);'
));
PREPARE createIndexIfNotExists FROM @preparedStatement;
EXECUTE createIndexIfNotExists;
DEALLOCATE PREPARE createIndexIfNotExists;

Просмотреть файл

@@ -0,0 +1 @@
ALTER TABLE teammembers DROP COLUMN IF EXISTS createat;

Просмотреть файл

@@ -0,0 +1,2 @@
ALTER TABLE teammembers ADD COLUMN IF NOT EXISTS createat bigint DEFAULT 0;
CREATE INDEX IF NOT EXISTS idx_teammembers_createat on teammembers (createat);