Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions src/api/aa74f91cfcf3ddae/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import Endpoint from '../endpoint';
import database from '../../database/database';


/**
* api remove_advertisment_by_id
*/

class _aa74f91cfcf3ddae extends Endpoint {
constructor() {
super('aa74f91cfcf3ddae');
}

/**
* remove advertisment by id
* @param app
* @param req (p0: advertisement_guid<required>)
* @param res
*/

handler(app, req, res) {

const {
p0: advertisementGUID
} = req.query;

const advertiserRepository = database.getRepository('advertiser');
advertiserRepository.delete({advertisement_guid: advertisementGUID}).then(data => {
const attributesRepository = database.getRepository('advertiser_attributes');
return attributesRepository.delete({advertisement_guid: advertisementGUID});
}).then(data => {
const balanceRepository = database.getRepository('balance');
return balanceRepository.delete({advertisement_guid: advertisementGUID});
}).then(data => {
const blockLogRepository = database.getRepository('block_log');
return blockLogRepository.delete({advertisement_guid: advertisementGUID});
}).then(data => {
const clickLogRepository = database.getRepository('click_log');
return clickLogRepository.delete({advertisement_guid: advertisementGUID});
}).then(data => {
const requestRepository = database.getRepository('request_log');
return requestRepository.delete({advertisement_guid: advertisementGUID});
}).then(data => {
const ledgerRepository = database.getRepository('ledger');
ledgerRepository.delete({advertisement_guid: advertisementGUID});
res.send({
api_status : 'success',
data: data
});

}).catch(e => {
res.send({
api_status : 'fail',
api_message: `unexpected generic api error: (${e})`
})
})
}
}


export default new _aa74f91cfcf3ddae();
9 changes: 9 additions & 0 deletions src/config/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,15 @@
"version_released": "1.0.0",
"permission": "{\"require_identity\": false, \"private\": false}",
"enable": true
},
{
"id": "aa74f91cfcf3ddae",
"name": "remove_ad",
"description": "remove add",
"method": "GET",
"version_released": "1.0.0",
"permission": "{\"require_identity\": false, \"private\": false}",
"enable": true
}
]
}
16 changes: 15 additions & 1 deletion src/database/database.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import config from '../config/config';
import {
Advertiser, API, Consumer, Keychain, Language, Node, Normalization, Schema,
Wallet, Config, AdvertiserAttributes
Wallet, Config, AdvertiserAttributes, ConsumerAttributes, Balance, BlockLog, ClickLog, Ledger, RequestLog
} from './repositories/repositories';
import mutex from '../core/mutex';
import eventBus from '../core/event-bus';
Expand Down Expand Up @@ -391,6 +391,9 @@ export class Database {
this.repositories['advertiser_attributes'] = new AdvertiserAttributes(this.database);
this.repositories['advertiser_attributes'].setNormalizationRepository(this.repositories['normalization']);

this.repositories['consumer_attributes'] = new ConsumerAttributes(this.database);
this.repositories['consumer_attributes'].setNormalizationRepository(this.repositories['normalization']);

this.repositories['node'] = new Node(this.database);
this.repositories['node'].setNormalizationRepository(this.repositories['normalization']);

Expand All @@ -401,6 +404,17 @@ export class Database {

this.repositories['consumer'] = new Consumer(this.database);
this.repositories['consumer'].setNormalizationRepository(this.repositories['normalization']);

this.repositories['balance'] = new Balance(this.database);

this.repositories['block_log'] = new BlockLog(this.database);

this.repositories['click_log'] = new ClickLog(this.database);

this.repositories['ledger'] = new Ledger(this.database);

this.repositories['request_log'] = new RequestLog(this.database);

return this.repositories['normalization'].load();
}

Expand Down
37 changes: 37 additions & 0 deletions src/database/repositories/advertiser.js
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,21 @@ export default class Advertiser {



getAdvertisementById(where) {
return new Promise((resolve, reject) => {
const {
sql,
parameters
} = Database.buildQuery('SELECT * FROM advertisement_advertiser.advertisement',where);
this.database.get(sql, parameters, (err, advertisement) => {
if (err) {
return reject(err);
}
resolve(advertisement)
});
});
}

getAdvertisementById(where) {
return new Promise((resolve, reject) => {
const {
Expand Down Expand Up @@ -830,4 +845,26 @@ export default class Advertiser {
});
});
}

delete(where) {

return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_advertiser.advertisement', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
24 changes: 22 additions & 2 deletions src/database/repositories/advertiser_attributes.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {Database} from '../database';

export default class AdvertiserAttributes {
constructor(database,normalizationRepository) {
constructor(database) {
this.database = database;
this.normalizationRepository = normalizationRepository;
}

setNormalizationRepository(repository) {
Expand All @@ -29,4 +28,25 @@ export default class AdvertiserAttributes {
});
});
}

delete(where) {
return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_advertiser.advertisement_attribute', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
48 changes: 48 additions & 0 deletions src/database/repositories/balance.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import {Database} from '../database';

export default class Balance {
constructor(database) {
this.database = database;
}

get(where) {
return new Promise((resolve, reject) => {
const {
sql,
parameters
} = Database.buildQuery('SELECT * FROM advertisement_advertiser.advertisement_balance',where);
this.database.all(sql, parameters, (err, data) => {
if (err) {
return reject(err);
}

data.map(attribute => {
attribute.attribute_type= this.normalizationRepository.getType(attribute.attribute_type_guid)
attribute.object = this.normalizationRepository.getType(attribute.object_guid)
})
resolve(data)
});
});
}

delete(where) {
return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_advertiser.advertisement_balance', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
48 changes: 48 additions & 0 deletions src/database/repositories/block_log.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import {Database} from '../database';

export default class BlockLog {
constructor(database) {
this.database = database;
}

get(where) {
return new Promise((resolve, reject) => {
const {
sql,
parameters
} = Database.buildQuery('SELECT * FROM advertisement_advertiser.advertisement_block_log',where);
this.database.all(sql, parameters, (err, data) => {
if (err) {
return reject(err);
}

data.map(attribute => {
attribute.attribute_type= this.normalizationRepository.getType(attribute.attribute_type_guid)
attribute.object = this.normalizationRepository.getType(attribute.object_guid)
})
resolve(data)
});
});
}

delete(where) {
return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_advertiser.advertisement_block_log', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
48 changes: 48 additions & 0 deletions src/database/repositories/click_log.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import {Database} from '../database';

export default class ClickLog {
constructor(database) {
this.database = database;
}

get(where) {
return new Promise((resolve, reject) => {
const {
sql,
parameters
} = Database.buildQuery('SELECT * FROM advertisement_advertiser.advertisement_click_log',where);
this.database.all(sql, parameters, (err, data) => {
if (err) {
return reject(err);
}

data.map(attribute => {
attribute.attribute_type= this.normalizationRepository.getType(attribute.attribute_type_guid)
attribute.object = this.normalizationRepository.getType(attribute.object_guid)
})
resolve(data)
});
});
}

delete(where) {
return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_advertiser.advertisement_click_log', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
24 changes: 22 additions & 2 deletions src/database/repositories/consumer_attributes.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import {Database} from '../database';

export default class ConsumerAttributes {
constructor(database,normalizationRepository) {
constructor(database) {
this.database = database;
this.normalizationRepository = normalizationRepository;
}

setNormalizationRepository(repository) {
Expand Down Expand Up @@ -62,4 +61,25 @@ export default class ConsumerAttributes {
});
});
}

delete(where) {
return new Promise((resolve, reject) => {

if(!where){
return reject("At least one condition must be specified");
}

const {
sql,
parameters
} = Database.buildQuery('DELETE FROM advertisement_consumer.advertisement_attribute', where);
this.database.run(sql, parameters, (err) => {
if (err) {
console.log('[database] error', err);
return reject(err);
}
resolve();
});
});
}
}
Loading