mirror of
https://github.com/gophish/gophish
synced 2024-11-14 16:27:23 +00:00
Added documentation for api
Working on /campaigns UI (modals, etc.)
This commit is contained in:
parent
5d0792044d
commit
da1216aaf7
2 changed files with 122 additions and 13 deletions
|
@ -23,6 +23,7 @@ function api(endpoint, method, data) {
|
|||
/*
|
||||
Define our API Endpoints
|
||||
*/
|
||||
// campaigns contains the endpoints for /campaigns
|
||||
var campaigns = {
|
||||
// get() - Queries the API for GET /campaigns
|
||||
get: function(){
|
||||
|
@ -34,6 +35,7 @@ var campaigns = {
|
|||
}
|
||||
}
|
||||
|
||||
// campaignId contains the endpoints for /campaigns/:id
|
||||
var campaignId = {
|
||||
// get() - Queries the API for GET /campaigns/:id
|
||||
get: function(id){
|
||||
|
@ -53,32 +55,66 @@ var campaignId = {
|
|||
}
|
||||
}
|
||||
|
||||
// groups contains the endpoints for /groups
|
||||
var groups = {
|
||||
// get() - Queries the API for GET /campaigns
|
||||
// get() - Queries the API for GET /groups
|
||||
get: function(){
|
||||
return api("/groups", "GET", {})
|
||||
},
|
||||
// post() - Posts a campaign to POST /campaigns
|
||||
// post() - Posts a campaign to POST /groups
|
||||
post: function(group){
|
||||
return api("/groups", "POST", group)
|
||||
}
|
||||
}
|
||||
|
||||
// groupId contains the endpoints for /groups/:id
|
||||
var groupId = {
|
||||
// get() - Queries the API for GET /groups/:id
|
||||
get: function(id){
|
||||
return api("/campaigns/" + id, "GET", {})
|
||||
return api("/groups/" + id, "GET", {})
|
||||
},
|
||||
// post() - Posts a campaign to POST /campaigns/:id
|
||||
post: function(campaign){
|
||||
return api("/campaigns/" + campaign.id, "POST", data)
|
||||
// post() - Posts a campaign to POST /groups/:id
|
||||
post: function(group){
|
||||
return api("/groups/" + group.id, "POST", data)
|
||||
},
|
||||
// put() - Puts a campaign to PUT /campaigns/:id
|
||||
put: function (campaign){
|
||||
return api("/campaigns/" + campaign.id, "PUT", data)
|
||||
// put() - Puts a campaign to PUT /groups/:id
|
||||
put: function (group){
|
||||
return api("/groups/" + group.id, "PUT", data)
|
||||
},
|
||||
// delete() - Deletes a campaign at DELETE /campaigns/:id
|
||||
// delete() - Deletes a campaign at DELETE /groups/:id
|
||||
delete: function(id){
|
||||
return api("/campaigns/" + id, "DELETE", data)
|
||||
return api("/groups/" + id, "DELETE", data)
|
||||
}
|
||||
}
|
||||
|
||||
// templates contains the endpoints for /templates
|
||||
var templates = {
|
||||
// get() - Queries the API for GET /templates
|
||||
get: function(){
|
||||
return api("/templates", "GET", {})
|
||||
},
|
||||
// post() - Posts a campaign to POST /templates
|
||||
post: function(template){
|
||||
return api("/templates", "POST", template)
|
||||
}
|
||||
}
|
||||
|
||||
// templateId contains the endpoints for /templates/:id
|
||||
var templateId = {
|
||||
// get() - Queries the API for GET /templates/:id
|
||||
get: function(id){
|
||||
return api("/templates/" + id, "GET", {})
|
||||
},
|
||||
// post() - Posts a campaign to POST /templates/:id
|
||||
post: function(template){
|
||||
return api("/templates/" + template.id, "POST", data)
|
||||
},
|
||||
// put() - Puts a campaign to PUT /templates/:id
|
||||
put: function (template){
|
||||
return api("/templates/" + template.id, "PUT", data)
|
||||
},
|
||||
// delete() - Deletes a campaign at DELETE /templates/:id
|
||||
delete: function(id){
|
||||
return api("/templates/" + id, "DELETE", data)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
</div> -->
|
||||
</div>
|
||||
<div class="row">
|
||||
<button type="button" class="btn btn-primary" ng-click="newCampaign()"><i class="fa fa-plus"></i> New Campaign</button>
|
||||
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"><i class="fa fa-plus"></i> New Campaign</button>
|
||||
</div>
|
||||
|
||||
<div ng-show="!campaigns.length">
|
||||
|
@ -43,7 +43,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div ng-show="campaigns.length" class="row">
|
||||
<table id="table_id" class="table">
|
||||
<table id="campaignTable" class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Column 1</th>
|
||||
|
@ -88,6 +88,79 @@
|
|||
</table> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title" id="campaignModalLabel">New Campaign</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<!-- <div style="text-align:center" class="alert alert-flash.type">
|
||||
<i class="fa flash.icon"></i> flash.message
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="name">Name:</label>
|
||||
<input type="text" class="form-control" id="name" placeholder="Campaign name" autofocus>
|
||||
<br />
|
||||
<label class="control-label" for="template">Template:</label>
|
||||
<input type="text" class="form-control" placeholder="Template Name" id="template" typeahead="template.name for template in templates | filter:{name:$viewValue}" typeahead-editable="false" ng-model="campaign.template.name" />
|
||||
<br />
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading" role="tab">
|
||||
<a role="button" class="collapsed" data-toggle="collapse" href="#smtpPanel" aria-expanded="false" aria-controls="#smtpPanel">
|
||||
SMTP Options <i class="pull-right glyphicon"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="panel-collapse collapse" id="smtpPanel" role="tabpanel">
|
||||
<div class="panel-body">
|
||||
<label class="control-label" for="from">From:</label>
|
||||
<input type="text" class="form-control" placeholder="First Last <test@example.com>" id="form">
|
||||
<br />
|
||||
<label class="control-label" for="smtp_server">Host:</label>
|
||||
<input type="text" class="form-control" placeholder="smtp.example.com:25" id="smtp_server">
|
||||
<br />
|
||||
<label class="control-label" for="smtp_server">Username:</label>
|
||||
<input type="text" class="form-control" placeholder="Username" id="smtp_server">
|
||||
<br />
|
||||
<label class="control-label" for="smtp_server">Password:</label>
|
||||
<input type="password" class="form-control" placeholder="Password" id="smtp_server">
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<label class="control-label" for="users">Groups:</label>
|
||||
<form ng-submit="addGroup(group)">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" placeholder="Group Name" id="users" typeahead="group.name for group in groups | filter:{name:$viewValue}" typeahead-editable="false" ng-model="group.name" />
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-primary"><i class="fa fa-plus"></i> Add</button>
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
<br />
|
||||
<table ng-table="editGroupTableParams" class="table table-hover table-striped table-condensed">
|
||||
<tbody>
|
||||
<tr ng-repeat="group in $data" class="editable-row">
|
||||
<td>group.name
|
||||
<span ng-click="removeGroup(group)" class="remove-row"><i class="fa fa-trash-o"></i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-primary" onclick="save()">Save changes</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{define "scripts"}}
|
||||
<script src="/js/app/campaigns.js"></script>
|
||||
|
|
Loading…
Reference in a new issue