removed TOS from Server DB schema (#6117)

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
This commit is contained in:
Avinash Lingaloo
2022-04-01 19:35:24 +04:00
committed by GitHub
parent 764e08e25d
commit c9d73d4512
14 changed files with 6 additions and 171 deletions

View File

@@ -7,13 +7,11 @@ import {
isRecordCustomEmojiEqualToRaw,
isRecordRoleEqualToRaw,
isRecordSystemEqualToRaw,
isRecordTermsOfServiceEqualToRaw,
} from '@database/operator/server_data_operator/comparators';
import {
transformCustomEmojiRecord,
transformRoleRecord,
transformSystemRecord,
transformTermsOfServiceRecord,
} from '@database/operator/server_data_operator/transformers/general';
import type ServerDataOperator from '..';
@@ -107,36 +105,6 @@ describe('*** DataOperator: Base Handlers tests ***', () => {
});
});
it('=> HandleTermsOfService: should write to the TERMS_OF_SERVICE table', async () => {
expect.assertions(1);
const spyOnHandleRecords = jest.spyOn(operator, 'handleRecords');
const termOfService: TermsOfService[] = [
{
id: 'tos-1',
accepted_at: 1,
create_at: 1613667352029,
user_id: 'user1613667352029',
text: '',
},
];
await operator.handleTermOfService({
termOfService,
prepareRecordsOnly: false,
});
expect(spyOnHandleRecords).toHaveBeenCalledWith({
findMatchingRecordBy: isRecordTermsOfServiceEqualToRaw,
fieldName: 'id',
transformer: transformTermsOfServiceRecord,
createOrUpdateRawValues: termOfService,
tableName: 'TermsOfService',
prepareRecordsOnly: false,
});
});
it('=> No table name: should not call execute if tableName is invalid', async () => {
expect.assertions(3);

View File

@@ -8,24 +8,21 @@ import {
isRecordCustomEmojiEqualToRaw,
isRecordRoleEqualToRaw,
isRecordSystemEqualToRaw,
isRecordTermsOfServiceEqualToRaw,
} from '@database/operator/server_data_operator/comparators';
import {
transformCustomEmojiRecord,
transformRoleRecord,
transformSystemRecord,
transformTermsOfServiceRecord,
} from '@database/operator/server_data_operator/transformers/general';
import {getUniqueRawsBy} from '@database/operator/utils/general';
import type {Model} from '@nozbe/watermelondb';
import type {HandleCustomEmojiArgs, HandleRoleArgs, HandleSystemArgs, HandleTOSArgs, OperationArgs} from '@typings/database/database';
import type {HandleCustomEmojiArgs, HandleRoleArgs, HandleSystemArgs, OperationArgs} from '@typings/database/database';
import type CustomEmojiModel from '@typings/database/models/servers/custom_emoji';
import type RoleModel from '@typings/database/models/servers/role';
import type SystemModel from '@typings/database/models/servers/system';
import type TermsOfServiceModel from '@typings/database/models/servers/terms_of_service';
const {SERVER: {CUSTOM_EMOJI, ROLE, SYSTEM, TERMS_OF_SERVICE}} = MM_TABLES;
const {SERVER: {CUSTOM_EMOJI, ROLE, SYSTEM}} = MM_TABLES;
export default class ServerDataOperatorBase extends BaseDataOperator {
handleRole = ({roles, prepareRecordsOnly = true}: HandleRoleArgs) => {
@@ -79,23 +76,6 @@ export default class ServerDataOperatorBase extends BaseDataOperator {
}) as Promise<SystemModel[]>;
};
handleTermOfService = ({termOfService, prepareRecordsOnly = true}: HandleTOSArgs) => {
if (!termOfService.length) {
throw new DataOperatorException(
'An empty "values" array has been passed to the handleTermOfService',
);
}
return this.handleRecords({
fieldName: 'id',
findMatchingRecordBy: isRecordTermsOfServiceEqualToRaw,
transformer: transformTermsOfServiceRecord,
prepareRecordsOnly,
createOrUpdateRawValues: getUniqueRawsBy({raws: termOfService, key: 'id'}),
tableName: TERMS_OF_SERVICE,
}) as Promise<TermsOfServiceModel[]>;
};
/**
* execute: Handles the Create/Update operations on an table.
* @param {OperationArgs} execute