Skip to content

Commit daadaeb

Browse files
committed
API 100% complete
1 parent a48591f commit daadaeb

26 files changed

Lines changed: 684 additions & 1793 deletions

README.md

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ bootstrap(App, [
4444

4545
## API
4646

47+
Every method return an Obervable. If you want to get a Promise you will need to add the rxjs `toPromise` operator:
48+
49+
```
50+
import 'rxjs/add/operator/toPromise';
51+
52+
class Test {
53+
constructor(private wpApiPosts: WpApiPosts) {
54+
this.wpApiPosts.getList()
55+
.toPromise()
56+
.then((response) => {})
57+
.catch((error) => {})
58+
}
59+
}
60+
61+
```
4762

4863
### WpApiPosts
4964

@@ -87,13 +102,70 @@ bootstrap(App, [
87102
delete(commentId: number, options?: RequestOptionsArgs): Observable<Response>;
88103
```
89104

90-
### IWpApiTypes
105+
### WpApiTypes
91106

92107
```
93108
getList(options?: RequestOptionsArgs): Observable<Response>;
94109
get(postType: string, options?: RequestOptionsArgs): Observable<Response>;
95110
```
96111

112+
### WpApiMedia
113+
114+
```
115+
getList(options?: RequestOptionsArgs): Observable<Response>;
116+
get(mediaId: number, options?: RequestOptionsArgs): Observable<Response>;
117+
create(body: any, options?: RequestOptionsArgs): Observable<Response>;
118+
update(mediaId: number, body: any, options?: RequestOptionsArgs): Observable<Response>;
119+
delete(mediaId: number, options?: RequestOptionsArgs): Observable<Response>;
120+
```
121+
122+
### WpApiUsers
123+
124+
```
125+
getList(options?: RequestOptionsArgs): Observable<Response>;
126+
me(options?: RequestOptionsArgs): Observable<Response>;
127+
get(userId: number, options?: RequestOptionsArgs): Observable<Response>;
128+
create(body: any, options?: RequestOptionsArgs): Observable<Response>;
129+
update(userId: number, body: any, options?: RequestOptionsArgs): Observable<Response>;
130+
delete(userId: number, options?: RequestOptionsArgs): Observable<Response>;
131+
```
132+
133+
### WpApiTaxonomies
134+
135+
```
136+
getList(options?: RequestOptionsArgs): Observable<Response>;
137+
get(taxonomiesType: string, options?: RequestOptionsArgs): Observable<Response>;
138+
```
139+
140+
### WpApiStatuses
141+
142+
```
143+
getList(options?: RequestOptionsArgs): Observable<Response>;
144+
get(statusesName: string, options?: RequestOptionsArgs): Observable<Response>;
145+
```
146+
147+
### WpApiTerms
148+
149+
`taxonomiesType` can be `tags`, `categories` and more.
150+
151+
```
152+
getList(taxonomiesType: string, options?: RequestOptionsArgs): Observable<Response>;
153+
get(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable<Response>;
154+
create(taxonomiesType: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
155+
update(taxonomiesType: string, termId: number, body: any, options?: RequestOptionsArgs): Observable<Response>;
156+
delete(taxonomiesType: string, termId: number, options?: RequestOptionsArgs): Observable<Response>;
157+
```
158+
159+
### WpApiCustom
160+
161+
```
162+
getList(options?: RequestOptionsArgs): Observable<Response>;
163+
get(customId: number, options?: RequestOptionsArgs): Observable<Response>;
164+
create(body: any, options?: RequestOptionsArgs): Observable<Response>;
165+
update(customId: number, body: any, options?: RequestOptionsArgs): Observable<Response>;
166+
delete(customId: number, options?: RequestOptionsArgs): Observable<Response>;
167+
```
168+
97169
## Authentication
98170

99171
TO BE DEFINED

demo/app.ts

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@ import {
33
WpApiPosts,
44
WpApiPages,
55
WpApiComments,
6-
WpApiTypes
6+
WpApiTypes,
7+
WpApiMedia,
8+
WpApiUsers,
9+
WpApiTaxonomies,
10+
WpApiStatuses,
11+
WpApiTerms,
12+
WpApiCustom
713
} from 'wp-api-angularjs';
814
let config = require('../config.json');
915

@@ -42,7 +48,13 @@ export class App {
4248
private wpApiPosts: WpApiPosts,
4349
private wpApiPages: WpApiPages,
4450
private wpApiComments: WpApiComments,
45-
private wpApiTypes: WpApiTypes
51+
private wpApiTypes: WpApiTypes,
52+
private wpApiMedia: WpApiMedia,
53+
private wpApiUsers: WpApiUsers,
54+
private wpApiTaxonomies: WpApiTaxonomies,
55+
private wpApiStatuses: WpApiStatuses,
56+
private wpApiTerms: WpApiTerms,
57+
private wpApiCustom: WpApiCustom
4658
) {
4759
const serviceNames = Object.keys(config.api);
4860
for (let i = 0, len = serviceNames.length; i <= len; i++) {
@@ -51,14 +63,29 @@ export class App {
5163
if (!this[serviceName]) {
5264
continue;
5365
}
54-
Object.keys(serviceApi).map((method) => {
55-
let service = this[serviceName];
56-
let parameters = serviceApi[method];
57-
service[method].apply(service, parameters).toPromise()
58-
.then(() => this.requests.push({ serviceName: serviceName.slice(5), method, success: true }))
59-
.catch(() => this.requests.push({ serviceName: serviceName.slice(5), method, success: false }))
60-
});
66+
if (Array.isArray(serviceApi)) {
67+
serviceApi.map(api => {
68+
this.request(this[serviceName], api, serviceName)
69+
})
70+
} else if (serviceName === 'wpApiCustom') {
71+
Object.keys(serviceApi).map((customType) => {
72+
let serviceApi = config.api[serviceName][customType];
73+
this.request(wpApiCustom.getInstance(customType), serviceApi, serviceName);
74+
});
75+
} else {
76+
console.log('serviceName', serviceName)
77+
this.request(this[serviceName], serviceApi, serviceName);
78+
}
6179
}
6280
}
81+
82+
request(service, serviceApi, serviceName) {
83+
Object.keys(serviceApi).map((method) => {
84+
let parameters = serviceApi[method];
85+
service[method].apply(service, parameters).toPromise()
86+
.then(() => this.requests.push({ serviceName: serviceName.slice(5), method, success: true }))
87+
.catch(() => this.requests.push({ serviceName: serviceName.slice(5), method, success: false }))
88+
});
89+
}
6390
}
6491

0 commit comments

Comments
 (0)